/* v2 — Reglas mobile extraídas mecánicamente de v2-legacy-{a,b,c}.css,
   v2-calendar.css y v2-recurring.css (sin cambios de contenido, solo
   reubicación). Se carga último a propósito: en un empate de
   especificidad, la regla mobile debe ganarle a la de escritorio que
   sobrescribe — cargar este archivo al final garantiza eso sin tener
   que reordenar nada más. Breakpoint canónico: max-width: 768px (ver
   CLAUDE.md). Los bloques @media(max-width:0px) de v2-legacy-c.css
   (diseño mobile anterior guardado como referencia, desactivado a
   propósito) NO se tocan — quedan en su archivo original. */

/* Evitar selección de texto accidental al navegar/scrollear en mobile: un
   swipe que arranca sobre texto (en vez de un espacio vacío) puede
   interpretarse como selección en lugar de scroll, mostrando el menú
   copiar/seleccionar de golpe. Se desactiva globalmente en mobile y se
   reactiva explícitamente en los pocos lugares donde selección/copia es
   el propósito (inputs, textareas, contenteditable, y montos que el
   usuario puede querer copiar a mano). -webkit-touch-callout suma el
   mismo bloqueo para el menú de "copiar" que iOS Safari muestra en
   long-press, aparte de user-select. */
@media (max-width: 768px) {
  body {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  body input,
  body textarea,
  body [contenteditable='true'],
  body select {
    -webkit-user-select: text;
    user-select: text;
    -webkit-touch-callout: default;
  }
}

/* Controles de Ajustes con el acento de sistema de iOS. El color de marca de
   Zenit sigue disponible fuera de esta vista; peligro y estados semánticos
   conservan sus colores propios. */
@media (max-width: 768px) {
  body[data-v2-view='settings'] #settings-view {
    --settings-green: #007aff;
    --settings-control-accent: #007aff;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] #settings-view {
    --settings-green: #0a84ff;
    --settings-control-accent: #0a84ff;
  }

  body[data-v2-view='settings'] #settings-view :is(
    input[type='checkbox'],
    input[type='radio'],
    input[type='range'],
    progress
  ) {
    accent-color: var(--settings-control-accent);
  }

  body[data-v2-view='settings'] #settings-view input.mv7-switch:checked {
    border-color: var(--settings-control-accent);
    background: var(--settings-control-accent);
  }

  body[data-v2-view='settings'] #settings-view :is(
    .mv7-theme-grid > button.is-selected,
    .mv7-category-filters button.is-selected,
    .mv7-settings-segments button.is-active
  ) {
    border-color: var(--settings-control-accent);
    box-shadow: inset 0 0 0 1px var(--settings-control-accent);
  }

  body[data-v2-view='settings'] #settings-view :is(
    input,
    select,
    button,
    a
  ):focus-visible {
    outline-color: color-mix(in srgb, var(--settings-control-accent) 72%, white);
  }

  body[data-v2-view='settings'] #settings-view .mv7-settings-hub .mv7-primary-button:not(.is-danger),
  body[data-v2-view='settings'] #settings-view .mv7-secondary-button.is-accent {
    border-color: var(--settings-control-accent);
    background: var(--settings-control-accent);
    color: #fff;
  }
}

@media (max-width: 768px) {
  body[data-v2-view='settings'] #settings-view :is(.mv7-report-option,#settings-export,#settings-import-trigger) { position: relative; overflow: hidden; }
  body[data-v2-view='settings'] #settings-view .mv7-file-action-status {
    position: absolute; z-index: 8; display: flex; align-items: center; justify-content: center; gap: 9px;
    border-radius: inherit; background: color-mix(in srgb, var(--settings-surface) 94%, transparent);
    color: var(--settings-text); inset: 0; pointer-events: none;
    backdrop-filter: blur(14px) saturate(130%); -webkit-backdrop-filter: blur(14px) saturate(130%);
  }
  body[data-v2-view='settings'] #settings-view .mv7-file-action-status strong { font-size: 13px; font-weight: 680; }
  body[data-v2-view='settings'] #settings-view .mv7-file-action-status i {
    display: grid; width: 18px; height: 18px; place-items: center;
    border: 2px solid color-mix(in srgb, var(--settings-control-accent) 22%, transparent);
    border-top-color: var(--settings-control-accent); border-radius: 50%; animation: mv7-file-action-spin .72s linear infinite;
  }
  body[data-v2-view='settings'] #settings-view .is-file-complete .mv7-file-action-status { color: var(--settings-control-accent); }
  body[data-v2-view='settings'] #settings-view .is-file-complete .mv7-file-action-status i { border-color: var(--settings-control-accent); animation: none; }
  body[data-v2-view='settings'] #settings-view .is-file-complete .mv7-file-action-status i::before {
    width: 8px; height: 4px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor;
    content: ''; transform: translateY(-1px) rotate(-45deg);
  }
  body[data-v2-view='settings'] #settings-view .is-file-error .mv7-file-action-status { color: #ff453a; }
  body[data-v2-view='settings'] #settings-view .is-file-error .mv7-file-action-status i { border-color: currentColor; animation: none; }
  body[data-v2-view='settings'] #settings-view .is-file-error .mv7-file-action-status i::before { content: '!'; font-size: 11px; font-style: normal; font-weight: 800; }
  @keyframes mv7-file-action-spin { to { transform: rotate(360deg); } }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  body[data-v2-view='settings'] #settings-view .mv7-file-action-status i { animation: none; }
}

/* ── de css/v2-legacy-a.css ── */
.mv7-empty-account-visual,
.mv7-empty-activity-visual {
  display: none;
}

@media (max-width: 768px) {
  html body[data-auth-state='active'] .mv7-topbar {
    width: auto !important;
    margin-inline: 8px !important;
  }
  html body[data-auth-state='active'] .mv7-topbar-actions > :is(
    #conn-status-chip,
    .mv7-topbar-streak,
    #privacy-toggle,
    #topbar-login-button
  ) {
    display: none !important;
  }
  html body[data-auth-state='active'] .mv7-mobile-brand,
  html body[data-auth-state='active'] .mv7-mobile-brand strong {
    display: inline-flex !important;
  }
}

/* Cabecera móvil para una sesión activa: controles esenciales en dos piezas
   de vidrio, sin repetir Racha ni privacidad en una zona tan estrecha. */
@media (max-width: 768px) {
  body[data-auth-state='active'] .mv7-topbar {
    position: sticky !important;
    z-index: 48;
    top: 0;
    display: flex !important;
    width: auto;
    min-height: calc(70px + env(safe-area-inset-top)) !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px !important;
    margin: 0 8px;
    padding: max(9px, env(safe-area-inset-top)) 10px 8px !important;
    border: 1px solid color-mix(in srgb, var(--v2-text) 10%, transparent) !important;
    border-radius: 0 0 24px 24px;
    background: color-mix(in srgb, var(--v2-bg) 82%, transparent) !important;
    box-shadow: 0 12px 30px -24px rgba(0, 0, 0, .55) !important;
    backdrop-filter: blur(24px) saturate(135%);
    -webkit-backdrop-filter: blur(24px) saturate(135%);
  }

  body[data-auth-state='active'] .mv7-topbar::after,
  body[data-auth-state='active'] .mv7-page-identity,
  body[data-auth-state='active'] :is(#conn-status-chip, .mv7-topbar-streak, #privacy-toggle, #topbar-login-button) {
    display: none !important;
  }

  body[data-auth-state='active'] .mv7-mobile-topbar-start,
  body[data-auth-state='active'] .mv7-mobile-brand {
    display: flex !important;
    min-width: 0;
    align-items: center;
  }

  body[data-auth-state='active'] .mv7-mobile-topbar-start { gap: 12px; }
  body[data-auth-state='active'] .mv7-mobile-brand { color: var(--v2-text); text-decoration: none; }
  body[data-auth-state='active'] :is(.mv7-mobile-brand-mark, .mv7-mobile-brand-subtitle) { display: none !important; }
  body[data-auth-state='active'] .mv7-mobile-brand strong {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--v2-text) !important;
    font-size: 21px !important;
    font-weight: 750 !important;
    letter-spacing: -.055em !important;
  }
  body[data-auth-state='active'] .mv7-mobile-brand strong::after {
    color: #17b878;
    content: '✦';
    font-size: 17px;
    line-height: 1;
  }

  body[data-auth-state='active'] #sidebar-open {
    display: grid !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--v2-text) 10%, transparent) !important;
    border-radius: 50% !important;
    background: color-mix(in srgb, var(--v2-surface) 88%, transparent) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 8px 20px -16px rgba(0, 0, 0, .7) !important;
    color: var(--v2-text) !important;
  }
  body[data-auth-state='active'] #sidebar-open svg { width: 21px; height: 21px; }

  body[data-auth-state='active'] .mv7-topbar-actions {
    display: grid !important;
    width: auto !important;
    min-width: 94px !important;
    grid-template-columns: 40px 46px !important;
    align-items: center;
    justify-self: end;
    gap: 3px !important;
    padding: 4px !important;
    border: 1px solid color-mix(in srgb, var(--v2-text) 10%, transparent) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--v2-surface) 88%, transparent) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 9px 22px -17px rgba(0, 0, 0, .65) !important;
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
  }
  body[data-auth-state='active'] .mv7-topbar-actions::before { display: none !important; content: none; }
  body[data-auth-state='active'] #notification-bell,
  body[data-auth-state='active'] #profile-button {
    display: grid !important;
    padding: 0 !important;
    place-items: center;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--v2-text) !important;
  }
  body[data-auth-state='active'] #notification-bell {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    grid-column: 1;
    grid-row: 1;
  }
  body[data-auth-state='active'] #profile-button {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    border: 0 !important;
    background: color-mix(in srgb, var(--v2-text) 5%, var(--v2-surface)) !important;
  }
  body[data-auth-state='active'] #notification-bell svg { width: 21px; height: 21px; }
  body[data-auth-state='active'] #profile-button :is(img, #profile-initial) { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
  body[data-auth-state='active'] #profile-button #profile-initial { display: grid; place-items: center; }
  body[data-auth-state='active'] #profile-button .mv7-profile-chevron { display: none !important; }
}

.mv7-composer-change {
  display: none;
}

@media (max-width: 768px) {
  #transaction-composer.is-editing {
    width: min(456px, calc(100% - 28px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    border-color: rgba(224, 233, 241, 0.34);
    border-radius: 25px;
    background:
      linear-gradient(145deg, rgba(42, 50, 57, 0.92), rgba(16, 21, 25, 0.96)),
      #12171b;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.14),
      0 34px 90px rgba(0, 0, 0, 0.58);
    color: #f7f8fa;
  }

  #transaction-composer.is-editing::backdrop {
    background: rgba(1, 5, 8, 0.72);
    backdrop-filter: blur(12px) saturate(80%);
    -webkit-backdrop-filter: blur(12px) saturate(80%);
  }

  #transaction-composer.is-editing #composer-form {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 34px 22px 20px;
  }

  #transaction-composer.is-editing #composer-form::before {
    position: absolute;
    top: 10px;
    left: 50%;
    width: 46px;
    height: 5px;
    border-radius: 999px;
    background: rgba(235, 240, 246, 0.4);
    content: '';
    transform: translateX(-50%);
  }

  #transaction-composer.is-editing header {
    order: 0;
    margin-bottom: 14px;
  }

  #transaction-composer.is-editing header > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  #transaction-composer.is-editing header h2 {
    order: 1;
    margin: 0;
    color: #f7f8fa;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.025em;
  }

  #transaction-composer.is-editing #composer-eyebrow {
    order: 2;
    margin: 0;
    color: #aeb7c2 !important;
    font-size: 12px;
    font-weight: 450;
    letter-spacing: 0;
    text-transform: none;
  }

  #transaction-composer.is-editing #close-composer {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #f7f8fa;
  }

  #transaction-composer.is-editing .mv7-create-dialog-mark {
    display: none;
  }

  #transaction-composer.is-editing .mv7-type-switch {
    order: 1;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    margin: 0 0 10px;
    padding: 4px;
    border-color: rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(3, 7, 10, 0.24);
  }

  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='income']) { order: 1; }
  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='expense']) { order: 2; }
  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='transfer']) { order: 3; }

  #transaction-composer.is-editing .mv7-type-switch span {
    min-height: 42px;
    border-radius: 14px;
    color: #c2c9d1;
    font-size: 12px;
  }

  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='income']) span::before {
    margin-right: 8px;
    color: #42e3a6;
    content: '↑';
    font-size: 20px;
  }

  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='expense']) span::before {
    margin-right: 8px;
    content: '↓';
    font-size: 20px;
  }

  #transaction-composer.is-editing .mv7-type-switch label:has(input[value='transfer']) span::before {
    margin-right: 6px;
    content: '⇄';
    font-size: 17px;
  }

  #transaction-composer.is-editing .mv7-type-switch span {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #transaction-composer.is-editing .mv7-type-switch input:checked + span {
    border: 1px solid rgba(57, 226, 160, 0.58);
    background: linear-gradient(135deg, rgba(26, 151, 104, 0.55), rgba(31, 107, 80, 0.5));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.12), 0 6px 18px rgba(0, 200, 130, 0.12);
    color: #f5fffb;
  }

  #transaction-composer.is-editing > form > .mv7-field[name],
  #transaction-composer.is-editing .mv7-form-row {
    min-width: 0;
  }

  #transaction-composer.is-editing .mv7-form-row {
    display: contents;
  }

  #transaction-composer.is-editing .mv7-field {
    margin: 0;
  }

  #transaction-composer.is-editing .mv7-field:has(#composer-amount) {
    position: relative;
    order: 2;
    min-height: 92px;
    margin-bottom: 4px;
    padding: 37px 14px 9px 62px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(2, 6, 9, 0.18);
  }

  #transaction-composer.is-editing .mv7-field:has(#composer-amount) > span {
    position: absolute;
    top: 13px;
    left: 14px;
    color: #aeb7c2;
    font-size: 11px;
  }

  #transaction-composer.is-editing .mv7-field:has(#composer-amount)::before {
    position: absolute;
    bottom: 16px;
    left: 14px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: rgba(31, 187, 128, 0.11);
    color: #39dfa1;
    content: '+';
    font-size: 28px;
    font-weight: 400;
  }

  #transaction-composer.is-editing .mv7-field:has(#composer-amount)::after {
    position: absolute;
    bottom: 24px;
    left: 62px;
    color: #f7f8fa;
    content: 'Gs.';
    font-size: 25px;
    font-weight: 720;
    letter-spacing: -0.04em;
    pointer-events: none;
  }

  #transaction-composer.is-editing #composer-amount {
    height: 42px;
    padding: 0 0 0 43px;
    border: 0;
    background: transparent;
    color: #f7f8fa;
    box-shadow: none;
    font-size: clamp(23px, 7vw, 31px);
    font-weight: 720;
    letter-spacing: -0.04em;
  }

  #transaction-composer.is-editing .mv7-field:has(> :is(input, select)):not(:has(#composer-amount)) {
    display: grid;
    min-height: 54px;
    grid-template-columns: 30px 94px minmax(0, 1fr) 12px;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  }

  #transaction-composer.is-editing .mv7-field:has([name='name']) { order: 3; }
  #transaction-composer.is-editing .mv7-field:has([name='category']) { order: 4; }
  #transaction-composer.is-editing .mv7-field:has([name='account']) { order: 5; }
  #transaction-composer.is-editing .mv7-field:has([name='date']) { order: 6; }
  #transaction-composer.is-editing #composer-to-account-field { order: 7; }

  #transaction-composer.is-editing .mv7-field:has(> :is(input, select)):not(:has(#composer-amount))::before {
    color: #cad2dc;
    content: '▤';
    font-size: 18px;
    text-align: center;
  }

  #transaction-composer.is-editing .mv7-field:has([name='category'])::before { content: '↗'; }
  #transaction-composer.is-editing .mv7-field:has([name='account'])::before,
  #transaction-composer.is-editing .mv7-field:has([name='toAccount'])::before { content: '▥'; }
  #transaction-composer.is-editing .mv7-field:has([name='date'])::before { content: '□'; }

  #transaction-composer.is-editing .mv7-field:has(> :is(input, select)):not(:has(#composer-amount))::after {
    color: #8f99a5;
    content: '›';
    font-size: 25px;
  }

  #transaction-composer.is-editing .mv7-field:has(> :is(input, select)):not(:has(#composer-amount)) > span {
    color: #aeb7c2;
    font-size: 11px;
  }

  #transaction-composer.is-editing .mv7-field:has(> :is(input, select)):not(:has(#composer-amount)) > :is(input, select) {
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #f7f8fa;
    box-shadow: none;
    font-size: 12px;
    -webkit-text-fill-color: #f7f8fa;
  }

  #transaction-composer.is-editing .mv7-composer-change {
    order: 8;
    display: grid;
    min-height: 70px;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 11px 14px;
    border: 1px solid rgba(53, 213, 151, 0.24);
    border-radius: 16px;
    background: rgba(25, 137, 96, 0.13);
    color: #42e3a6;
  }

  #transaction-composer.is-editing .mv7-composer-change[hidden] { display: none; }
  #transaction-composer.is-editing .mv7-composer-change.is-negative {
    border-color: rgba(255, 105, 105, 0.25);
    background: rgba(184, 55, 55, 0.12);
    color: #ff8989;
  }

  #transaction-composer.is-editing .mv7-composer-change > span { font-size: 28px; }
  #transaction-composer.is-editing .mv7-composer-change p { display: grid; gap: 4px; margin: 0; }
  #transaction-composer.is-editing .mv7-composer-change strong { color: #f7f8fa; font-size: 12px; }
  #transaction-composer.is-editing .mv7-composer-change small { color: currentColor; font-size: 11px; }

  #transaction-composer.is-editing footer {
    order: 9;
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 12px;
    margin-top: 18px;
  }

  #transaction-composer.is-editing footer button {
    min-height: 48px;
    border-radius: 999px;
  }

  #transaction-composer.is-editing #cancel-composer {
    border: 0;
    background: transparent;
    color: #c4cbd3;
  }

  #transaction-composer.is-editing #composer-submit {
    border: 0;
    background: linear-gradient(135deg, #ffffff, #e7ebf3);
    color: #090b0d;
    box-shadow: inset 0 1px #fff, 0 8px 24px rgba(0, 0, 0, 0.25);
    font-weight: 720;
  }
}

/* Inicio conectado: Racha, Notificaciones y Perfil comparten una sola
   superficie de cristal. Cada segmento conserva su propia acción. */
@media (max-width: 768px) {
  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    display: grid;
    width: auto;
    flex: 0 0 auto;
    grid-template-columns: 44px 42px 44px;
    gap: 0;
    padding: 3px;
    overflow: visible;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #conn-status-chip:not([hidden]),
  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #privacy-toggle {
    display: none !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    position: relative;
    height: 44px;
    min-height: 44px;
    margin: 0;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    color: #1c1c1e;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-streak {
    width: 44px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #notification-bell {
    width: 42px;
    min-width: 42px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button {
    width: 44px;
    min-width: 44px;
    justify-content: center;
    padding: 2px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(#notification-bell, #profile-button)::before {
    position: absolute;
    top: 11px;
    bottom: 11px;
    left: 0;
    width: 1px;
    border-radius: 1px;
    background: rgba(60, 60, 67, 0.11);
    content: '';
    pointer-events: none;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(.mv7-topbar-streak, #notification-bell, #profile-button):is(:hover, :focus-visible) {
    background: rgba(118, 118, 128, 0.1) !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(.mv7-topbar-streak, #notification-bell, #profile-button):active {
    background: rgba(118, 118, 128, 0.16) !important;
    transform: scale(0.97);
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.62),
      0 5px 12px -9px rgba(28, 28, 30, 0.7);
  }

  body[data-v2-view='overview'] #profile-button .mv7-profile-chevron {
    display: none;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button::after {
    right: 1px;
    bottom: 3px;
    left: auto;
    width: 7px;
    height: 7px;
    border-color: rgba(250, 250, 250, 0.98);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(#notification-bell, #profile-button)::before {
    background: rgba(255, 255, 255, 0.11);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #profile-button
    #profile-initial {
    border-color: rgba(255, 255, 255, 0.13);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      0 6px 14px -9px rgba(0, 0, 0, 0.95);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button::after {
    border-color: #252527;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 40px 39px 42px;
    gap: 0;
    padding: 3px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-streak {
    width: 40px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #notification-bell {
    width: 39px;
    min-width: 39px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button {
    width: 42px;
    min-width: 42px;
    padding: 2px;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button::after {
    right: 0;
  }
}


/* Inicio móvil: racha integrada y estado Pro. Ambos componentes quedan fuera
   del layout de escritorio y reutilizan la navegación/datos reales de Zenit. */
.mv7-topbar-pro,
.mv7-mobile-balance-streak {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: 57px repeat(3, 36px);
    width: auto;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:has(#conn-status-chip:not([hidden])) {
    grid-template-columns: repeat(4, 36px);
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:has(#conn-status-chip:not([hidden]))
    .mv7-topbar-pro {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-pro {
    display: inline-flex;
    width: 53px;
    height: 32px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 2px;
    border: 1px solid rgba(216, 153, 55, 0.18);
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(255, 249, 236, 0.9), rgba(246, 224, 187, 0.72));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 7px 16px -12px rgba(159, 97, 10, 0.6);
    color: #ad6800;
    pointer-events: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-pro svg {
    width: 15px;
    height: 15px;
    fill: color-mix(in srgb, currentColor 18%, transparent);
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
  }

  body[data-v2-view='overview'] .mv7-topbar-pro strong {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 252px !important;
    padding: 25px 22px 22px !important;
    isolation: isolate;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary::after {
    position: absolute;
    z-index: 0;
    top: 20px;
    right: 7%;
    width: 44%;
    height: 76%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 171, 84, 0.15), transparent 69%);
    content: '';
    pointer-events: none;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > p,
  body[data-v2-view='overview'] .mv7-mobile-balance-privacy,
  body[data-v2-view='overview'] .mv7-mobile-balance-orbit {
    display: none !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    width: 54%;
    max-width: 220px;
    margin-top: 14px;
    font-size: clamp(25px, 7vw, 34px);
    line-height: 1.02;
    letter-spacing: -0.052em;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-compact-value,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    font-size: clamp(23px, 6.5vw, 31px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    width: 52%;
    margin-top: 17px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot .mv7-metric-history-link {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak {
    position: absolute;
    z-index: 2;
    top: 42px;
    right: 12px;
    display: grid;
    width: 47%;
    height: 154px;
    grid-template-columns: minmax(72px, 1.08fr) minmax(66px, 0.92fr);
    align-items: center;
    color: var(--home-text);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-art {
    position: relative;
    display: grid;
    min-width: 0;
    place-items: center;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-art::after {
    position: absolute;
    right: 10%;
    bottom: 10%;
    left: 10%;
    height: 18%;
    border-radius: 50%;
    background: rgba(255, 150, 59, 0.18);
    filter: blur(12px);
    content: '';
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-art img {
    position: relative;
    z-index: 1;
    display: block;
    width: min(116px, 125%);
    max-width: none;
    height: auto;
    filter: drop-shadow(0 13px 15px rgba(221, 101, 19, 0.2));
    transform: translateX(-3px);
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.08;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-copy > strong {
    display: flex;
    align-items: baseline;
    gap: 3px;
    font-size: clamp(22px, 6.3vw, 29px);
    font-weight: 750;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-copy > strong small {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-label {
    margin-top: -1px;
    font-size: 13px;
    font-weight: 680;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-note {
    max-width: 76px;
    margin-top: 7px;
    color: var(--home-muted);
    font-size: 9px;
    line-height: 1.22;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-days {
    display: flex;
    gap: 3px;
    margin-top: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-days i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--home-muted) 38%, transparent);
    box-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--home-text) 8%, transparent);
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-days i.is-active {
    background: #ff8737;
    box-shadow: 0 0 8px rgba(255, 126, 42, 0.36);
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-record {
    margin-top: 7px;
    color: var(--home-muted);
    font-size: 9px;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-record b {
    color: inherit;
    font-weight: 650;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-arrow {
    position: absolute;
    top: 63px;
    right: -1px;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: var(--home-muted);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak:active {
    transform: scale(0.985);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-topbar-pro {
    border-color: rgba(255, 184, 77, 0.16);
    background: linear-gradient(145deg, rgba(82, 56, 21, 0.72), rgba(52, 38, 20, 0.58));
    box-shadow:
      inset 0 1px 0 rgba(255, 240, 208, 0.08),
      0 8px 18px -13px rgba(255, 168, 54, 0.36);
    color: #ffbd5b;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary::after {
    background: radial-gradient(circle, rgba(255, 126, 42, 0.09), transparent 70%);
  }
}

/* AssistiveTouch de Zenit: control auxiliar, sin ninguna acción financiera
   directa. Abre accesos reales de la aplicación y puede moverse libremente. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch {
    position: fixed;
    z-index: 55;
    right: max(17px, calc((100vw - 520px) / 2 + 17px));
    bottom: max(10px, env(safe-area-inset-bottom));
    left: auto;
    display: grid;
    width: 60px;
    min-width: 60px;
    height: 60px;
    min-height: 60px;
    place-items: center;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: #17201c;
    cursor: grab;
    pointer-events: auto;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  body[data-v2-view='overview']
    #overview-view
    > .mv7-assistive-touch.is-positioned {
    top: var(--assistive-y);
    right: auto;
    bottom: auto;
    left: var(--assistive-x);
  }

  body:not([data-v2-view='overview']) #overview-view > .mv7-assistive-touch,
  body:not([data-v2-view='overview']) #mobile-assistive-menu {
    display: none !important;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-core {
    grid-template-columns: repeat(2, 4px);
    grid-template-rows: repeat(2, 4px);
    gap: 4px;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-core i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.34);
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch.is-menu-open {
    color: var(--home-accent);
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--home-accent) 52%, transparent);
    outline-offset: 4px;
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch.is-dragging {
    cursor: grabbing;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu {
    position: fixed;
    z-index: 54;
    top: var(--assistive-menu-y, auto);
    left: var(--assistive-menu-x, auto);
    display: grid;
    width: min(218px, calc(100vw - 20px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 26px;
    background:
      radial-gradient(circle at 22% 4%, rgba(255, 255, 255, 0.88), transparent 42%),
      rgba(242, 246, 244, 0.76);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.96),
      0 2px 6px rgba(28, 44, 36, 0.12),
      0 24px 55px -18px rgba(28, 44, 36, 0.42);
    color: #151917;
    backdrop-filter: blur(34px) saturate(1.7);
    -webkit-backdrop-filter: blur(34px) saturate(1.7);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu[hidden] {
    display: none !important;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button {
    display: flex;
    min-width: 0;
    min-height: 78px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 5px;
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(225, 233, 229, 0.46));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      0 8px 18px -14px rgba(31, 51, 41, 0.42);
    color: inherit;
    cursor: pointer;
    font: inherit;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.64);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 6px 14px -10px rgba(25, 43, 34, 0.55);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu strong {
    overflow: hidden;
    max-width: 100%;
    font-size: 10px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button:active {
    transform: scale(0.97);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #overview-view
    > .mv7-assistive-touch {
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-menu {
    border-color: rgba(255, 255, 255, 0.14);
    background:
      radial-gradient(circle at 22% 4%, rgba(255, 255, 255, 0.12), transparent 42%),
      rgba(28, 28, 30, 0.8);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 2px 8px rgba(0, 0, 0, 0.44),
      0 28px 60px -16px rgba(0, 0, 0, 0.92);
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-assistive-menu
    button {
    border-color: rgba(255, 255, 255, 0.1);
    background: linear-gradient(145deg, rgba(72, 72, 76, 0.72), rgba(31, 31, 34, 0.64));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 9px 20px -14px rgba(0, 0, 0, 0.9);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-assistive-menu
    button
    > span {
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.08);
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  body[data-v2-view='overview'] .mv7-assistive-menu {
    transform-origin: 50% 100%;
    animation: mv7-assistive-menu-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }
}

@keyframes mv7-assistive-menu-in {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(6px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@media (max-width: 430px) {
  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: none;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: 48px repeat(3, 34px);
  }

  body[data-v2-view='overview'] .mv7-topbar-pro {
    width: 44px;
  }

  body[data-v2-view='overview'] .mv7-topbar-pro strong {
    font-size: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-note {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak-days {
    margin-top: 9px;
  }
}

/* Settings mobile — Security, Danger zone and Reports (Apple glass composition). */
.mv7-reports-mobile-hero,
.mv7-report-tags,
.mv7-security-mobile-recommendation,
.mv7-security-mobile-section-title,
.mv7-security-mobile-row-arrow,
.mv7-security-mobile-footnote,
.mv7-settings-mobile-danger-backup,
.mv7-settings-mobile-danger-help,
.mv7-danger-row-icon,
.mv7-danger-card .mv7-settings-row > span > em {
  display: none;
}

@media (max-width: 780px) {
  body[data-v2-view='settings'] .mv7-reports-workspace,
  body[data-v2-view='settings'] .mv7-security-workspace,
  body[data-v2-view='settings'] [data-settings-panel='danger'] {
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
    padding-bottom: max(30px, env(safe-area-inset-bottom));
  }

  body[data-v2-view='settings'] :is(.mv7-reports-workspace, .mv7-security-workspace, [data-settings-panel='danger']) > .mv7-settings-title {
    margin: 2px 10px 22px;
  }

  body[data-v2-view='settings'] :is(.mv7-reports-workspace, .mv7-security-workspace, [data-settings-panel='danger']) > .mv7-settings-title h3 {
    color: #101522;
    font-size: clamp(36px, 10vw, 52px);
    font-weight: 750;
    letter-spacing: -0.045em;
    line-height: 0.98;
  }

  body[data-v2-view='settings'] :is(.mv7-reports-workspace, .mv7-security-workspace, [data-settings-panel='danger']) > .mv7-settings-title p {
    margin-top: 10px;
    color: #647087;
    font-size: 16px;
    line-height: 1.4;
  }

  /* Reports */
  body[data-v2-view='settings'] .mv7-reports-mobile-hero {
    position: relative;
    display: grid;
    min-height: 290px;
    margin: 0 2px 18px;
    padding: 24px 20px;
    overflow: hidden;
    border: 1px solid rgba(28, 51, 87, 0.1);
    border-radius: 24px;
    background:
      radial-gradient(circle at 76% 32%, rgba(209, 226, 255, 0.72), transparent 37%),
      rgba(255, 255, 255, 0.66);
    box-shadow: 0 18px 48px -34px rgba(39, 58, 91, 0.42), inset 0 1px 0 #fff;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-benefits {
    position: relative;
    z-index: 2;
    width: 48%;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-benefits h4 {
    margin: 0 0 22px;
    color: #111827;
    font-size: 21px;
    line-height: 1.18;
    letter-spacing: -0.025em;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-benefits p {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 10px;
    align-items: center;
    margin: 0 0 15px;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-benefits p > i {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    background: rgba(226, 237, 255, 0.76);
    color: #215cab;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-benefits svg { width: 18px; height: 18px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits span { min-width: 0; }
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits strong,
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits small { display: block; }
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits strong { color: #182033; font-size: 13px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits small { margin-top: 2px; color: #647087; font-size: 11px; line-height: 1.3; }

  body[data-v2-view='settings'] .mv7-reports-mobile-art {
    position: absolute;
    z-index: 1;
    inset: 22px 12px 18px 48%;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-art > span {
    position: absolute;
    display: block;
    width: 128px;
    height: 174px;
    padding: 15px;
    border: 1px solid rgba(36, 65, 107, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 22px 42px -22px rgba(24, 49, 90, 0.48), inset 0 1px 0 #fff;
  }

  body[data-v2-view='settings'] .mv7-reports-mobile-art .is-sheet { left: 0; top: 0; transform: scale(.88); }
  body[data-v2-view='settings'] .mv7-reports-mobile-art .is-pdf { left: 48px; top: 33px; z-index: 2; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art .is-summary { left: 101px; top: 72px; z-index: 3; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art b { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 6px; background: #147c48; color: white; font-size: 10px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art .is-pdf b { width: 34px; background: #ef3d4b; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art .is-summary b { background: #3479df; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art b svg { width: 15px; height: 15px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art strong,
  body[data-v2-view='settings'] .mv7-reports-mobile-art small { display: block; margin-top: 11px; color: #172033; font-size: 10px; white-space: nowrap; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art small { margin-top: 3px; color: #6b7588; font-size: 8px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art i { display: block; height: 5px; margin-top: 12px; border-radius: 9px; background: #dbe3ef; box-shadow: 0 13px #e7ecf4, 0 26px #e7ecf4, 0 39px #e7ecf4; }

  body[data-v2-view='settings'] .mv7-reports-card {
    margin: 0 2px;
    padding: 18px;
    border-radius: 24px;
    border-color: rgba(28, 51, 87, 0.1);
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 18px 48px -36px rgba(39, 58, 91, 0.4), inset 0 1px 0 #fff;
  }

  body[data-v2-view='settings'] .mv7-reports-header { padding: 0 0 16px; }
  body[data-v2-view='settings'] .mv7-reports-header-icon { width: 46px; height: 46px; border-radius: 13px; }
  body[data-v2-view='settings'] .mv7-reports-header h4 { font-size: 18px; }
  body[data-v2-view='settings'] .mv7-reports-count { display: none; }
  body[data-v2-view='settings'] .mv7-report-options { gap: 0; }
  body[data-v2-view='settings'] .mv7-report-option {
    grid-template-columns: 54px minmax(0, 1fr) 48px;
    min-height: 112px;
    padding: 15px 0;
    border: 0;
    border-top: 1px solid rgba(36, 54, 82, 0.1);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  body[data-v2-view='settings'] .mv7-report-format-icon { width: 50px; height: 50px; border-radius: 13px; }
  body[data-v2-view='settings'] .mv7-report-copy strong { font-size: 17px; }
  body[data-v2-view='settings'] .mv7-report-copy strong i { font-style: normal; }
  body[data-v2-view='settings'] .mv7-report-copy small { margin-top: 4px; font-size: 12px; }
  body[data-v2-view='settings'] .mv7-report-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
  body[data-v2-view='settings'] .mv7-report-tags em { padding: 2px 7px; border: 1px solid rgba(50, 79, 121, .2); border-radius: 6px; color: #53627a; font-size: 9px; font-style: normal; }
  body[data-v2-view='settings'] .mv7-report-download { width: 46px; height: 46px; border-radius: 13px; color: #0878ef; background: rgba(255,255,255,.62); border: 1px solid rgba(35,70,115,.15); }
  body[data-v2-view='settings'] .mv7-reports-note { margin: 18px -16px -16px; padding: 18px 16px; border-top: 1px solid rgba(36,54,82,.1); color: #56647a; }

  /* Security */
  body[data-v2-view='settings'] .mv7-security-layout,
  body[data-v2-view='settings'] .mv7-security-main,
  body[data-v2-view='settings'] .mv7-security-rail { display: block; }
  body[data-v2-view='settings'] .mv7-security-rail[hidden] { display: none !important; }
  body[data-v2-view='settings'] .mv7-security-hero { display: block; margin: 0 2px 22px; padding: 0; border: 0; background: transparent; box-shadow: none; }
  body[data-v2-view='settings'] .mv7-security-hero > :not(.mv7-security-mobile-recommendation) { display: none !important; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation {
    display: grid;
    width: 100%;
    grid-template-columns: 64px minmax(0,1fr) 20px;
    gap: 15px;
    align-items: center;
    padding: 20px;
    border: 1px solid rgba(39,77,131,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 44px -34px rgba(30,51,85,.48), inset 0 1px 0 #fff;
    color: #162035;
    text-align: left;
  }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation > i { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, rgba(233,242,255,.9), rgba(211,229,255,.65)); color: #0878ef; box-shadow: 0 0 0 10px rgba(228,239,255,.55); }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation > i svg { width: 36px; height: 36px; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation span > * { display: block; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation strong { font-size: 17px; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation b { margin-top: 6px; color: #23314d; font-size: 14px; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation small { margin-top: 4px; color: #68758b; font-size: 12px; line-height: 1.35; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation > svg { width: 20px; height: 20px; color: #0878ef; }
  body[data-v2-view='settings'] .mv7-security-mobile-section-title { display: block; margin: 22px 10px 10px; color: #657188; font-size: 14px; }
  body[data-v2-view='settings'] .mv7-security-mobile-section-title:has(+ [hidden]) { display: none; }
  body[data-v2-view='settings'] .mv7-security-access,
  body[data-v2-view='settings'] .mv7-security-sessions,
  body[data-v2-view='settings'] .mv7-security-rail > .mv7-settings-card {
    margin: 0 2px;
    padding: 0 18px;
    border: 1px solid rgba(39,77,131,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.7);
    box-shadow: 0 18px 44px -35px rgba(30,51,85,.45), inset 0 1px 0 #fff;
  }
  body[data-v2-view='settings'] .mv7-security-access > h4 { display: none; }
  body[data-v2-view='settings'] .mv7-security-access-row,
  body[data-v2-view='settings'] .mv7-security-access-row.is-visual-only {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto auto;
    min-height: 88px;
    gap: 10px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(36,54,82,.1);
  }
  body[data-v2-view='settings'] .mv7-security-access-row:last-child { border-bottom: 0; }
  body[data-v2-view='settings'] .mv7-security-row-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(237,240,246,.8); color: #172033; }
  body[data-v2-view='settings'] .mv7-security-row-icon svg { width: 23px; height: 23px; }
  body[data-v2-view='settings'] .mv7-security-access-row > span:nth-child(2) strong { font-size: 16px; }
  body[data-v2-view='settings'] .mv7-security-access-row > span:nth-child(2) small { max-width: 300px; margin-top: 3px; color: #68758b; font-size: 12px; line-height: 1.3; }
  body[data-v2-view='settings'] .mv7-security-access-row > em { color: #6c778d; font-size: 12px; white-space: nowrap; }
  body[data-v2-view='settings'] .mv7-security-access-row > button { min-width: 0; padding: 8px 10px; border: 0; background: transparent; color: #0878ef; box-shadow: none; }
  body[data-v2-view='settings'] .mv7-security-access-row > select { max-width: 105px; padding: 8px 22px 8px 8px; border: 0; background-color: transparent; color: #637088; font-size: 12px; }
  body[data-v2-view='settings'] .mv7-security-access-row > .mv7-switch { justify-self: end; }
  body[data-v2-view='settings'] .mv7-security-sessions { padding: 15px 18px; }
  body[data-v2-view='settings'] .mv7-security-sessions > h4 { font-size: 17px; }
  body[data-v2-view='settings'] .mv7-security-sessions > p { color: #68758b; font-size: 12px; }
  body[data-v2-view='settings'] .mv7-security-sessions > .mv7-secondary-button { width: 100%; margin-top: 12px; color: #0878ef; }
  body[data-v2-view='settings'] .mv7-security-rail { margin: 0; }
  body[data-v2-view='settings'] .mv7-security-rail > .mv7-settings-card:first-child { display: none; }
  body[data-v2-view='settings'] .mv7-security-activity-card { position: relative; padding: 16px 48px 16px 18px !important; }
  body[data-v2-view='settings'] .mv7-security-activity-card > h4 { font-size: 16px; }
  body[data-v2-view='settings'] .mv7-security-mobile-row-arrow { position: absolute; right: 18px; top: 50%; display: block; width: 18px; height: 18px; transform: translateY(-50%); color: #748096; }
  body[data-v2-view='settings'] .mv7-security-alert { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; margin-top: 16px !important; padding: 16px 18px !important; border-color: rgba(255,59,48,.22) !important; background: rgba(255,245,245,.72) !important; }
  body[data-v2-view='settings'] .mv7-security-alert-title { grid-column: 1; }
  body[data-v2-view='settings'] .mv7-security-alert p { grid-column: 1; margin: 0; color: #68758b; font-size: 12px; }
  body[data-v2-view='settings'] .mv7-security-alert .mv7-danger-button { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: auto; padding: 9px; border: 0; font-size: 0; background: transparent; }
  body[data-v2-view='settings'] .mv7-security-alert .mv7-danger-button::after { content: 'Revisar'; color: #ff3b30; font-size: 13px; }
  body[data-v2-view='settings'] .mv7-security-mobile-footnote { display: flex; justify-content: center; gap: 7px; align-items: center; margin: 18px 0 0; color: #7a8496; font-size: 11px; }
  body[data-v2-view='settings'] .mv7-security-mobile-footnote svg { width: 13px; height: 13px; }

  /* Danger zone */
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 15px;
    align-items: center;
    margin: 0 2px 16px;
    padding: 20px;
    border: 1px solid rgba(255,59,48,.32);
    border-radius: 20px;
    background: rgba(255,247,247,.72);
    color: #d44848;
  }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning svg { width: 42px; height: 42px; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning span > * { display: block; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning strong { color: #202637; font-size: 15px; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning small { margin-top: 4px; color: #68758b; font-size: 12px; line-height: 1.35; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-backup,
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-help {
    display: grid;
    width: calc(100% - 4px);
    grid-template-columns: 46px minmax(0,1fr) auto 16px;
    gap: 12px;
    align-items: center;
    margin: 0 2px 16px;
    padding: 16px;
    border: 1px solid rgba(39,77,131,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.66);
    box-shadow: 0 16px 40px -34px rgba(30,51,85,.46), inset 0 1px 0 #fff;
    color: #182033;
    text-align: left;
  }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-backup > i { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #eef4ff; color: #286dd1; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-backup svg,
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-help > svg { width: 20px; height: 20px; }
  body[data-v2-view='settings'] :is(.mv7-settings-mobile-danger-backup,.mv7-settings-mobile-danger-help) span > * { display: block; }
  body[data-v2-view='settings'] :is(.mv7-settings-mobile-danger-backup,.mv7-settings-mobile-danger-help) strong { font-size: 13px; }
  body[data-v2-view='settings'] :is(.mv7-settings-mobile-danger-backup,.mv7-settings-mobile-danger-help) small { margin-top: 3px; color: #68758b; font-size: 11px; line-height: 1.3; }
  body[data-v2-view='settings'] :is(.mv7-settings-mobile-danger-backup,.mv7-settings-mobile-danger-help) > b { color: #0878ef; font-size: 12px; white-space: nowrap; }
  body[data-v2-view='settings'] .mv7-danger-card { margin: 0 2px; padding: 0 18px; border-radius: 22px; background: rgba(255,255,255,.68); }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row {
    display: grid;
    grid-template-columns: 50px minmax(0,1fr);
    gap: 13px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(36,54,82,.1);
  }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row:last-child { border-bottom: 0; }
  body[data-v2-view='settings'] .mv7-danger-row-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: rgba(255,235,235,.85); color: #ef4a49; }
  body[data-v2-view='settings'] .mv7-danger-row-icon svg { width: 24px; height: 24px; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > strong { font-size: 17px; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > small { margin-top: 5px; color: #657188; font-size: 12px; line-height: 1.45; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > em { display: grid; grid-template-columns: 32px 1fr; margin-top: 14px; padding: 10px; border: 1px solid rgba(39,77,131,.1); border-radius: 12px; color: #20283a; font-style: normal; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > em svg { grid-row: 1 / span 2; width: 19px; height: 19px; color: #7a8495; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > em b { font-size: 11px; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > span > em small { color: #657188; font-size: 10px; }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > button {
    grid-column: 2;
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 8px;
    margin-top: 2px;
    padding: 12px;
    border: 1px solid rgba(255,59,48,.52);
    border-radius: 12px;
    background: transparent;
    color: #ff3b30;
    font-size: 13px;
  }
  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row > button svg { width: 16px; height: 16px; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-help { margin-top: 16px; border: 0; background: transparent; box-shadow: none; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-help > svg:first-child { width: 32px; height: 32px; color: #8791a1; }

  /* Dark variants preserve the same hierarchy without luminous white cards. */
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-reports-workspace,.mv7-security-workspace,[data-settings-panel='danger']) > .mv7-settings-title h3 { color: #f5f5f7; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-reports-workspace,.mv7-security-workspace,[data-settings-panel='danger']) > .mv7-settings-title p,
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-security-mobile-section-title { color: #98989f; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-reports-mobile-hero,.mv7-reports-card,.mv7-security-mobile-recommendation,.mv7-security-access,.mv7-security-sessions,.mv7-security-rail > .mv7-settings-card,.mv7-settings-mobile-danger-backup,.mv7-danger-card) {
    border-color: rgba(255,255,255,.1);
    background: rgba(31,31,34,.74);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 20px 48px -32px rgba(0,0,0,.85);
  }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-reports-mobile-hero { background: radial-gradient(circle at 76% 32%, rgba(55,90,145,.24), transparent 38%), rgba(31,31,34,.75); }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-reports-mobile-benefits h4,.mv7-reports-mobile-benefits strong,.mv7-security-mobile-recommendation,.mv7-security-mobile-recommendation b,.mv7-settings-mobile-danger-warning strong,.mv7-settings-mobile-danger-backup,.mv7-danger-card .mv7-settings-row > span > em) { color: #f5f5f7; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-reports-mobile-benefits small,.mv7-security-mobile-recommendation small,.mv7-security-access-row > span:nth-child(2) small,.mv7-settings-mobile-danger-warning small,.mv7-settings-mobile-danger-backup small,.mv7-danger-card .mv7-settings-row > span > small) { color: #a3a3aa; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-reports-mobile-art > span { border-color: rgba(255,255,255,.1); background: rgba(50,50,54,.94); box-shadow: 0 24px 48px -25px #000; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-reports-mobile-art :is(strong,small) { color: #ededf0; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning { border-color: rgba(255,69,58,.3); background: rgba(72,30,30,.42); }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-security-alert { background: rgba(74,31,31,.46) !important; }
}

/* Drawer móvil — composición Apple, separada del sidebar de escritorio. */
@media (max-width: 768px) {
  #mv7-sidebar.mv7-sidebar {
    --mv7-drawer-bg: rgba(28,28,30,.97);
    --mv7-drawer-surface: rgba(44,44,46,.82);
    --mv7-drawer-surface-soft: rgba(118,118,128,.2);
    --mv7-drawer-text: #f5f5f7;
    --mv7-drawer-muted: #98989d;
    --mv7-drawer-line: rgba(84,84,88,.58);
    width: min(360px,76vw);
    border-radius: 0 30px 30px 0;
    background: var(--mv7-drawer-bg);
    box-shadow: 28px 0 72px rgba(0,0,0,.48);
    backdrop-filter: blur(34px) saturate(150%);
    -webkit-backdrop-filter: blur(34px) saturate(150%);
  }

  :root[data-resolved-theme='light'] #mv7-sidebar.mv7-sidebar {
    --mv7-drawer-bg: rgba(251,251,253,.97);
    --mv7-drawer-surface: rgba(242,242,247,.82);
    --mv7-drawer-surface-soft: rgba(118,118,128,.12);
    --mv7-drawer-text: #1c1c1e;
    --mv7-drawer-muted: #6e6e73;
    --mv7-drawer-line: rgba(60,60,67,.14);
    box-shadow: 28px 0 72px rgba(44,44,46,.22);
  }

  #mv7-sidebar .mv7-mobile-drawer {
    padding: max(25px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));
  }

  #mv7-sidebar .mv7-mobile-drawer-top { gap: 18px; }

  #mv7-sidebar .mv7-mobile-drawer-profile {
    grid-template-columns: 48px minmax(0,1fr) 20px;
    gap: 12px;
  }

  #mv7-sidebar .mv7-mobile-drawer-avatar {
    width: 48px;
    height: 48px;
    border-width: 4px;
    border-color: var(--mv7-drawer-bg);
    outline-offset: -4px;
    box-shadow: 0 9px 22px rgba(0,0,0,.12);
  }

  #mv7-sidebar .mv7-mobile-drawer-person strong {
    font-size: 17px;
    font-weight: 690;
  }

  #mv7-sidebar .mv7-mobile-drawer-person small { font-size: 12px; }

  #mv7-sidebar .mv7-mobile-drawer-balance {
    min-height: 84px;
    padding: 15px 66px 15px 18px;
    border-color: transparent;
    border-radius: 19px;
    background: var(--mv7-drawer-surface);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }

  :root[data-resolved-theme='light'] #mv7-sidebar .mv7-mobile-drawer-balance {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 14px 34px -30px rgba(28,28,30,.42);
  }

  #mv7-sidebar .mv7-mobile-drawer-balance > strong {
    font-size: clamp(20px,6vw,25px);
    font-variant-numeric: tabular-nums;
  }

  #mv7-sidebar .mv7-mobile-drawer-balance-icon {
    right: 15px;
    width: 43px;
    height: 43px;
    border-color: var(--mv7-drawer-line);
    background: color-mix(in srgb,var(--mv7-drawer-bg) 76%,transparent);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  }

  #mv7-sidebar .mv7-mobile-drawer-nav {
    gap: 2px;
    padding: 18px 0 14px;
  }

  #mv7-sidebar .mv7-mobile-drawer-nav a {
    min-height: 43px;
    grid-template-columns: 31px minmax(0,1fr) auto;
    gap: 13px;
    padding: 0 11px;
    border-radius: 14px;
    font-size: 14.5px;
    font-weight: 560;
  }

  #mv7-sidebar .mv7-mobile-drawer-nav a.is-active {
    background: var(--mv7-drawer-surface-soft);
    font-weight: 690;
  }

  #mv7-sidebar .mv7-mobile-drawer-nav a[href='#streak'] > svg { color: #ff9f0a; }

  #mv7-sidebar #mobile-drawer-streak-count {
    min-width: 30px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255,159,10,.13);
    color: #ff9f0a;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
  }

  #mv7-sidebar .mv7-mobile-drawer-nav a[hidden],
  #mv7-sidebar #owner-nav-item-mobile[hidden] { display: none !important; }

  #mv7-sidebar .mv7-mobile-drawer-bottom {
    gap: 10px;
    margin-top: auto;
  }

  #mv7-sidebar .mv7-mobile-drawer-support {
    gap: 2px;
    padding: 10px 0;
    border-top-color: var(--mv7-drawer-line);
    border-bottom: 1px solid var(--mv7-drawer-line);
  }

  #mv7-sidebar .mv7-mobile-drawer-support :is(a,button) {
    min-height: 43px;
    padding-inline: 11px;
    font-size: 14px;
    font-weight: 560;
  }

  #mv7-sidebar .mv7-mobile-drawer-auth {
    min-height: 48px;
    padding: 0 11px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--mv7-drawer-muted);
  }

  #mv7-sidebar .mv7-mobile-drawer-auth span {
    text-align: left;
    font-weight: 560;
  }

  #sidebar-scrim.mv7-sidebar-scrim {
    background: rgba(28,28,30,.4);
    backdrop-filter: blur(10px) saturate(115%);
    -webkit-backdrop-filter: blur(10px) saturate(115%);
  }
}

@media (max-width: 460px) {
  body[data-v2-view='settings'] .mv7-reports-mobile-hero { min-height: 270px; padding: 20px 16px; }
  body[data-v2-view='settings'] .mv7-reports-mobile-benefits { width: 52%; }
  body[data-v2-view='settings'] .mv7-reports-mobile-art { left: 50%; transform: scale(.82); transform-origin: top left; }
  body[data-v2-view='settings'] .mv7-security-access-row,
  body[data-v2-view='settings'] .mv7-security-access-row.is-visual-only { grid-template-columns: 44px minmax(0,1fr) auto; gap: 8px; }
  body[data-v2-view='settings'] .mv7-security-access-row > em { display: none; }
  body[data-v2-view='settings'] .mv7-security-access-row > button,
  body[data-v2-view='settings'] .mv7-security-access-row > select,
  body[data-v2-view='settings'] .mv7-security-access-row > .mv7-switch { grid-column: 3; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation { grid-template-columns: 54px minmax(0,1fr) 16px; padding: 17px; }
  body[data-v2-view='settings'] .mv7-security-mobile-recommendation > i { width: 52px; height: 52px; }
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-backup,
  body[data-v2-view='settings'] .mv7-settings-mobile-danger-help { grid-template-columns: 42px minmax(0,1fr) 16px; }
  body[data-v2-view='settings'] :is(.mv7-settings-mobile-danger-backup,.mv7-settings-mobile-danger-help) > b { display: none; }
}

.mv7-topbar-login-arrow {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    #topbar-login-button
    .mv7-topbar-login-arrow {
    display: block;
  }
}

/* Perfil móvil — editor Apple/glass separado del layout de escritorio. */
.mv7-profile-mobile-verified,
.mv7-profile-mobile-hero-arrow,
.mv7-profile-mobile-section-title,
.mv7-profile-mobile-field-icon,
.mv7-profile-mobile-field-arrow,
.mv7-profile-mobile-more,
.mv7-profile-mobile-save-note,
#profile-username-url > svg,
#profile-copy-link {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='profile'] {
    background:
      radial-gradient(circle at 88% 7%, rgba(209, 229, 255, 0.34), transparent 28%),
      radial-gradient(circle at 10% 55%, rgba(220, 242, 234, 0.22), transparent 31%),
      #f8fafc;
  }

  body[data-v2-view='profile'] .mv7-topbar {
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='profile'] .mv7-page-identity h1 {
    color: #111827;
    font-size: 27px;
    font-weight: 750;
    letter-spacing: -0.035em;
  }

  #profile-view.mv7-profile-view {
    padding: 24px 14px calc(34px + env(safe-area-inset-bottom));
  }

  #profile-view .mv7-profile-editor-shell {
    position: relative;
    width: min(100%, 680px);
    margin-inline: auto;
  }

  #profile-view .mv7-profile-preview-toggle {
    position: absolute;
    z-index: 4;
    top: -72px;
    right: 0;
    display: inline-flex;
    width: auto;
    min-height: 42px;
    margin: 0;
    padding: 0 17px;
    border: 1px solid rgba(56, 78, 112, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.6);
    color: #46536b;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 30px -23px rgba(34,55,88,.54);
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    font-size: 12px;
  }

  #profile-view .mv7-profile-editor-card {
    display: block;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  #profile-view .mv7-profile-editor-hero {
    position: relative;
    display: grid;
    min-height: 194px;
    grid-template-columns: 112px minmax(0, 1fr) 18px;
    grid-template-rows: auto auto;
    gap: 10px 17px;
    align-items: center;
    margin: 0 0 22px;
    padding: 24px 20px;
    border: 1px solid rgba(52, 74, 108, 0.11);
    border-radius: 24px;
    background:
      radial-gradient(circle at 82% 14%, rgba(225, 237, 255, 0.42), transparent 38%),
      rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 22px 52px -38px rgba(37,56,89,.46);
    backdrop-filter: blur(28px) saturate(135%);
    -webkit-backdrop-filter: blur(28px) saturate(135%);
  }

  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar {
    width: 110px;
    height: 110px;
  }

  #profile-view .mv7-profile-avatar-wrap {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  #profile-view .mv7-profile-editor-avatar {
    border: 3px solid rgba(255,255,255,.92);
    box-shadow: 0 12px 30px -18px rgba(28,42,67,.64);
    font-size: 31px;
  }

  #profile-view .mv7-profile-avatar-camera {
    right: -2px;
    bottom: 0;
    width: 42px;
    height: 42px;
    border-color: rgba(48,70,105,.12);
    background: rgba(255,255,255,.92);
    color: #172033;
    box-shadow: 0 12px 25px -16px rgba(22,38,64,.7);
  }

  #profile-view .mv7-profile-avatar-camera svg { width: 21px; height: 21px; }

  #profile-view .mv7-profile-hero-copy {
    display: grid;
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: auto 18px 1fr;
    align-self: end;
    gap: 3px 8px;
  }

  #profile-view .mv7-profile-hero-copy > strong {
    grid-column: 1;
    color: #111827;
    font-size: clamp(25px, 8vw, 32px);
    font-weight: 750;
  }

  #profile-view .mv7-profile-mobile-verified {
    display: block;
    width: 18px;
    height: 18px;
    grid-column: 2;
    align-self: center;
    padding: 3px;
    border-radius: 50%;
    background: #1479ee;
    color: white;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
  }

  #profile-view .mv7-profile-hero-copy > span {
    grid-column: 1 / -1;
    color: #56637a;
    font-size: 16px;
  }

  #profile-view .mv7-profile-social-line {
    display: flex;
    grid-column: 1 / -1;
    gap: 14px;
    margin-top: 10px;
    color: #56637a;
    font-size: 11px;
  }

  #profile-view .mv7-profile-social-line span {
    display: grid;
    min-width: 58px;
    gap: 2px;
    text-align: center;
  }

  #profile-view .mv7-profile-social-line strong {
    color: #111827;
    font-size: 15px;
  }

  #profile-view .mv7-profile-social-line i { align-self: center; }

  #profile-view .mv7-profile-photo-button {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    align-self: start;
    min-height: 38px;
    margin: 0;
    padding: 0 20px;
    border-color: rgba(48,70,105,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.5);
    color: #17264a;
    font-size: 12px;
    font-weight: 650;
  }

  #profile-view .mv7-profile-mobile-hero-arrow {
    display: block;
    width: 18px;
    height: 18px;
    grid-column: 3;
    grid-row: 1 / span 2;
    color: #68758a;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  #profile-view .mv7-profile-mobile-section-title,
  #profile-view .mv7-profile-mobile-more > h3 {
    display: block;
    margin: 0 16px 10px;
    color: #657188;
    font-size: 14px;
    font-weight: 650;
  }

  #profile-view .mv7-profile-fields {
    display: block;
    overflow: hidden;
    margin: 0 0 22px;
    padding: 0 14px;
    border: 1px solid rgba(52,74,108,.11);
    border-radius: 24px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 20px 50px -40px rgba(37,56,89,.46);
    backdrop-filter: blur(28px) saturate(135%);
    -webkit-backdrop-filter: blur(28px) saturate(135%);
  }

  #profile-view .mv7-profile-field {
    position: relative;
    display: grid;
    min-height: 100px;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 3px 12px;
    align-content: center;
    padding: 14px 4px;
    border-bottom: 1px solid rgba(49,67,95,.1);
    color: #111827;
  }

  #profile-view .mv7-profile-field:last-child { border-bottom: 0; }

  #profile-view .mv7-profile-mobile-field-icon {
    display: grid;
    width: 46px;
    height: 46px;
    grid-column: 1;
    grid-row: 1 / span 2;
    place-items: center;
    align-self: center;
    border: 1px solid rgba(61,79,109,.06);
    border-radius: 13px;
    background: rgba(236,239,245,.76);
    color: #172033;
    font-style: normal;
    font-size: 24px;
    font-weight: 500;
  }

  #profile-view .mv7-profile-mobile-field-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  #profile-view .mv7-profile-mobile-at { font-family: ui-rounded, system-ui, sans-serif; }

  #profile-view .mv7-profile-field > span:nth-of-type(1) {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: 14px;
    font-weight: 650;
  }

  #profile-view .mv7-profile-input-shell,
  #profile-view .mv7-profile-textarea-shell,
  #profile-view .mv7-profile-field > input {
    grid-column: 2;
    grid-row: 2;
  }

  #profile-view .mv7-profile-field input,
  #profile-view .mv7-profile-field textarea {
    min-height: 27px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #172033;
    box-shadow: none;
    font-size: 14px;
    font-weight: 500;
  }

  #profile-view .mv7-profile-field textarea {
    height: 31px;
    min-height: 31px;
    padding-right: 45px;
    overflow: hidden;
    resize: none;
    line-height: 1.7;
  }

  #profile-view #profile-username,
  #profile-view .mv7-profile-field input[readonly] {
    padding-right: 85px;
    color: #172033;
    font-size: 14px;
  }

  #profile-view .mv7-profile-field-state,
  #profile-view .mv7-profile-email-state {
    right: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1679eb;
    font-size: 10px;
  }

  #profile-view .mv7-profile-email-state { color: #23a982; }

  #profile-view .mv7-profile-field-hint {
    grid-column: 2 / -1;
    grid-row: 3;
    min-height: 38px;
    margin: 8px -4px -14px;
    padding: 8px 4px;
    border-top: 1px solid rgba(49,67,95,.08);
    color: #68758a;
    font-size: 10px;
  }

  #profile-view #profile-username-url > svg,
  #profile-view #profile-copy-link {
    display: block;
  }

  #profile-view #profile-username-url > svg { width: 15px; height: 15px; }
  #profile-view #profile-copy-link {
    width: 30px;
    height: 30px;
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #68758a;
  }
  #profile-view #profile-copy-link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
  #profile-view #profile-copy-link.is-copied { color: #23a982; }

  #profile-view .mv7-profile-mobile-field-arrow {
    display: block;
    width: 15px;
    height: 15px;
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    color: #69758a;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  #profile-view .mv7-profile-textarea-shell > small {
    right: 0;
    bottom: 5px;
    color: #69758a;
  }

  #profile-view .mv7-profile-mobile-more {
    display: block;
    margin-bottom: 22px;
  }

  #profile-view .mv7-profile-mobile-more > button {
    display: grid;
    width: 100%;
    min-height: 84px;
    grid-template-columns: 48px minmax(0,1fr) 18px;
    gap: 12px;
    align-items: center;
    padding: 14px 18px;
    border: 1px solid rgba(52,74,108,.11);
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    color: #172033;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 44px -38px rgba(37,56,89,.46);
  }

  #profile-view .mv7-profile-mobile-more > button > i {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 13px;
    background: rgba(236,239,245,.76);
  }

  #profile-view .mv7-profile-mobile-more svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  #profile-view .mv7-profile-mobile-more span > * { display: block; }
  #profile-view .mv7-profile-mobile-more strong { font-size: 15px; }
  #profile-view .mv7-profile-mobile-more small { margin-top: 4px; color: #68758a; font-size: 11px; }
  #profile-view .mv7-profile-mobile-more > button > svg { width: 16px; height: 16px; color: #68758a; }

  #profile-view .mv7-profile-editor-actions {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 17px;
    border: 1px solid rgba(52,74,108,.11);
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 44px -38px rgba(37,56,89,.46);
  }

  #profile-view .mv7-profile-mobile-save-note {
    display: block;
    margin: 0;
    color: #68758a;
    font-size: 11px;
    text-align: center;
  }

  #profile-view .mv7-profile-editor-status { order: 2; justify-content: center; }

  #profile-view .mv7-profile-editor-actions > div {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr);
    gap: 10px;
  }

  #profile-view .mv7-profile-editor-actions button {
    min-height: 48px;
    border-radius: 999px;
    font-size: 13px;
  }

  #profile-view #profile-save {
    background: linear-gradient(180deg, #2d7df1, #1166e5);
    color: white;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 15px 28px -17px rgba(17,102,229,.7);
  }

  #profile-view .mv7-profile-preview-card {
    margin-top: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.78);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='profile'] {
    background: radial-gradient(circle at 84% 8%, rgba(52,82,125,.2), transparent 30%), #101113;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='profile'] .mv7-page-identity h1,
  :root[data-resolved-theme='dark'] #profile-view :is(.mv7-profile-hero-copy > strong,.mv7-profile-social-line strong,.mv7-profile-field,.mv7-profile-field input,.mv7-profile-field textarea,.mv7-profile-mobile-more > button) {
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark'] #profile-view :is(.mv7-profile-editor-hero,.mv7-profile-fields,.mv7-profile-mobile-more > button,.mv7-profile-editor-actions,.mv7-profile-preview-toggle,.mv7-profile-preview-card) {
    border-color: rgba(255,255,255,.1);
    background: rgba(31,31,34,.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 22px 48px -30px rgba(0,0,0,.82);
  }

  :root[data-resolved-theme='dark'] #profile-view :is(.mv7-profile-hero-copy > span,.mv7-profile-social-line,.mv7-profile-field-hint,.mv7-profile-mobile-more small,.mv7-profile-mobile-save-note) { color: #a1a1a8; }
  :root[data-resolved-theme='dark'] #profile-view :is(.mv7-profile-mobile-field-icon,.mv7-profile-mobile-more > button > i) { background: rgba(255,255,255,.07); color: #f5f5f7; }
  :root[data-resolved-theme='dark'] #profile-view .mv7-profile-avatar-camera { background: rgba(45,45,49,.94); color: #f5f5f7; }
}

@media (max-width: 390px) {
  #profile-view .mv7-profile-editor-hero {
    grid-template-columns: 92px minmax(0,1fr) 14px;
    gap: 9px 13px;
    padding: 20px 15px;
  }
  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar { width: 92px; height: 92px; }
  #profile-view .mv7-profile-hero-copy > strong { font-size: 24px; }
  #profile-view .mv7-profile-photo-button { padding-inline: 15px; }
  #profile-view .mv7-profile-preview-toggle { padding-inline: 12px; }
}

/* Inicio móvil: el acceso a Transferir se convierte en un control flotante
   tipo AssistiveTouch. El nodo y su acción siguen siendo los mismos. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch {
    position: fixed;
    z-index: 55;
    right: 17px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    left: auto;
    display: grid;
    width: 60px;
    min-width: 60px;
    height: 60px;
    min-height: 60px;
    place-items: center;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: #17201c;
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch.is-positioned {
    top: var(--assistive-y);
    right: auto;
    bottom: auto;
    left: var(--assistive-x);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 50%;
    background:
      radial-gradient(circle at 29% 22%, rgba(255, 255, 255, 0.98) 0 9%, transparent 31%),
      radial-gradient(circle at 68% 76%, rgba(159, 190, 176, 0.22), transparent 42%),
      conic-gradient(
        from 205deg,
        rgba(255, 255, 255, 0.74),
        rgba(218, 229, 223, 0.38),
        rgba(255, 255, 255, 0.78),
        rgba(195, 214, 205, 0.4),
        rgba(255, 255, 255, 0.74)
      );
    box-shadow:
      inset 0 1px 1px rgba(255, 255, 255, 1),
      inset 7px 9px 16px rgba(255, 255, 255, 0.38),
      inset -8px -10px 18px rgba(70, 96, 84, 0.12),
      0 2px 5px rgba(22, 35, 29, 0.12),
      0 14px 30px -13px rgba(22, 35, 29, 0.5);
    backdrop-filter: blur(30px) saturate(1.75);
    -webkit-backdrop-filter: blur(30px) saturate(1.75);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb::before {
    position: absolute;
    top: 5px;
    right: 11px;
    left: 11px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), transparent);
    content: '';
    filter: blur(1px);
    opacity: 0.74;
    transform: rotate(-9deg);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb::after {
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: inherit;
    content: '';
    box-shadow: inset 0 0 14px rgba(255, 255, 255, 0.34);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-core {
    position: relative;
    z-index: 2;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(221, 232, 226, 0.56));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.95),
      inset 0 -5px 9px rgba(107, 134, 121, 0.11),
      0 5px 12px rgba(52, 74, 63, 0.15);
  }

  body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch
    svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.85;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--home-accent) 52%, transparent);
    outline-offset: 4px;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch.is-dragging {
    cursor: grabbing;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch.is-dragging .mv7-assistive-touch-orb {
    transform: scale(1.065);
    box-shadow:
      inset 0 1px 1px rgba(255, 255, 255, 1),
      inset 7px 9px 16px rgba(255, 255, 255, 0.42),
      inset -8px -10px 18px rgba(70, 96, 84, 0.1),
      0 18px 38px -12px rgba(17, 28, 23, 0.58);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch {
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    border-color: rgba(255, 255, 255, 0.2);
    background:
      radial-gradient(circle at 30% 21%, rgba(255, 255, 255, 0.34) 0 8%, transparent 29%),
      radial-gradient(circle at 68% 76%, rgba(255, 255, 255, 0.07), transparent 43%),
      conic-gradient(
        from 205deg,
        rgba(74, 74, 78, 0.82),
        rgba(24, 24, 27, 0.74),
        rgba(84, 84, 89, 0.7),
        rgba(20, 20, 23, 0.78),
        rgba(74, 74, 78, 0.82)
      );
    box-shadow:
      inset 0 1px 1px rgba(255, 255, 255, 0.24),
      inset 7px 9px 16px rgba(255, 255, 255, 0.055),
      inset -8px -10px 18px rgba(0, 0, 0, 0.28),
      0 2px 5px rgba(0, 0, 0, 0.42),
      0 16px 34px -11px rgba(0, 0, 0, 0.92);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-core {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(145deg, rgba(89, 89, 94, 0.88), rgba(35, 35, 38, 0.84));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.2),
      inset 0 -5px 9px rgba(0, 0, 0, 0.25),
      0 5px 12px rgba(0, 0, 0, 0.42);
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    transition:
      transform 150ms ease,
      box-shadow 150ms ease;
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  body[data-v2-view='overview'] .mv7-mobile-balance-streak-art img {
    animation: mv7-streak-flame-float 4.8s ease-in-out infinite;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-streak {
    transition: transform 160ms ease;
  }
}

@keyframes mv7-streak-flame-float {
  0%,
  100% {
    transform: translateX(-3px) translateY(1px) rotate(-0.35deg);
  }
  50% {
    transform: translateX(-3px) translateY(-3px) rotate(0.45deg);
  }
}

/* Material oscuro compartido por todas las vistas móviles. Las tintas de
   producto siguen siendo semánticas; las superficies son grises Apple. */
@media (max-width: 768px) {
  :root[data-resolved-theme='dark'] {
    --v2-bg: #000000;
    --v2-surface: #1c1c1e;
    --v2-surface-raised: #2c2c2e;
    --v2-surface-hover: #2c2c2e;
    --v2-line: rgba(255, 255, 255, 0.1);
    --v2-line-strong: rgba(255, 255, 255, 0.16);
    --v2-text: #f5f5f7;
    --v2-muted: #98989d;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='profile']
    :is(.mv7-profile-editor-card, .mv7-profile-preview-card) {
    border-color: rgba(255, 255, 255, 0.1);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 42%),
      linear-gradient(150deg, rgba(28, 28, 30, 0.92), rgba(18, 18, 20, 0.96));
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='profile']
    :is(.mv7-profile-editor-avatar, .mv7-profile-preview-avatar, .mv7-profile-photo-preview) {
    background:
      radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.2), transparent 28%),
      linear-gradient(145deg, #8e8e93, #3a3a3c);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='profile'] .mv7-profile-avatar-camera {
    background: rgba(44, 44, 46, 0.94);
  }
}

/* Inicio móvil: el control de privacidad ya vive en la topbar y las
   mini tarjetas conservan sus importes sin repetir el gráfico de flujo. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view .mv7-mobile-balance-privacy,
  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-sparkline {
    display: none !important;
  }
}

/* Inicio móvil — composición inspirada en la referencia visual del dashboard.
   Los datos y controles existentes se conservan; esta última capa solo cambia
   la jerarquía de Inicio en pantallas pequeñas. */
.mv7-mobile-brand-subtitle,
.mv7-mobile-balance-privacy,
.mv7-mobile-month-title,
.mv7-account-overview {
  display: none;
}

@media (max-width: 768px) {
  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --home-bg: #f7f8f7;
    --home-surface: rgba(255, 255, 255, 0.82);
    --home-surface-raised: rgba(255, 255, 255, 0.92);
    --home-line: rgba(19, 30, 24, 0.055);
    --home-text: #070a08;
    --home-muted: #747b76;
    --home-accent: #0b9b62;
    --home-accent-soft: rgba(24, 174, 113, 0.1);
    --home-expense: #d52e2e;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-workspace {
    background:
      radial-gradient(circle at 92% 19%, rgba(174, 224, 200, 0.16), transparent 29rem),
      linear-gradient(180deg, #fafbfa 0%, #f5f7f5 100%) !important;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-topbar {
    min-height: calc(74px + env(safe-area-inset-top));
    padding: max(10px, env(safe-area-inset-top)) 18px 8px;
    border-bottom: 0 !important;
    background: color-mix(in srgb, #fafbfa 88%, transparent) !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] .mv7-mobile-topbar-start {
    gap: 12px;
  }

  body[data-v2-view='overview'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    column-gap: 6px;
    row-gap: 1px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    grid-column: 1;
    grid-row: 1;
    font-size: 18px;
    font-weight: 730;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong::after {
    margin-left: 5px;
    color: #16aa70;
    content: '✦';
    font-size: 13px;
    vertical-align: 2px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: block;
    grid-column: 1 / -1;
    grid-row: 2;
    color: #89908b;
    font-size: 8px;
    font-weight: 450;
    letter-spacing: -0.01em;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #topbar-login-button:not([hidden]) {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(3, 36px);
    gap: 0;
    padding: 3px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='overview'] #profile-button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
  }

  body[data-v2-view='overview'] #profile-button {
    position: relative;
    background: linear-gradient(
      145deg,
      rgba(76, 97, 137, 0.82),
      rgba(224, 162, 117, 0.7)
    ) !important;
    color: #fff;
  }

  body[data-v2-view='overview'] #profile-button::after {
    position: absolute;
    right: -1px;
    bottom: 0;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #0aa667;
    content: '';
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    width: min(100%, 520px);
    margin-inline: auto;
    row-gap: 12px;
    padding: 8px 18px calc(80px + env(safe-area-inset-bottom));
    background: transparent;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 220px !important;
    padding: 27px 24px 22px !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 23px;
    background:
      radial-gradient(circle at 88% 48%, rgba(156, 221, 189, 0.24), transparent 42%),
      rgba(255, 255, 255, 0.8) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.95),
      0 15px 34px -27px rgba(18, 38, 27, 0.36) !important;
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    position: relative;
    z-index: 2;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    font-size: 12px;
    font-weight: 540;
    letter-spacing: 0.01em;
    text-transform: uppercase;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    width: calc(100% - 32px);
    font-size: clamp(34px, 10.8vw, 48px);
    font-weight: 700;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-compact-value {
    font-size: clamp(29px, 8.9vw, 41px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    font-size: clamp(24px, 7.2vw, 34px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline {
    position: absolute;
    z-index: 0;
    top: 58px;
    right: -2px;
    bottom: auto;
    display: block !important;
    width: 58%;
    height: 104px;
    opacity: 0.24;
    pointer-events: none;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-spark-line {
    fill: none;
    stroke: rgba(16, 145, 92, 0.58);
    stroke-width: 1.2;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-spark-fill {
    opacity: 0.42;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    margin-top: 15px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-change {
    padding: 7px 11px;
    font-size: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-privacy {
    position: absolute;
    z-index: 3;
    top: 66px;
    right: 22px;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 8px 20px -14px rgba(11, 35, 22, 0.5);
    color: #111713;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-privacy svg {
    width: 15px;
    height: 15px;
  }

  body[data-v2-view='overview'] #overview-insight {
    z-index: 3;
    min-height: 28px;
    margin: -62px 24px 30px;
    padding: 0;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy p {
    color: #4f5952;
    font-size: 10px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header {
    margin: 0 5px 9px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header h3,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header h3 {
    font-size: 17px;
    font-weight: 700;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a {
    color: #686f6a;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-mobile-section-count {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a::before {
    content: 'Ver todas';
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-list {
    display: block;
    overflow: visible;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-overview {
    display: grid;
    min-height: 78px;
    grid-template-columns: minmax(74px, auto) minmax(0, 1fr) auto 14px;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 21px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 15px 32px -28px rgba(18, 38, 27, 0.4);
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-item {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens {
    display: flex;
    min-width: 0;
    align-items: center;
    padding-left: 2px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span {
    display: grid;
    width: 35px;
    min-width: 35px;
    height: 35px;
    place-items: center;
    margin-left: -9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--token-bg);
    color: var(--token-color);
    font-size: 9px;
    font-weight: 760;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span:first-child {
    margin-left: 0;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens .is-more {
    background: #f1f3f1;
    color: #4c534e;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy strong {
    overflow: hidden;
    color: var(--home-text);
    font-size: 12px;
    font-weight: 680;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy span {
    overflow: hidden;
    color: var(--home-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-value {
    color: var(--home-text);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-arrow {
    width: 14px;
    height: 14px;
    color: #707873;
  }

  body[data-v2-view='overview'] #widget-activity {
    margin-top: 5px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-list {
    border-radius: 21px;
    background: rgba(255, 255, 255, 0.82);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row {
    min-height: 56px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 8px 12px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(3) {
    display: grid;
    border-bottom: 0;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(2) {
    border-bottom: 1px solid var(--home-line);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-token {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 11px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy strong {
    font-size: 12px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy span,
  body[data-v2-view='overview'] #widget-activity .mv7-transaction-amount {
    font-size: 9px;
  }

  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) {
    min-height: 96px;
    margin-top: 0;
    padding: 12px 13px;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.82);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income {
    margin-right: 5px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense {
    margin-left: 5px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income::before {
    display: none;
  }

  body[data-v2-view='overview'] #overview-view .mv7-mobile-month-title {
    display: block;
    grid-column: 1 / -1;
    order: 5;
    margin: 7px 1px -3px;
    color: var(--home-text);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-sparkline {
    position: absolute;
    top: 2px;
    right: -14px;
    display: block;
    width: 65%;
    height: 54px;
    opacity: 0.18;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-head {
    position: relative;
    z-index: 2;
    margin-bottom: 4px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    > strong {
    position: relative;
    z-index: 2;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-change {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 3px;
    margin-top: 5px;
    color: var(--home-muted);
    font-size: 8px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-change
    b {
    color: inherit;
    font-size: inherit;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    width: min(100%, 520px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding-inline: 18px;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions .is-transfer {
    width: auto;
    padding-inline: 9px;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    display: block;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: none;
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    padding-inline: 13px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-overview {
    grid-template-columns: 62px minmax(0, 1fr) auto 12px;
    gap: 7px;
    padding-inline: 11px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span:nth-child(n + 3) {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-account-overview-value {
    font-size: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions button strong {
    font-size: 11px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    width: calc(100% - 8px);
    font-size: 20px;
    letter-spacing: -0.08em;
  }
}

/* Subpantallas de preferencias 2026 — composiciones móviles dedicadas.
   Los selectores, switches y acciones originales siguen siendo la fuente
   de verdad; estas capas solo presentan esos controles con jerarquía iOS. */
@media (max-width: 768px) {
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='currency']
    .mv7-preferences-workspace
    > .mv7-tab-layout,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='language']
    .mv7-preferences-workspace
    > .mv7-tab-layout,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='sync']
    .mv7-sync-workspace
    > .mv7-tab-layout {
    display: none !important;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='currency']
    [data-settings-mobile-locale='currency'],
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='language']
    [data-settings-mobile-locale='language'],
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='sync']
    .mv7-sync-mobile {
    display: grid;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail]:is(
      [data-mobile-settings-detail='currency'],
      [data-mobile-settings-detail='language'],
      [data-mobile-settings-detail='categories'],
      [data-mobile-settings-detail='sync']
    )
    .mv7-settings-title {
    max-width: none;
    margin: 54px 4px 36px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail]:is(
      [data-mobile-settings-detail='currency'],
      [data-mobile-settings-detail='language'],
      [data-mobile-settings-detail='categories'],
      [data-mobile-settings-detail='sync']
    )
    .mv7-settings-title
    h3 {
    font-size: clamp(36px, 10.2vw, 48px);
    font-weight: 735;
    letter-spacing: -0.055em;
    line-height: 0.98;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail]:is(
      [data-mobile-settings-detail='currency'],
      [data-mobile-settings-detail='language'],
      [data-mobile-settings-detail='categories'],
      [data-mobile-settings-detail='sync']
    )
    .mv7-settings-title
    p {
    max-width: 31rem;
    margin-top: 12px;
    color: var(--settings-muted);
    font-size: 15px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-locale-mobile,
  body[data-v2-view='settings'] .mv7-sync-mobile {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 0 2px 22px;
  }

  body[data-v2-view='settings'] .mv7-mobile-section-label {
    margin: 4px 12px -5px;
    color: var(--settings-muted);
    font-size: 11px;
    font-weight: 690;
    letter-spacing: 0.065em;
    text-transform: uppercase;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice,
  body[data-v2-view='settings'] .mv7-mobile-detail-list,
  body[data-v2-view='settings'] .mv7-currency-preview,
  body[data-v2-view='settings'] .mv7-region-preview,
  body[data-v2-view='settings'] .mv7-sync-mobile-hero,
  body[data-v2-view='settings'] .mv7-sync-mobile-service,
  body[data-v2-view='settings'] .mv7-sync-mobile-security,
  body[data-v2-view='settings'] .mv7-category-table-card {
    border: 1px solid var(--settings-material-border);
    background:
      linear-gradient(145deg, var(--settings-material-highlight), transparent 54%),
      var(--settings-surface);
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(26px) saturate(138%);
    -webkit-backdrop-filter: blur(26px) saturate(138%);
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 88px;
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 14px;
    padding: 14px 17px;
    border-radius: 23px;
    color: var(--settings-text);
    text-align: left;
  }

  body[data-v2-view='settings'] .mv7-mobile-select-choice > select {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice > span:nth-child(2) {
    display: grid;
    gap: 4px;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice strong {
    font-size: 17px;
    font-weight: 680;
    letter-spacing: -0.025em;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice small,
  body[data-v2-view='settings'] .mv7-mobile-detail-list small {
    color: var(--settings-muted);
    font-size: 12px;
    line-height: 1.35;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-choice > svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    background: rgba(130, 137, 134, 0.11);
    color: #707775;
    font-size: 12px;
    font-weight: 760;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.68),
      0 8px 18px rgba(31, 44, 36, 0.06);
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-icon.is-violet {
    background: rgba(133, 103, 223, 0.1);
    color: #7b64c8;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-icon.is-blue {
    background: rgba(39, 137, 218, 0.1);
    color: #147ec0;
  }

  body[data-v2-view='settings'] .mv7-mobile-setting-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-language-globe {
    position: relative;
    display: block;
    width: 23px;
    height: 23px;
    border: 2px solid currentColor;
    border-radius: 50%;
  }

  body[data-v2-view='settings'] .mv7-language-globe::before,
  body[data-v2-view='settings'] .mv7-language-globe::after {
    position: absolute;
    inset: 3px 6px;
    border: 1.5px solid currentColor;
    border-block: 0;
    border-radius: 50%;
    content: '';
  }

  body[data-v2-view='settings'] .mv7-language-globe::after {
    inset: 9px -2px auto;
    border: 0;
    border-top: 1.5px solid currentColor;
    border-radius: 0;
  }

  body[data-v2-view='settings'] .mv7-currency-preview {
    position: relative;
    display: grid;
    min-height: 176px;
    grid-template-columns: minmax(0, 1fr) 136px;
    align-items: center;
    overflow: hidden;
    padding: 24px;
    border-radius: 26px;
  }

  body[data-v2-view='settings'] .mv7-currency-preview > div {
    z-index: 1;
    display: grid;
    gap: 7px;
  }

  body[data-v2-view='settings'] .mv7-currency-preview small,
  body[data-v2-view='settings'] .mv7-region-preview-main > small {
    color: var(--settings-muted);
    font-size: 11px;
    font-weight: 690;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  body[data-v2-view='settings'] .mv7-currency-preview strong {
    color: var(--settings-text);
    font-size: clamp(28px, 7.5vw, 40px);
    font-weight: 560;
    letter-spacing: -0.045em;
  }

  body[data-v2-view='settings'] .mv7-currency-preview p {
    max-width: 20rem;
    color: var(--settings-muted);
    font-size: 12px;
    line-height: 1.4;
  }

  body[data-v2-view='settings'] .mv7-currency-orb {
    position: relative;
    display: block;
    width: 126px;
    height: 126px;
    justify-self: end;
    border: 0;
    background: transparent;
    filter: drop-shadow(0 18px 18px rgba(70, 91, 150, 0.2));
    transform: translateY(2px) rotate(-2deg);
  }

  body[data-v2-view='settings'] .mv7-currency-orb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list {
    overflow: hidden;
    border-radius: 24px;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list > :is(div, label) {
    display: grid;
    min-height: 74px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 12px 17px;
    border-bottom: 1px solid var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list > :is(div, label):last-child {
    border-bottom: 0;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list .mv7-mobile-setting-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list p {
    display: grid;
    gap: 3px;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list strong {
    color: var(--settings-text);
    font-size: 14px;
    font-weight: 640;
  }

  body[data-v2-view='settings'] .mv7-mobile-detail-list b {
    color: var(--settings-muted);
    font-size: 13px;
    font-weight: 540;
    text-align: right;
  }

  body[data-v2-view='settings'] .mv7-mobile-info-note {
    display: grid;
    min-height: 62px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 12px 16px;
    border: 1px solid var(--settings-line);
    border-radius: 20px;
    background: color-mix(in srgb, var(--settings-surface) 64%, transparent);
    color: var(--settings-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-mobile-info-note svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #6e70bd;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-region-preview {
    overflow: hidden;
    border-radius: 26px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header {
    display: grid;
    min-height: 88px;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 16px 20px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header > span {
    font-size: 34px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header > .mv7-py-flag {
    position: relative;
    display: block;
    width: 46px;
    height: 31px;
    overflow: hidden;
    border: 1px solid rgba(20, 28, 34, 0.08);
    border-radius: 8px;
    background: linear-gradient(
      to bottom,
      #d52b34 0 33.333%,
      #ffffff 33.333% 66.666%,
      #1f5aa6 66.666% 100%
    );
    box-shadow: 0 7px 15px rgba(32, 55, 76, 0.1);
  }

  body[data-v2-view='settings'] .mv7-py-flag i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    border: 1px solid #c9a444;
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }

  body[data-v2-view='settings'] .mv7-region-preview > header p {
    display: grid;
    gap: 4px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header strong {
    color: var(--settings-text);
    font-size: 17px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header small {
    color: var(--settings-muted);
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-region-preview > header em {
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(34, 132, 211, 0.1);
    color: #1778b5;
    font-size: 10px;
    font-style: normal;
    font-weight: 650;
  }

  body[data-v2-view='settings'] .mv7-region-preview-main {
    position: relative;
    display: grid;
    min-height: 154px;
    align-content: center;
    gap: 5px;
    overflow: hidden;
    padding: 22px 28px;
    border-block: 1px solid var(--settings-line);
    background: rgba(255, 255, 255, 0.11);
  }

  body[data-v2-view='settings'] .mv7-region-preview-main > strong,
  body[data-v2-view='settings'] .mv7-region-preview-main > b {
    z-index: 1;
    color: var(--settings-text);
    font-size: 20px;
    letter-spacing: -0.025em;
  }

  body[data-v2-view='settings'] .mv7-region-preview-main > b {
    font-size: 25px;
    font-weight: 540;
  }

  body[data-v2-view='settings'] .mv7-region-orb {
    position: absolute;
    right: 22px;
    bottom: -33px;
    width: 142px;
    height: 142px;
    border: 1px solid rgba(125, 172, 204, 0.28);
    border-radius: 50%;
    background:
      repeating-radial-gradient(
        circle at 50% 50%,
        transparent 0 13px,
        rgba(91, 151, 192, 0.13) 14px 15px
      ),
      radial-gradient(circle at 33% 24%, rgba(255, 255, 255, 0.95), rgba(171, 210, 236, 0.16) 66%);
    box-shadow: 15px 20px 28px rgba(42, 111, 157, 0.13);
  }

  body[data-v2-view='settings'] .mv7-region-preview dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 14px 10px;
  }

  body[data-v2-view='settings'] .mv7-region-preview dl > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 2px 10px;
    border-right: 1px solid var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-region-preview dl > div:last-child {
    border-right: 0;
  }

  body[data-v2-view='settings'] .mv7-region-preview dt {
    color: var(--settings-muted);
    font-size: 9px;
  }

  body[data-v2-view='settings'] .mv7-region-preview dd {
    overflow: hidden;
    color: var(--settings-text);
    font-size: 10px;
    font-weight: 620;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-hero {
    display: grid;
    min-height: 225px;
    grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 18px;
    padding: 22px;
    border-radius: 27px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-cloud {
    position: relative;
    display: grid;
    width: 128px;
    height: 88px;
    place-items: center;
    justify-self: center;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 54px 54px 42px 42px;
    background:
      radial-gradient(circle at 34% 20%, rgba(255, 255, 255, 0.96), transparent 33%),
      linear-gradient(150deg, rgba(231, 243, 255, 0.88), rgba(126, 184, 233, 0.26));
    color: #1583d3;
    box-shadow:
      15px 22px 32px rgba(33, 118, 184, 0.16),
      inset 0 1px rgba(255, 255, 255, 0.9);
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-cloud::before,
  body[data-v2-view='settings'] .mv7-sync-mobile-cloud::after {
    position: absolute;
    z-index: -1;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: inherit;
    content: '';
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-cloud::before {
    left: 16px;
    top: -26px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-cloud::after {
    right: 15px;
    top: -15px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-cloud svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-state {
    display: grid;
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-state small {
    color: var(--settings-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-state strong {
    color: var(--settings-text);
    font-size: 22px;
    line-height: 1.12;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-state p {
    color: var(--settings-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-account,
  body[data-v2-view='settings'] .mv7-sync-mobile-auth {
    grid-column: 1 / -1;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-account {
    display: grid;
    min-height: 66px;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--settings-line);
    border-radius: 19px;
    background: var(--settings-soft);
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-account[hidden] {
    display: none;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-account > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: rgba(32, 133, 213, 0.1);
    color: #167dc0;
    font-weight: 720;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-account p {
    display: grid;
    gap: 2px;
    min-width: 0;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-account strong {
    overflow: hidden;
    color: var(--settings-text);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-account small {
    color: var(--settings-muted);
    font-size: 11px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-account svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: #2cae62;
    stroke-width: 2;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-auth {
    width: 100%;
    min-height: 44px;
    border-radius: 999px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 13px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how li {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 10px 3px;
    text-align: center;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how li > b {
    position: absolute;
    top: 5px;
    left: calc(50% - 33px);
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: var(--settings-soft);
    color: var(--settings-muted);
    font-size: 9px;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how li > span {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 1px solid var(--settings-material-border);
    border-radius: 20px;
    background: var(--settings-surface);
    box-shadow: var(--settings-material-shadow);
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.6;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how strong {
    color: var(--settings-text);
    font-size: 11px;
    line-height: 1.25;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-how small {
    color: var(--settings-muted);
    font-size: 9px;
    line-height: 1.35;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-controls {
    margin-top: 2px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-controls label.is-disabled {
    opacity: 0.55;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-controls .mv7-switch {
    justify-self: end;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-now {
    display: flex;
    width: calc(100% - 28px);
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 10px 14px 14px;
    border: 1px solid var(--settings-line-strong);
    border-radius: 999px;
    color: #167ec3;
    font-size: 13px;
    font-weight: 680;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-now svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-now[hidden] {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-sync-mobile-service,
  body[data-v2-view='settings'] .mv7-sync-mobile-security {
    padding: 17px;
    border-radius: 24px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service h4 {
    margin: 0 0 12px;
    color: var(--settings-text);
    font-size: 15px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service > div,
  body[data-v2-view='settings'] .mv7-sync-mobile-security > div {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service span,
  body[data-v2-view='settings'] .mv7-sync-mobile-security span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: rgba(47, 178, 98, 0.09);
    color: #2cac60;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service svg,
  body[data-v2-view='settings'] .mv7-sync-mobile-security svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service p,
  body[data-v2-view='settings'] .mv7-sync-mobile-security p {
    display: grid;
    gap: 3px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service strong,
  body[data-v2-view='settings'] .mv7-sync-mobile-security strong {
    color: var(--settings-text);
    font-size: 13px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service small,
  body[data-v2-view='settings'] .mv7-sync-mobile-security small {
    color: var(--settings-muted);
    font-size: 10px;
    line-height: 1.4;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-service em {
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(47, 178, 98, 0.08);
    color: #299b56;
    font-size: 9px;
    font-style: normal;
    font-weight: 680;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-security {
    display: grid;
    gap: 13px;
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-security > div {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  body[data-v2-view='settings'] .mv7-sync-mobile-security > div + div {
    padding-top: 13px;
    border-top: 1px solid var(--settings-line);
  }

  /* Categorías: buscador y segmentos amplios; el contenido real sigue
     viniendo de renderCategoryList, incluidos filtros y edición. */
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-toolbar {
    gap: 12px;
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-settings-search-wide {
    min-height: 54px;
    padding-inline: 17px;
    border: 1px solid var(--settings-line-strong);
    border-radius: 999px;
    background: color-mix(in srgb, var(--settings-surface) 64%, transparent);
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters {
    min-height: 58px;
    gap: 0;
    padding: 4px;
    border: 1px solid var(--settings-line);
    border-radius: 19px;
    background: var(--settings-soft);
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    button {
    min-height: 48px;
    border: 0;
    border-radius: 15px;
    color: var(--settings-muted);
    font-size: 14px;
    font-weight: 640;
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    button.is-selected {
    background: var(--settings-surface);
    color: var(--settings-text);
    box-shadow:
      0 7px 18px rgba(24, 35, 29, 0.08),
      inset 0 1px rgba(255, 255, 255, 0.78);
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    #category-new {
    min-height: 52px;
    border: 1px solid color-mix(in srgb, #1686d5 48%, var(--settings-line));
    border-radius: 18px;
    background: color-mix(in srgb, #1686d5 5%, transparent);
    color: #137cc1;
    box-shadow: none;
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-workspace {
    margin-top: 16px;
  }
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-table-card {
    overflow: hidden;
    padding: 0;
    border-radius: 26px;
  }
  body[data-v2-view='settings'] .mv7-category-empty.is-suggested {
    display: grid;
    min-height: 0;
    justify-items: stretch;
    gap: 18px;
    padding: 30px 24px 24px;
  }
  body[data-v2-view='settings'] .mv7-category-empty-visual {
    position: relative;
    display: grid;
    width: 116px;
    height: 92px;
    place-items: center;
    justify-self: center;
    border: 1px solid rgba(35, 139, 220, 0.13);
    border-radius: 32px 32px 25px 25px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(126, 190, 237, 0.13));
    color: #1687d4;
    box-shadow:
      14px 18px 26px rgba(43, 117, 167, 0.12),
      inset 0 1px rgba(255, 255, 255, 0.92);
  }
  body[data-v2-view='settings'] .mv7-category-empty-visual::before {
    position: absolute;
    top: -12px;
    left: 16px;
    width: 48px;
    height: 24px;
    border-radius: 14px 14px 0 0;
    background: inherit;
    content: '';
  }
  body[data-v2-view='settings'] .mv7-category-empty-visual svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
  }
  body[data-v2-view='settings'] .mv7-category-empty-copy {
    display: grid;
    width: auto;
    height: auto;
    place-items: initial;
    justify-self: stretch;
    gap: 7px;
    border: 0;
    border-radius: 0;
    background: none;
    color: inherit;
    box-shadow: none;
    font-size: inherit;
    text-align: center;
  }
  body[data-v2-view='settings'] .mv7-category-empty-copy strong {
    color: var(--settings-text);
    font-size: 19px;
  }
  body[data-v2-view='settings'] .mv7-category-empty-copy small {
    max-width: 25rem;
    justify-self: center;
    color: var(--settings-muted);
    font-size: 13px;
    line-height: 1.5;
  }
  body[data-v2-view='settings'] .mv7-category-suggestions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 18px;
    border-top: 1px solid var(--settings-line);
  }
  body[data-v2-view='settings'] .mv7-category-suggestions > p {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: var(--settings-muted);
    font-size: 11px;
    font-weight: 650;
  }
  body[data-v2-view='settings'] .mv7-category-suggestion {
    display: grid;
    min-width: 0;
    min-height: 51px;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid var(--settings-line);
    border-radius: 16px;
    background: color-mix(in srgb, var(--settings-surface) 52%, transparent);
    color: var(--settings-text);
    font-size: 11px;
    font-weight: 620;
    text-align: left;
  }
  body[data-v2-view='settings'] .mv7-category-suggestion span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--suggestion-color) 12%, transparent);
    color: var(--suggestion-color);
  }
  body[data-v2-view='settings'] .mv7-category-suggestion svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-settings-search-wide
    input {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='settings'] .mv7-sync-mobile-auth {
    background: linear-gradient(145deg, #168bd8, #2f6fcb);
    color: #ffffff;
    box-shadow:
      0 13px 24px rgba(37, 116, 196, 0.22),
      inset 0 1px rgba(255, 255, 255, 0.3);
  }

  @media (max-width: 420px) {
    body[data-v2-view='settings'] .mv7-currency-preview {
      grid-template-columns: minmax(0, 1fr) 92px;
      padding: 20px;
    }
    body[data-v2-view='settings'] .mv7-currency-orb {
      width: 98px;
      height: 98px;
    }
    body[data-v2-view='settings'] .mv7-sync-mobile-hero {
      grid-template-columns: 108px minmax(0, 1fr);
      padding: 18px;
    }
    body[data-v2-view='settings'] .mv7-sync-mobile-cloud {
      width: 104px;
      height: 74px;
    }
    body[data-v2-view='settings'] .mv7-mobile-detail-list b {
      max-width: 116px;
      overflow-wrap: anywhere;
    }
  }
}

@media (max-width: 768px) {
  :scope {
    --mv7-tx-expense: #58a6ff;
    --mv7-tx-income: #72db84;
    --mv7-tx-transfer: #9c82ea;
    --mv7-tx-amber: #e8b84e;
    --mv7-tx-glass: rgba(12, 14, 16, 0.69);
    --mv7-tx-glass-strong: rgba(10, 12, 14, 0.84);
    --mv7-tx-edge: rgba(255, 255, 255, 0.2);
    --mv7-tx-edge-soft: rgba(255, 255, 255, 0.11);
    background:
      radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.05), transparent 15rem),
      radial-gradient(circle at 8% 52%, rgba(255, 255, 255, 0.025), transparent 19rem),
      linear-gradient(160deg, #050607 0%, #090a0c 50%, #050607 100%);
    background-attachment: fixed;
  }

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

  :scope .mv7-topbar {
    display: grid;
    min-height: calc(72px + env(safe-area-inset-top));
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: max(12px, env(safe-area-inset-top)) 16px 11px;
    border-bottom: 0;
    background: rgba(5, 6, 7, 0.78);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  :scope .mv7-topbar::after,
  :scope #conn-status-chip,
  :scope #whatsapp-quick-link,
  :scope #topbar-login-button,
  :scope #profile-button,
  :scope .mv7-page-icon,
  :scope .mv7-page-identity p,
  :scope .mv7-live-pill,
  :scope .mv7-mobile-brand {
    display: none;
  }

  :scope .mv7-mobile-topbar-start {
    display: flex;
    min-width: 44px;
    grid-column: 1;
    grid-row: 1;
    align-items: center;
  }

  :scope .mv7-menu-button,
  :scope .mv7-topbar-actions .mv7-icon-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-color: var(--mv7-tx-edge);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.008)),
      rgba(8, 10, 12, 0.67);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.16),
      0 9px 22px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
  }

  :scope .mv7-menu-button svg {
    width: 19px;
    height: 19px;
  }

  :scope .mv7-page-identity {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    margin-left: 58px;
    pointer-events: none;
  }

  :scope .mv7-page-identity h1 {
    font-size: 20px;
    font-weight: 670;
    letter-spacing: -0.035em;
  }

  :scope .mv7-topbar-actions {
    grid-column: 2;
    grid-row: 1;
    gap: 8px;
  }

  :scope #privacy-toggle {
    color: var(--mv7-tx-expense);
  }

  :scope #notification-bell {
    color: #e8b84e;
  }

  #transactions-view.mv7-transactions-view {
    position: relative;
    width: 100%;
    padding: 16px 14px calc(94px + env(safe-area-inset-bottom));
  }

  #transactions-view:not([hidden]) > * {
    animation: none;
    transform: none;
  }

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

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

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

  #transactions-view .mv7-tx-summary {
    position: relative;
    display: grid;
    min-height: 244px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 145px 99px;
    margin: 0 0 14px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--mv7-tx-edge);
    border-radius: 22px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.008) 48%),
      var(--mv7-tx-glass);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.16),
      inset 0 -1px rgba(255, 255, 255, 0.025),
      0 1px 2px rgba(0, 0, 0, 0.3),
      0 22px 48px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(26px) saturate(112%);
    -webkit-backdrop-filter: blur(26px) saturate(112%);
  }

  #transactions-view .mv7-tx-summary::before {
    position: absolute;
    z-index: 0;
    border-radius: inherit;
    background: radial-gradient(120% 70% at 20% -20%, rgba(255, 255, 255, 0.14), transparent 55%);
    content: '';
    inset: 0;
    pointer-events: none;
  }

  #transactions-view .mv7-tx-summary > * {
    position: relative;
    z-index: 1;
  }

  #transactions-view .mv7-tx-summary-item {
    min-height: 0;
    padding: 16px;
    border-color: var(--mv7-tx-edge-soft);
    background: transparent;
  }

  #transactions-view .mv7-tx-summary-item:first-child {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    border: 0;
    text-align: center;
  }

  #transactions-view .mv7-tx-summary-item:first-child > span {
    color: var(--mv7-tx-expense);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  #transactions-view #tx-mobile-balance {
    margin-top: 13px;
    color: #f5f7fa;
    font-family: var(--v2-display);
    font-size: clamp(32px, 10.5vw, 43px);
    font-weight: 560;
    letter-spacing: -0.055em;
    line-height: 1;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
  }

  #transactions-view #tx-mobile-balance.is-negative {
    color: var(--mv7-tx-expense);
  }

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

  #transactions-view .mv7-tx-summary-item:nth-child(2),
  #transactions-view .mv7-tx-summary-item:nth-child(3) {
    position: relative;
    display: grid;
    grid-row: 2;
    min-width: 0;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 10px;
    padding: 14px 12px;
    border-top: 1px solid var(--mv7-tx-edge-soft);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) {
    grid-column: 1;
    border-right: 1px solid var(--mv7-tx-edge-soft);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3) {
    grid-column: 2;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2)::before,
  #transactions-view .mv7-tx-summary-item:nth-child(3)::before {
    display: grid;
    width: 38px;
    height: 38px;
    grid-column: 1;
    grid-row: 1 / 3;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: var(--mv7-tx-income);
    font-size: 22px;
    content: '\2191';
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3)::before {
    color: var(--mv7-tx-expense);
    content: '\2193';
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) > span,
  #transactions-view .mv7-tx-summary-item:nth-child(3) > span {
    grid-column: 2;
    grid-row: 2;
    color: #9ca3ab;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) strong,
  #transactions-view .mv7-tx-summary-item:nth-child(3) strong {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    font-size: clamp(11px, 3.2vw, 14px);
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) strong {
    color: var(--mv7-tx-income);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3) strong {
    color: var(--mv7-tx-expense);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) small,
  #transactions-view .mv7-tx-summary-item:nth-child(3) small {
    display: none;
  }

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

  #transactions-view .mv7-tx-search {
    width: 100%;
    min-height: 48px;
    grid-column: 1 / -1;
    padding: 0 14px;
    border: 1px solid var(--mv7-tx-edge);
    border-radius: 17px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.006)),
      var(--mv7-tx-glass);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(21px) saturate(110%);
    -webkit-backdrop-filter: blur(21px) saturate(110%);
  }

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

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

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

  #transactions-view .mv7-tx-type-filter {
    display: grid;
    min-width: 0;
    height: 42px;
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  #transactions-view .mv7-tx-type-filter button {
    min-width: 0;
    height: 42px;
    padding: 0 8px;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.018);
    color: #9ba2aa;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-type-filter button i {
    width: 5px;
    height: 5px;
  }

  #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: var(--mv7-tx-edge);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.01)),
      rgba(9, 11, 13, 0.72);
    color: #f0f2f5;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.15),
      0 8px 18px rgba(0, 0, 0, 0.2);
  }

  #transactions-view .mv7-tx-type-filter button[data-tx-type='income'] i {
    background: var(--mv7-tx-income);
  }

  #transactions-view .mv7-tx-type-filter button[data-tx-type='expense'] i {
    background: var(--mv7-tx-expense);
  }

  #transactions-view .mv7-tx-select {
    position: relative;
    display: flex;
    min-width: 0;
    height: 42px;
    grid-column: 2;
    grid-row: 2;
    padding: 0 8px;
    border: 1px solid var(--mv7-tx-edge);
    border-radius: 15px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.008)),
      var(--mv7-tx-glass);
  }

  #transactions-view .mv7-tx-select svg {
    width: 14px;
    height: 14px;
  }

  #transactions-view .mv7-tx-select select {
    min-height: 40px;
    padding: 0 3px;
    background: transparent;
    color: #adb3ba;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-mobile-list-head {
    display: flex;
    min-height: 62px;
    align-items: center;
    padding: 10px 12px 7px 16px;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-bottom: 0;
    border-radius: 21px 21px 0 0;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.004)),
      var(--mv7-tx-glass);
    backdrop-filter: blur(24px) saturate(110%);
    -webkit-backdrop-filter: blur(24px) saturate(110%);
  }

  #transactions-view .mv7-tx-mobile-list-head > span {
    color: #f0f2f5;
    font-size: 19px;
    font-weight: 620;
    letter-spacing: -0.03em;
  }

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

  #transactions-view .mv7-tx-mobile-list-head .mv7-icon-button {
    display: grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    place-items: center;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.025);
    color: #a6adb4;
  }

  #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-columns {
    display: none;
  }

  #transactions-view .mv7-tx-list,
  #transactions-view .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 190px;
    padding: 0 0 11px;
    overflow: hidden;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-top: 0;
    border-radius: 0 0 21px 21px;
    background:
      linear-gradient(160deg, rgba(255, 255, 255, 0.035), transparent 45%), var(--mv7-tx-glass);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(24px) saturate(110%);
    -webkit-backdrop-filter: blur(24px) saturate(110%);
  }

  #transactions-view .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 242px;
    padding-bottom: 0;
  }

  #transactions-view .mv7-tx-empty {
    min-height: 241px;
    padding: 28px 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #transactions-view .mv7-tx-date-group {
    display: flex;
    min-height: 40px;
    align-items: flex-end;
    padding: 12px 16px 7px;
    color: #8b929a;
    font-family: var(--v2-font);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: 0.11em;
  }

  #transactions-view .mv7-tx-row {
    position: relative;
    min-height: 77px;
    grid-template-columns: 44px minmax(0, 1fr) minmax(88px, auto) 11px;
    grid-template-rows: 1fr 1fr;
    gap: 0 10px;
    padding: 10px 12px;
    margin: 0 9px 7px;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-radius: 17px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.006)),
      rgba(8, 10, 12, 0.68);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.09),
      0 10px 24px rgba(0, 0, 0, 0.15);
  }

  #transactions-view .mv7-tx-row:active {
    border-color: rgba(88, 166, 255, 0.28);
    background:
      linear-gradient(90deg, rgba(88, 166, 255, 0.07), rgba(255, 255, 255, 0.008)),
      rgba(8, 10, 12, 0.76);
    box-shadow:
      inset 2px 0 var(--mv7-tx-expense),
      inset 0 1px rgba(255, 255, 255, 0.1);
  }

  #transactions-view .mv7-tx-row::after {
    display: block;
    grid-column: 4;
    grid-row: 1 / 3;
    align-self: center;
    color: #737a82;
    font-size: 22px;
    font-weight: 300;
    content: '\203a';
  }

  #transactions-view .mv7-tx-row-main {
    display: contents;
  }

  #transactions-view .mv7-transaction-token {
    display: grid;
    width: 42px;
    height: 42px;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: rgba(88, 166, 255, 0.08);
    color: var(--mv7-tx-expense);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
  }

  #transactions-view .mv7-transaction-token::before,
  #transactions-view .mv7-transaction-token.is-income::before,
  #transactions-view .mv7-transaction-token.is-expense::before,
  #transactions-view .mv7-transaction-token.is-transfer::before {
    display: none;
    content: none;
  }

  #transactions-view .mv7-transaction-token-label {
    display: none;
  }

  #transactions-view .mv7-transaction-token-icon {
    display: block;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
  }

  #transactions-view .mv7-transaction-token.is-income {
    background: rgba(114, 219, 132, 0.085);
    color: var(--mv7-tx-income);
  }

  #transactions-view .mv7-transaction-token.is-expense {
    background: rgba(88, 166, 255, 0.085);
    color: var(--mv7-tx-expense);
  }

  #transactions-view .mv7-transaction-token.is-transfer {
    background: rgba(156, 130, 234, 0.1);
    color: var(--mv7-tx-transfer);
  }

  #transactions-view .mv7-transaction-token[data-icon='i-fuel'] {
    background: rgba(232, 184, 78, 0.085);
    color: var(--mv7-tx-amber);
  }

  #transactions-view .mv7-transaction-token[data-icon='i-cart'] {
    background: rgba(114, 219, 132, 0.085);
    color: var(--mv7-tx-income);
  }

  #transactions-view .mv7-tx-row-copy {
    display: grid;
    min-width: 0;
    grid-column: 2;
    grid-row: 1 / 3;
    align-content: center;
    gap: 4px;
  }

  #transactions-view .mv7-tx-row-copy strong {
    overflow: hidden;
    color: #eef0f3;
    font-size: 13px;
    font-weight: 570;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-meta-desktop,
  #transactions-view .mv7-tx-category,
  #transactions-view .mv7-tx-cell-account,
  #transactions-view .mv7-tx-cell-date,
  #transactions-view .mv7-tx-cell-status {
    display: none;
  }

  #transactions-view .mv7-tx-row-meta-mobile {
    display: block;
    overflow: hidden;
    color: #8f969e;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-amount {
    min-width: 0;
    max-width: 110px;
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    overflow: hidden;
    font-size: clamp(11px, 3.35vw, 14px);
    letter-spacing: -0.03em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-amount.is-income {
    color: var(--mv7-tx-income);
  }

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

  #transactions-view .mv7-tx-row-amount.is-transfer {
    color: var(--mv7-tx-transfer);
  }

  #transactions-view .mv7-tx-row-date-mobile {
    display: block;
    grid-column: 3;
    grid-row: 2;
    align-self: start;
    color: #7f868e;
    font-family: var(--v2-mono);
    font-size: 9px;
    text-align: right;
  }

  #transactions-view .mv7-tx-ledger-footer {
    min-height: 48px;
    margin-top: 10px;
    padding: 0 11px;
    border: 1px solid var(--mv7-tx-edge-soft);
    border-radius: 15px;
    background: var(--mv7-tx-glass);
  }

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

  #transactions-view .mv7-tx-mobile-fab {
    position: fixed;
    z-index: 72;
    right: max(18px, env(safe-area-inset-right));
    bottom: calc(20px + env(safe-area-inset-bottom));
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(129, 183, 255, 0.72);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.035)),
      rgba(55, 105, 184, 0.76);
    color: #f7faff;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.42),
      0 14px 35px rgba(47, 104, 199, 0.28);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
    transition:
      opacity 160ms ease,
      transform 160ms ease;
  }

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

  #transactions-view .mv7-tx-inspector {
    width: 100vw;
    max-width: none;
    inset: auto 0 0;
    border-color: var(--mv7-tx-edge);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.012)),
      rgba(7, 9, 11, 0.96);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.15),
      0 -100vh 0 100vh rgba(0, 0, 0, 0.5),
      0 -32px 90px rgba(0, 0, 0, 0.76);
    backdrop-filter: blur(30px) saturate(115%);
    -webkit-backdrop-filter: blur(30px) saturate(115%);
  }

  #transactions-view .mv7-tx-inspector:not(.is-open) {
    pointer-events: none;
  }

  #transactions-view .mv7-tx-inspector.is-open {
    width: 100vw;
    max-width: none;
    right: 0;
    bottom: 0;
    left: 0;
    border-color: var(--mv7-tx-edge);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.012)),
      rgba(7, 9, 11, 0.96);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.15),
      0 -100vh 0 100vh rgba(0, 0, 0, 0.5),
      0 -32px 90px rgba(0, 0, 0, 0.76);
    backdrop-filter: blur(30px) saturate(115%);
    -webkit-backdrop-filter: blur(30px) saturate(115%);
  }

  #transactions-view .mv7-tx-detail-hero .mv7-transaction-token {
    color: var(--token-color, var(--mv7-tx-expense));
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  #transactions-view:has(.mv7-tx-inspector.is-open) .mv7-tx-mobile-fab,
  :scope:has(#transaction-composer[open]) #transactions-view .mv7-tx-mobile-fab {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.86);
  }

  #transactions-view .mv7-tx-detail-hero > strong.is-expense {
    color: var(--mv7-tx-expense);
  }
}

/* Ajustes móvil — centro y subsecciones separados del workspace de escritorio. */
.mv7-settings-mobile-home,
.mv7-settings-mobile-back,
.mv7-settings-mobile-exit,
.mv7-settings-mobile-faq-search,
.mv7-settings-mobile-danger-warning,
.mv7-whatsapp-mobile,
.mv7-locale-mobile,
.mv7-sync-mobile {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='settings'] {
    --settings-bg: #000000;
    --settings-surface: rgba(28, 28, 30, 0.78);
    --settings-soft: rgba(255, 255, 255, 0.055);
    --settings-line: rgba(255, 255, 255, 0.11);
    --settings-line-strong: rgba(255, 255, 255, 0.18);
    --settings-text: #f5f5f7;
    --settings-muted: #98989d;
    --settings-green: #39b86a;
    --settings-material-border: rgba(255, 255, 255, 0.13);
    --settings-material-highlight: rgba(255, 255, 255, 0.07);
    --settings-search-background: #1c1c1e;
    --settings-material-shadow:
      0 18px 42px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    background: var(--settings-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='settings'] {
    --settings-bg: #f2f4f2;
    --settings-surface: rgba(255, 255, 255, 0.68);
    --settings-soft: rgba(255, 255, 255, 0.55);
    --settings-line: rgba(18, 24, 20, 0.08);
    --settings-line-strong: rgba(18, 24, 20, 0.16);
    --settings-text: #101210;
    --settings-muted: #5f675f;
    --settings-material-border: rgba(255, 255, 255, 0.88);
    --settings-material-highlight: rgba(255, 255, 255, 0.72);
    --settings-search-background: #ffffff;
    --settings-material-shadow:
      0 20px 48px rgba(31, 45, 36, 0.09), 0 3px 12px rgba(31, 45, 36, 0.045),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);
  }

  body[data-v2-view='settings'] .mv7-workspace {
    background: var(--settings-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='settings'] .mv7-workspace {
    background:
      radial-gradient(circle at 12% 7%, rgba(255, 255, 255, 0.96) 0 11%, transparent 36%),
      radial-gradient(circle at 88% 20%, rgba(214, 232, 220, 0.34), transparent 34%),
      linear-gradient(145deg, #f8f9f8 0%, #eef2ef 54%, #f5f6f5 100%);
  }

  body[data-v2-view='settings'] .mv7-topbar {
    display: none !important;
    min-height: calc(66px + env(safe-area-inset-top));
    padding: max(10px, env(safe-area-inset-top)) 14px 10px;
    border: 0;
    background: color-mix(in srgb, var(--settings-bg) 88%, transparent);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(24px) saturate(130%);
    -webkit-backdrop-filter: blur(24px) saturate(130%);
  }

  body[data-v2-view='settings'] .mv7-topbar::after,
  body[data-v2-view='settings'] :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link) {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-mobile-topbar-start {
    display: flex;
    align-items: center;
    gap: 10px;
  }

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

  body[data-v2-view='settings'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 680;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='settings'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--settings-line);
    border-radius: 50%;
    background: var(--settings-surface);
    color: var(--settings-text);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='settings'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--settings-line);
    border-radius: 999px;
    background: var(--settings-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='settings'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='settings'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: var(--settings-soft);
    color: var(--settings-text);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='settings'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--settings-text);
    box-shadow: none;
  }

  body[data-v2-view='settings'] #profile-button {
    background: var(--settings-soft);
  }

  body[data-v2-view='settings'] #settings-view.mv7-settings-view {
    width: 100%;
    max-width: 620px;
    min-height: 100dvh;
    padding: max(18px, env(safe-area-inset-top)) 16px calc(42px + env(safe-area-inset-bottom));
    margin-inline: auto;
    background: transparent;
    color: var(--settings-text);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-home {
    display: none;
  }

  body[data-v2-view='settings'] #settings-view.is-mobile-home .mv7-settings-mobile-home {
    display: block;
  }

  body[data-v2-view='settings'] #settings-view.is-mobile-home .mv7-settings-hub {
    display: none;
  }

  body[data-v2-view='settings'] #settings-view.is-mobile-detail .mv7-settings-mobile-home {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-home > header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: 44px auto;
    align-items: start;
    row-gap: 14px;
    margin-bottom: 17px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-exit {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--settings-material-border);
    border-radius: 50%;
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    color: var(--settings-text);
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-exit svg {
    width: 17px;
    height: 17px;
    transform: rotate(180deg);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-home h2 {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    color: var(--settings-text);
    font-size: clamp(42px, 12vw, 52px);
    font-weight: 720;
    line-height: 0.98;
    letter-spacing: -0.062em;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-search {
    display: flex;
    height: 52px;
    align-items: center;
    gap: 11px;
    margin-bottom: 24px;
    padding: 0 16px;
    border: 1px solid var(--settings-material-border);
    border-radius: 18px;
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    box-shadow:
      0 12px 34px rgba(20, 32, 24, 0.07),
      inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }

  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search) {
    background: var(--settings-search-background) !important;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-search svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-search input {
    width: 100%;
    border: 0 !important;
    outline: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--settings-text);
    font-size: 15px;
  }

  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox'] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    background: var(--settings-search-background) !important;
    background-color: var(--settings-search-background) !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox']::-webkit-search-decoration,
  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox']::-webkit-search-cancel-button,
  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox']::-webkit-search-results-button,
  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox']::-webkit-search-results-decoration {
    display: none;
    appearance: none;
    -webkit-appearance: none;
  }

  body[data-v2-view='settings']
    #settings-view
    :is(.mv7-settings-mobile-search, .mv7-settings-search)
    input[role='searchbox']::-ms-clear {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups {
    display: grid;
    gap: 22px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section {
    --settings-tone-rgb: 69, 112, 255;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section[data-settings-tone='data'] {
    --settings-tone-rgb: 44, 181, 103;
  }

  body[data-v2-view='settings']
    .mv7-settings-mobile-groups
    > section[data-settings-tone='privacy'] {
    --settings-tone-rgb: 159, 84, 246;
  }

  body[data-v2-view='settings']
    .mv7-settings-mobile-groups
    > section[data-settings-tone='support'] {
    --settings-tone-rgb: 244, 161, 38;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > h3 {
    margin: 0 0 9px 3px;
    color: var(--settings-muted);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.012em;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > div {
    overflow: hidden;
    border: 1px solid var(--settings-material-border);
    border-radius: 22px;
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 62px;
    grid-template-columns: 44px minmax(0, 1fr) auto 15px;
    align-items: center;
    gap: 12px;
    padding: 0 15px;
    border: 0;
    background: transparent;
    color: var(--settings-text);
    text-align: left;
  }

  body[data-v2-view='settings']
    .mv7-settings-mobile-groups
    > section
    > div
    > button:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 15px;
    bottom: 0;
    left: 71px;
    height: 1px;
    background: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:first-child {
    width: 44px;
    height: 44px;
    padding: 11px;
    box-sizing: border-box;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--settings-text);
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:last-child {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button strong {
    font-size: 14px;
    font-weight: 640;
    letter-spacing: -0.012em;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button em {
    max-width: 126px;
    overflow: hidden;
    color: var(--settings-muted);
    font-size: 12px;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups .mv7-settings-mobile-danger-link {
    --settings-tone-rgb: 239, 77, 71;
    margin-top: 1px;
    border: 1px solid rgba(244, 79, 72, 0.18);
    border-radius: 22px;
    background: linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.08),
      color-mix(in srgb, #ef4d47 6%, var(--settings-surface))
    );
    color: #ef514c;
    box-shadow:
      0 16px 36px rgba(70, 18, 18, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button:active {
    background: color-mix(in srgb, var(--settings-text) 5%, transparent);
  }

  body[data-v2-view='settings']
    :is(.mv7-settings-mobile-exit, .mv7-settings-mobile-groups button):focus-visible {
    outline: 2px solid color-mix(in srgb, var(--settings-green) 72%, white);
    outline-offset: 2px;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='settings']
    .mv7-settings-mobile-groups
    .mv7-settings-mobile-danger-link {
    color: #c4323a;
  }

  body[data-v2-view='settings'] .mv7-settings-hub {
    display: block;
    width: 100%;
  }

  body[data-v2-view='settings'] .mv7-settings-nav,
  body[data-v2-view='settings'] .mv7-settings-context {
    display: none !important;
  }

  body[data-v2-view='settings'] .mv7-settings-stage {
    position: relative;
    width: 100%;
    min-width: 0;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-back {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    display: grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    place-items: center;
    border: 1px solid var(--settings-line);
    border-radius: 50%;
    background: var(--settings-surface);
    color: var(--settings-text);
    box-shadow: none;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-back svg {
    width: 17px;
    height: 17px;
    transform: rotate(180deg);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-settings-tab {
    gap: 12px;
  }

  body[data-v2-view='settings'] .mv7-settings-title {
    min-height: 54px;
    justify-content: flex-start;
    margin: 0 0 10px;
    padding: 2px 0 0 54px;
  }

  body[data-v2-view='settings'] .mv7-settings-title h3 {
    margin: 0;
    color: var(--settings-text);
    font-size: clamp(25px, 8vw, 31px);
    font-weight: 710;
    letter-spacing: -0.055em;
  }

  body[data-v2-view='settings'] .mv7-settings-title p {
    margin: 5px 0 0;
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.4;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-tab-layout,
      .mv7-tab-main,
      .mv7-tab-rail,
      .mv7-security-layout,
      .mv7-security-main,
      .mv7-security-rail,
      .mv7-notifications-layout,
      .mv7-notifications-main,
      .mv7-notifications-rail
    ) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body[data-v2-view='settings'] .mv7-settings-card {
    padding: 14px;
    border: 1px solid var(--settings-line);
    border-radius: 16px;
    background: var(--settings-surface);
    color: var(--settings-text);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.035);
  }

  body[data-v2-view='settings'] .mv7-settings-card::after {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-settings-card h4 {
    color: var(--settings-text);
    font-size: 13px;
    font-weight: 660;
  }

  body[data-v2-view='settings'] .mv7-settings-card > p,
  body[data-v2-view='settings'] .mv7-settings-hint {
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-settings-row {
    min-height: 54px;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 9px 0;
    border-color: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-settings-row strong,
  body[data-v2-view='settings'] .mv7-settings-row > span:not(:has(strong)) {
    color: var(--settings-text);
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-settings-row small {
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.35;
  }

  body[data-v2-view='settings'] :is(select, input:not([type='checkbox']):not([type='range'])) {
    border-color: var(--settings-line-strong);
    background: var(--settings-soft);
    color: var(--settings-text);
  }

  body[data-v2-view='settings'] .mv7-switch:checked {
    background: var(--settings-green);
  }

  body[data-v2-view='settings'] .mv7-preferences-fields,
  body[data-v2-view='settings'] .mv7-settings-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body[data-v2-view='settings'] .mv7-preferences-fields label,
  body[data-v2-view='settings'] .mv7-settings-fields label {
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='language']
    .mv7-preferences-currency-field,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='language']
    #settings-currency-rate-hint,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='language']
    .mv7-preferences-workspace
    .mv7-tab-rail,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='currency']
    .mv7-preferences-language-field,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='currency']
    .mv7-profile-region,
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='currency']
    .mv7-preferences-workspace
    .mv7-tab-rail {
    display: none !important;
  }

  body[data-v2-view='settings'] .mv7-profile-region-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-v2-view='settings'] .mv7-profile-region-summary > div {
    min-width: 0;
    padding: 10px 7px;
  }

  body[data-v2-view='settings'] .mv7-profile-region-summary :is(dt, dd) {
    overflow-wrap: anywhere;
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 9px;
    border-color: var(--settings-line);
    border-radius: 13px;
  }

  body[data-v2-view='settings'] .mv7-theme-preview {
    width: 100%;
    height: 80px !important;
    min-height: 80px;
  }

  body[data-v2-view='settings'] .mv7-theme-option-copy {
    padding-right: 24px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button.is-selected {
    border-color: var(--settings-green);
    box-shadow: inset 0 0 0 1px var(--settings-green);
  }

  body[data-v2-view='settings'] .mv7-appearance-preview-panel {
    display: none;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-appearance-density-title,
      .mv7-settings-segments,
      .mv7-settings-segments + .mv7-settings-hint
    ) {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-accent-swatches {
    gap: 10px;
  }

  body[data-v2-view='settings'] .mv7-category-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-category-toolbar .mv7-settings-search-wide {
    grid-column: 1 / -1;
  }

  body[data-v2-view='settings'] .mv7-category-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }

  body[data-v2-view='settings'] .mv7-category-toolbar #category-new {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    justify-content: center;
    padding-inline: 13px;
  }

  body[data-v2-view='settings'] .mv7-category-workspace,
  body[data-v2-view='settings'] .mv7-category-inspector {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body[data-v2-view='settings'] .mv7-category-empty {
    min-height: 210px;
  }

  body[data-v2-view='settings'] .mv7-category-inspector {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-category-table-head,
  body[data-v2-view='settings'] .mv7-category-tip {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip {
    min-height: 58px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    border-radius: 0;
  }

  body[data-v2-view='settings'] .mv7-backup-header {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
  }

  body[data-v2-view='settings'] .mv7-backup-header-icon {
    width: 38px;
    height: 38px;
  }

  body[data-v2-view='settings'] .mv7-backup-local-badge {
    grid-column: 2;
    justify-self: start;
    padding: 5px 8px;
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-backup-security-note {
    margin: 0 14px 12px;
  }

  body[data-v2-view='settings']
    .mv7-backup-card
    :is(
      .mv7-backup-security-note,
      .mv7-backup-inventory-heading small,
      .mv7-settings-metric dt,
      .mv7-backup-action-copy small,
      .mv7-backup-warning strong,
      .mv7-backup-warning small
    ) {
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-backup-card :is(p, small, dt, span, strong, button) {
    font-size: max(11px, 1em);
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric {
    min-height: 58px;
    padding: 9px;
  }

  body[data-v2-view='settings'] .mv7-backup-footer {
    padding: 14px;
  }

  body[data-v2-view='settings'] .mv7-backup-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-v2-view='settings'] .mv7-backup-actions button {
    min-width: 0;
    min-height: 42px;
    padding-inline: 8px;
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-report-options {
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-report-option {
    min-height: 72px;
    grid-template-columns: 42px minmax(0, 1fr) 36px;
    padding: 10px;
    border-color: var(--settings-line);
    border-radius: 13px;
    background: var(--settings-soft);
  }

  body[data-v2-view='settings'] .mv7-how-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body[data-v2-view='settings'] .mv7-how-grid > div {
    min-height: 54px;
    grid-template-columns: 28px minmax(0, 1fr);
    justify-items: start;
    padding: 10px 4px;
    border: 0;
    border-bottom: 1px solid var(--settings-line);
    text-align: left;
  }

  body[data-v2-view='settings'] .mv7-how-grid > div > :not(b):not(strong):not(small) {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-how-grid > div b {
    grid-row: 1 / span 2;
  }

  body[data-v2-view='settings'] .mv7-sync-control {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    padding: 10px 0;
  }

  /* Este selector estaba deshabilitado de forma permanente: en móvil parecía
     una opción utilizable aunque no tenía ninguna acción asociada. */
  body[data-v2-view='settings'] .mv7-sync-control:has(select[disabled]) {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-sync-hero {
    min-height: 0;
    padding: 18px 14px;
  }

  body[data-v2-view='settings'] .mv7-sync-cloud {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-sync-hero > .mv7-primary-button {
    width: 100%;
    min-width: 0;
  }

  body[data-v2-view='settings'] .mv7-sync-device-card {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-sync-status-row {
    min-height: 42px;
    border-color: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-sync-offline {
    grid-column: auto;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-card .mv7-primary-button {
    width: 100%;
    min-height: 44px;
    border-radius: 999px;
  }

  /* WhatsApp móvil — la misma integración, presentada como dos estados
     claros: antes de vincular y después de confirmar el número. */
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='whatsapp']
    .mv7-settings-mobile-back {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-color: var(--settings-material-border);
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='whatsapp']
    .mv7-whatsapp-workspace
    > .mv7-settings-title {
    min-height: 58px;
    margin: 0 0 22px;
    padding: 2px 0 0 60px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='whatsapp']
    .mv7-whatsapp-workspace
    > .mv7-settings-title
    h3 {
    font-size: clamp(27px, 8vw, 31px);
    font-weight: 710;
    line-height: 1.1;
    letter-spacing: -0.052em;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='whatsapp']
    .mv7-whatsapp-workspace
    > .mv7-settings-title
    p {
    max-width: 28rem;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.38;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-desktop {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile {
    display: grid;
    gap: 22px;
    width: 100%;
    color: var(--settings-text);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile [hidden] {
    display: none !important;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-whatsapp-mobile-hero,
      .mv7-whatsapp-mobile-how ol,
      .mv7-whatsapp-mobile-examples > div,
      .mv7-whatsapp-mobile-connection > div,
      .mv7-whatsapp-mobile-security
    ) {
    border: 1px solid var(--settings-material-border);
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero {
    overflow: hidden;
    padding: 17px;
    border-radius: 22px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-heading {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: start;
    gap: 13px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-heading > div {
    min-width: 0;
    padding-top: 3px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-heading > div > strong {
    display: block;
    font-size: 16px;
    font-weight: 690;
    letter-spacing: -0.025em;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-heading > div > p {
    margin: 6px 0 0;
    color: var(--settings-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-icon {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(44, 181, 103, 0.17);
    border-radius: 18px;
    background:
      radial-gradient(circle at 32% 18%, rgba(255, 255, 255, 0.72), transparent 44%),
      rgba(44, 181, 103, 0.13);
    color: #1fad57;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.62),
      0 9px 20px rgba(31, 160, 82, 0.08);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-icon > svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-icon > i {
    position: absolute;
    right: -4px;
    bottom: -4px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 3px solid var(--settings-surface);
    border-radius: 50%;
    background: #22ad55;
    color: #fff;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-icon > i svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-state-pill,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-active {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 10px;
    border-radius: 9px;
    background: var(--settings-soft);
    color: var(--settings-muted);
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-active {
    min-height: 24px;
    margin-top: 8px;
    padding-inline: 9px;
    background: rgba(44, 181, 103, 0.13);
    color: #20a954;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-phone {
    display: block;
    margin-top: 5px;
    overflow: hidden;
    color: var(--settings-muted);
    font-size: 14px;
    font-weight: 530;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-success {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 8px solid rgba(44, 181, 103, 0.07);
    border-radius: 50%;
    background: rgba(44, 181, 103, 0.12);
    color: #1fad57;
    box-sizing: content-box;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-success svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat {
    display: grid;
    gap: 10px;
    margin-top: 17px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat > p {
    position: relative;
    width: fit-content;
    max-width: 88%;
    margin: 0;
    padding: 11px 13px;
    border-radius: 16px;
    color: var(--settings-text);
    font-size: 12px;
    line-height: 1.4;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat .is-sent {
    justify-self: end;
    border-bottom-right-radius: 5px;
    background: rgba(44, 181, 103, 0.15);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat .is-received {
    min-width: min(82%, 255px);
    padding-right: 38px;
    border: 1px solid var(--settings-material-border);
    border-bottom-left-radius: 5px;
    background: color-mix(in srgb, var(--settings-surface) 86%, white 14%);
    box-shadow: 0 10px 24px rgba(20, 34, 25, 0.06);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat .is-received > i {
    position: absolute;
    right: 10px;
    bottom: 9px;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: rgba(44, 181, 103, 0.14);
    color: #1fad57;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-chat .is-received > i svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-section > h4 {
    margin: 0 0 9px 2px;
    color: var(--settings-muted);
    font-size: 13px;
    font-weight: 670;
    letter-spacing: -0.01em;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-how ol,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples > div,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection > div {
    overflow: hidden;
    margin: 0;
    padding: 0;
    border-radius: 22px;
    list-style: none;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-how li {
    position: relative;
    display: grid;
    min-height: 68px;
    grid-template-columns: 42px 23px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 8px 14px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-how li:not(:last-child)::after,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article:not(:last-child)::after,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection-row:first-child::after {
    position: absolute;
    right: 14px;
    bottom: 0;
    left: 66px;
    height: 1px;
    background: var(--settings-line);
    content: '';
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-row-icon,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(44, 181, 103, 0.13);
    border-radius: 13px;
    background:
      radial-gradient(circle at 32% 18%, rgba(255, 255, 255, 0.72), transparent 44%),
      rgba(44, 181, 103, 0.11);
    color: #1fad57;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  }

  body[data-v2-view='settings']
    :is(.mv7-whatsapp-mobile-row-icon, .mv7-whatsapp-mobile-examples article > span)
    svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-how li > b {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: #21ab54;
    color: #fff;
    font-size: 11px;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-whatsapp-mobile-how li,
      .mv7-whatsapp-mobile-examples article,
      .mv7-whatsapp-mobile-connection-row,
      .mv7-whatsapp-mobile-connection button
    )
    > p {
    display: grid;
    min-width: 0;
    gap: 3px;
    margin: 0;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-whatsapp-mobile-how li,
      .mv7-whatsapp-mobile-examples article,
      .mv7-whatsapp-mobile-connection-row,
      .mv7-whatsapp-mobile-connection button
    )
    > p
    strong {
    color: var(--settings-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.25;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-whatsapp-mobile-how li,
      .mv7-whatsapp-mobile-examples article,
      .mv7-whatsapp-mobile-connection-row,
      .mv7-whatsapp-mobile-connection button
    )
    > p
    small {
    overflow: hidden;
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.35;
    text-overflow: ellipsis;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article {
    position: relative;
    display: grid;
    min-height: 64px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 8px 14px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article.is-expense > span {
    border-color: rgba(238, 153, 42, 0.16);
    background: rgba(238, 153, 42, 0.12);
    color: #d58a24;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article.is-expense > span svg {
    transform: rotate(90deg);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article.is-income > span svg {
    transform: rotate(-90deg);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-examples article.is-transfer > span {
    border-color: rgba(55, 126, 231, 0.15);
    background: rgba(55, 126, 231, 0.11);
    color: #377ee7;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection-row,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection button {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 68px;
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 12px;
    padding: 8px 14px;
    border: 0;
    background: transparent;
    color: var(--settings-text);
    text-align: left;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection button > svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection .is-ok {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: #21ab54;
    color: #fff;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-connection .is-ok svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-security {
    display: grid;
    min-height: 78px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-color: rgba(44, 181, 103, 0.16);
    border-radius: 22px;
    background: color-mix(in srgb, rgba(44, 181, 103, 0.1) 32%, var(--settings-surface));
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-security > p {
    display: grid;
    gap: 4px;
    margin: 0;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-security strong {
    font-size: 13px;
    font-weight: 660;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-security small {
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.4;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-actions > div {
    display: grid;
    gap: 9px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-primary {
    display: inline-flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #090b0a;
    border-radius: 18px;
    background: #090b0a;
    color: #fff;
    box-shadow: 0 17px 34px -20px rgba(0, 0, 0, 0.72);
    font-size: 14px;
    font-weight: 680;
    text-decoration: none;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-primary:disabled {
    opacity: 0.56;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-primary svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-actions small,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hint,
  body[data-v2-view='settings'] .mv7-whatsapp-mobile-ready {
    margin: 0;
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hint {
    min-height: 0;
    margin-top: 7px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hint:empty {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hint.is-error {
    color: #db4f4f;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-ready {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-ready > i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1fad57;
    box-shadow: 0 0 0 4px rgba(44, 181, 103, 0.1);
  }

  body[data-v2-view='settings']
    :is(.mv7-whatsapp-mobile-primary, .mv7-whatsapp-mobile-connection button):focus-visible {
    outline: 2px solid color-mix(in srgb, var(--settings-green) 72%, white);
    outline-offset: 2px;
  }

  body[data-v2-view='settings'] .mv7-privacy-policy {
    color: inherit;
    text-decoration: none;
  }

  body[data-v2-view='settings'] .mv7-notifications-master {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  body[data-v2-view='settings'] .mv7-notification-group {
    display: grid;
    gap: 7px;
  }

  body[data-v2-view='settings'] .mv7-notification-group > h4 {
    margin: 4px 2px 0;
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-settings-row:has(#privacy-show-progress),
      .mv7-settings-row:has(#privacy-allow-follow),
      .mv7-settings-row:has(#privacy-anonymous-analytics),
      .mv7-notification-row.is-visual-only
    ) {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-notification-row,
  body[data-v2-view='settings'] .mv7-notification-row:not(:has(select)) {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 9px 0;
  }

  body[data-v2-view='settings'] .mv7-notification-row select {
    grid-column: 2 / -1;
    width: 100%;
    min-height: 34px;
  }

  body[data-v2-view='settings'] .mv7-notification-row:has(#notif-pref-weekly) select[disabled] {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-notification-channels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-v2-view='settings'] .mv7-notification-channels button {
    min-height: 40px;
    border-right: 1px solid var(--settings-line);
    border-bottom: 0;
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-notifications-rail,
  body[data-v2-view='settings'] .mv7-notification-save {
    display: none;
  }

  /* Algunas rejillas declaran display más adelante en la hoja base. Se
     respeta siempre el estado semántico hidden para que no reaparezcan. */
  body[data-v2-view='settings'] .mv7-security-rail[hidden] {
    display: none !important;
  }

  body[data-v2-view='settings'] .mv7-security-hero {
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 0;
    padding: 14px;
  }

  body[data-v2-view='settings'] .mv7-security-shield {
    width: 48px;
    height: 48px;
  }

  body[data-v2-view='settings'] .mv7-security-shield > svg:first-child {
    width: 34px;
    height: 34px;
  }

  body[data-v2-view='settings'] .mv7-security-score {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-security-access-row,
  body[data-v2-view='settings'] .mv7-security-access-row.is-visual-only {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px 0;
  }

  body[data-v2-view='settings'] .mv7-security-access-row > button,
  body[data-v2-view='settings'] .mv7-security-access-row > select {
    grid-column: 2 / -1;
    width: 100%;
    min-height: 38px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-faq-search {
    display: flex;
    min-height: 42px;
    border-color: var(--settings-line);
    border-radius: 13px;
    background: var(--settings-soft);
  }

  body[data-v2-view='settings'] .mv7-faq-item {
    border-color: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-faq-question {
    min-height: 52px;
    padding: 0 4px;
    color: var(--settings-text);
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-faq-answer p {
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.5;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning {
    display: flex;
    min-height: 72px;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(239, 77, 71, 0.48);
    border-radius: 15px;
    background: color-mix(in srgb, #ef4d47 5%, var(--settings-surface));
    color: var(--settings-text);
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #ef514c;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-danger-card {
    display: grid;
    gap: 0;
  }

  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 16px 4px;
  }

  body[data-v2-view='settings'] .mv7-danger-card button {
    width: 100%;
    min-height: 42px;
    border-radius: 11px;
  }
}

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

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button {
    min-height: 60px;
    grid-template-columns: 42px minmax(0, 1fr) 14px;
    gap: 10px;
    padding-inline: 12px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:first-child {
    width: 42px;
    height: 42px;
    padding: 10px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button em {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-backup-header {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  body[data-v2-view='settings'] .mv7-backup-local-badge {
    grid-column: 2;
    justify-self: start;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-heading {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-hero-icon {
    width: 52px;
    height: 52px;
  }

  body[data-v2-view='settings'] :is(.mv7-whatsapp-mobile-state-pill, .mv7-whatsapp-mobile-success) {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-success {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-whatsapp-mobile-how li {
    grid-template-columns: 40px 22px minmax(0, 1fr);
    padding-inline: 11px;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-whatsapp-mobile-examples article,
      .mv7-whatsapp-mobile-connection-row,
      .mv7-whatsapp-mobile-connection button
    ) {
    padding-inline: 11px;
  }
}

/* Presupuesto móvil 2026: plan editorial conectado, separado de escritorio. */
.mv7-budget-mobile-reference {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='budgets'] {
    --budgetm-bg: #000000;
    --budgetm-surface: #1c1c1e;
    --budgetm-surface-soft: #2c2c2e;
    --budgetm-line: rgba(255, 255, 255, 0.1);
    --budgetm-text: #f5f5f7;
    --budgetm-muted: #98989d;
    --budgetm-track: rgba(255, 255, 255, 0.1);
    --budgetm-green: #38c47b;
    background: var(--budgetm-bg);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='budgets'] .mv7-budget-mobile-available {
    background:
      radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.035), transparent 45%),
      linear-gradient(155deg, #202022, #141416);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.045),
      0 18px 42px -30px rgba(0, 0, 0, 0.9);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='budgets'] {
    --budgetm-bg: var(--v2-warm-base);
    --budgetm-surface: var(--v2-warm-surface);
    --budgetm-surface-soft: var(--v2-warm-soft);
    --budgetm-line: rgba(11, 15, 13, 0.075);
    --budgetm-text: #080908;
    --budgetm-muted: #626963;
    --budgetm-track: #e7e9e8;
    --budgetm-green: #05603a;
  }

  body[data-v2-view='budgets'] .mv7-workspace {
    background: var(--budgetm-bg);
  }

  body[data-v2-view='budgets'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--budgetm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='budgets'] .mv7-topbar::after,
  body[data-v2-view='budgets'] .mv7-page-identity,
  body[data-v2-view='budgets'] #conn-status-chip,
  body[data-v2-view='budgets'] #whatsapp-quick-link {
    display: none !important;
  }

  body[data-v2-view='budgets'] .mv7-mobile-topbar-start,
  body[data-v2-view='budgets'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='budgets'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='budgets'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--budgetm-line);
    border-radius: 50%;
    background: var(--budgetm-surface);
    color: var(--budgetm-text);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='budgets'] .mv7-menu-button svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='budgets'] .mv7-mobile-brand {
    gap: 7px;
    color: var(--budgetm-text);
  }

  body[data-v2-view='budgets'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='budgets'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='budgets'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--budgetm-line);
    border-radius: 999px;
    background: var(--budgetm-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='budgets'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='budgets'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--budgetm-text) 8%, transparent);
    box-shadow: none;
    color: var(--budgetm-text);
    font-size: 11px;
  }

  body[data-v2-view='budgets'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='budgets'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--budgetm-text);
    box-shadow: none;
  }

  body[data-v2-view='budgets'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='budgets'] #profile-button {
    background: var(--budgetm-surface-soft);
    font-size: 12px;
  }

  body[data-v2-view='budgets'] #budgets-view.mv7-budgets-view {
    width: 100%;
    max-width: 560px;
    padding: 18px 16px calc(38px + env(safe-area-inset-bottom));
    background: var(--budgetm-bg);
  }

  body[data-v2-view='budgets'] .mv7-budget-desktop-legacy {
    display: none !important;
  }

  body[data-v2-view='budgets'] .mv7-budget-mobile-reference {
    display: grid;
    gap: 20px;
    color: var(--budgetm-text);
  }

  .mv7-budget-mobile-heading {
    display: grid;
    gap: 8px;
    padding: 0 4px 2px;
  }

  .mv7-budget-mobile-heading > span {
    color: var(--budgetm-muted);
    font-size: 13px;
  }

  .mv7-budget-mobile-heading h2 {
    margin: 0;
    color: var(--budgetm-text);
    font-size: clamp(34px, 10.2vw, 45px);
    font-weight: 735;
    letter-spacing: -0.06em;
    line-height: 1.02;
  }

  .mv7-budget-mobile-heading h2 span {
    color: inherit;
  }

  .mv7-budget-mobile-heading > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 5px;
  }

  .mv7-budget-mobile-heading p {
    min-width: 0;
    margin: 0;
    color: var(--budgetm-text);
    font-size: 14px;
  }

  .mv7-budget-mobile-heading p strong {
    font-size: 17px;
    font-weight: 720;
  }

  .mv7-budget-mobile-heading button {
    min-height: 38px;
    flex: 0 0 auto;
    padding: 0 17px;
    border: 1.5px solid var(--budgetm-text);
    border-radius: 999px;
    background: transparent;
    color: var(--budgetm-text);
    font-size: 12px;
    font-weight: 560;
  }

  .mv7-budget-mobile-available {
    display: grid;
    min-height: 180px;
    align-content: center;
    gap: 11px;
    padding: 22px 19px 18px;
    border: 1px solid var(--budgetm-line);
    border-radius: 24px;
    background:
      radial-gradient(
        circle at 82% 12%,
        color-mix(in srgb, var(--budgetm-green) 6%, transparent),
        transparent 45%
      ),
      var(--budgetm-surface);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.035);
  }

  .mv7-budget-mobile-available > span {
    color: var(--budgetm-muted);
    font-size: 13px;
  }

  .mv7-budget-mobile-available > strong {
    overflow: hidden;
    color: var(--budgetm-text);
    font-size: clamp(32px, 10.5vw, 46px);
    font-weight: 735;
    letter-spacing: -0.055em;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-budget-mobile-segments {
    display: flex;
    width: 100%;
    height: 17px;
    overflow: hidden;
    gap: 2px;
    margin-top: 7px;
    border-radius: 999px;
    background: var(--budgetm-track);
  }

  .mv7-budget-mobile-segments > i {
    display: block;
    min-width: 2px;
    height: 100%;
    border-radius: 2px;
  }

  .mv7-budget-mobile-segments > i:first-child {
    border-radius: 999px 2px 2px 999px;
  }

  .mv7-budget-mobile-segments > i.is-available {
    min-width: 0;
    flex: 1 1 auto;
    background: var(--budgetm-track);
    border-radius: 2px 999px 999px 2px;
  }

  .mv7-budget-mobile-available footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--budgetm-text);
    font-size: 12px;
  }

  .mv7-budget-mobile-distribution {
    display: grid;
    gap: 12px;
  }

  .mv7-budget-mobile-distribution > header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px;
  }

  .mv7-budget-mobile-distribution h3 {
    margin: 0;
    color: var(--budgetm-text);
    font-size: 17px;
    font-weight: 720;
    letter-spacing: -0.035em;
  }

  .mv7-budget-mobile-distribution header span {
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--budgetm-surface-soft);
    color: var(--budgetm-muted);
    font-size: 11px;
  }

  .mv7-budget-mobile-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.08fr);
    grid-auto-flow: row;
    gap: 10px;
  }

  .mv7-budget-mobile-card {
    position: relative;
    display: grid;
    min-width: 0;
    overflow: hidden;
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-areas:
      'icon copy'
      'progress progress';
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid color-mix(in srgb, var(--budget-mobile-color) 10%, var(--budgetm-line));
    border-radius: 22px;
    background: color-mix(in srgb, var(--budget-mobile-color) 8%, var(--budgetm-surface));
    color: var(--budgetm-text);
    text-align: left;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.025);
  }

  .mv7-budget-mobile-card.is-featured {
    min-height: 292px;
    grid-row: span 2;
    grid-template-columns: 1fr;
    grid-template-areas:
      'icon'
      'copy'
      'progress';
    align-content: space-between;
    padding: 17px;
    border-color: rgba(255, 255, 255, 0.07);
    background: #0b0c0b;
    color: #ffffff;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.14);
  }

  .mv7-budget-mobile-card.is-side {
    min-height: 141px;
  }

  .mv7-budget-mobile-card.is-compact {
    min-height: 120px;
  }

  .mv7-budget-mobile-card-icon {
    grid-area: icon;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: var(--budget-mobile-color);
    color: #ffffff;
    font-size: 12px;
    letter-spacing: 0.08em;
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-icon {
    background: #ffffff;
    color: #080908;
  }

  .mv7-budget-mobile-card-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-budget-mobile-card-icon.is-emoji {
    font-size: 21px;
    letter-spacing: 0;
  }

  .mv7-budget-mobile-card-copy {
    grid-area: copy;
    display: grid;
    min-width: 0;
    gap: 5px;
  }

  .mv7-budget-mobile-card-copy strong,
  .mv7-budget-mobile-card-copy b,
  .mv7-budget-mobile-card-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-budget-mobile-card-copy strong {
    color: inherit;
    font-size: 13px;
    font-weight: 680;
  }

  .mv7-budget-mobile-card-copy b {
    color: inherit;
    font-size: 17px;
    font-weight: 720;
    letter-spacing: -0.035em;
  }

  .mv7-budget-mobile-card-copy small {
    color: var(--budgetm-muted);
    font-size: 10.5px;
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-copy {
    align-self: start;
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-copy strong {
    font-size: 15px;
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-copy b {
    font-size: 21px;
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-copy small {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
  }

  .mv7-budget-mobile-card.is-compact {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
  }

  .mv7-budget-mobile-card.is-compact .mv7-budget-mobile-card-icon {
    width: 40px;
    height: 40px;
  }

  .mv7-budget-mobile-card.is-compact .mv7-budget-mobile-card-copy b {
    font-size: 15px;
  }

  .mv7-budget-mobile-card-progress {
    grid-area: progress;
    display: block;
    width: 100%;
    height: 5px;
    overflow: hidden;
    align-self: end;
    border-radius: 999px;
    background: color-mix(in srgb, var(--budget-mobile-color) 15%, var(--budgetm-track));
  }

  .mv7-budget-mobile-card-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--budget-mobile-color);
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-progress {
    background: rgba(255, 255, 255, 0.22);
  }

  .mv7-budget-mobile-card.is-featured .mv7-budget-mobile-card-progress i {
    background: #ffffff;
  }

  .mv7-budget-mobile-empty {
    display: grid;
    min-height: 180px;
    grid-column: 1 / -1;
    place-content: center;
    gap: 7px;
    padding: 24px;
    border: 1px dashed var(--budgetm-line);
    border-radius: 22px;
    background: var(--budgetm-surface);
    color: var(--budgetm-text);
    text-align: center;
  }

  .mv7-budget-mobile-empty small {
    max-width: 260px;
    color: var(--budgetm-muted);
    line-height: 1.45;
  }

  .mv7-budget-mobile-insight {
    display: grid;
    min-height: 82px;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid color-mix(in srgb, var(--budgetm-green) 10%, var(--budgetm-line));
    border-radius: 22px;
    background: color-mix(in srgb, var(--budgetm-green) 7%, var(--budgetm-surface));
    color: var(--budgetm-text);
    text-align: left;
  }

  .mv7-budget-mobile-insight > span:first-child {
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--budgetm-green) 14%, var(--budgetm-surface));
    color: var(--budgetm-green);
  }

  .mv7-budget-mobile-insight > span:nth-child(2) {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .mv7-budget-mobile-insight strong {
    overflow: hidden;
    color: var(--budgetm-text);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-budget-mobile-insight small {
    color: var(--budgetm-muted);
    font-size: 11px;
  }

  .mv7-budget-mobile-insight svg,
  .mv7-budget-mobile-menu svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-budget-mobile-menu {
    width: min(390px, calc(100% - 24px));
    max-width: none;
    margin: auto auto max(12px, env(safe-area-inset-bottom));
    padding: 0;
    border: 1px solid var(--budgetm-line, rgba(255, 255, 255, 0.1));
    border-radius: 25px;
    background: var(--budgetm-surface, #121513);
    color: var(--budgetm-text, #ffffff);
  }

  .mv7-budget-mobile-menu::backdrop {
    background: rgba(6, 8, 7, 0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  .mv7-budget-mobile-menu .mv7-dialog-body {
    display: grid;
    gap: 12px;
    padding: 18px;
  }

  .mv7-budget-mobile-menu .mv7-dialog-body > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-budget-mobile-menu h2 {
    margin: 2px 0 0;
    color: var(--budgetm-text);
    font-size: 19px;
  }

  .mv7-budget-mobile-menu-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--budgetm-line);
    border-radius: 17px;
  }

  #budget-mobile-menu-categories {
    max-height: min(340px, 46vh);
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .mv7-budget-mobile-menu-list.is-secondary {
    background: color-mix(in srgb, var(--budgetm-text) 2.5%, transparent);
  }

  .mv7-budget-mobile-menu-list > button {
    display: grid;
    min-height: 64px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 10px 13px;
    border: 0;
    border-bottom: 1px solid var(--budgetm-line);
    background: transparent;
    color: var(--budgetm-text);
    text-align: left;
  }

  .mv7-budget-mobile-menu-list > button:last-child {
    border-bottom: 0;
  }

  .mv7-budget-mobile-menu-list span {
    display: grid;
    gap: 3px;
  }

  .mv7-budget-mobile-menu-list strong {
    color: var(--budgetm-text);
    font-size: 13px;
  }

  .mv7-budget-mobile-menu-list small {
    color: var(--budgetm-muted);
    font-size: 10.5px;
  }

  .mv7-budget-mobile-menu-empty {
    padding: 20px 14px;
    margin: 0;
    color: var(--budgetm-muted);
    font-size: 12px;
    text-align: center;
  }
}

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

  .mv7-budget-mobile-heading h2 {
    font-size: 34px;
  }

  .mv7-budget-mobile-grid {
    gap: 8px;
  }

  .mv7-budget-mobile-card {
    padding: 12px;
  }

  .mv7-budget-mobile-card.is-featured {
    min-height: 270px;
  }
}

/* ── Drawer móvil 2026: navegación personal, amplia y conectada ────────────
   Esta composición existe aparte del sidebar de escritorio. En desktop se
   mantiene oculta; en móvil reemplaza solo su presentación y conserva las
   mismas rutas y estados de Zenit. */
.mv7-mobile-drawer {
  display: none;
}

@media (max-width: 768px) {
  .mv7-sidebar {
    --mv7-drawer-bg: #0d100e;
    --mv7-drawer-surface: #151816;
    --mv7-drawer-surface-soft: #191d1a;
    --mv7-drawer-text: #f6f8f6;
    --mv7-drawer-muted: #929993;
    --mv7-drawer-line: rgba(255, 255, 255, 0.085);
    width: min(360px, 74vw);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    border-radius: 0 30px 30px 0;
    background: var(--mv7-drawer-bg);
    color: var(--mv7-drawer-text);
    box-shadow: 28px 0 74px rgba(0, 0, 0, 0.45);
    overscroll-behavior: contain;
    scrollbar-width: none;
  }

  :root[data-resolved-theme='light'] .mv7-sidebar {
    --mv7-drawer-bg: var(--v2-warm-surface);
    --mv7-drawer-surface: #fcf9f3;
    --mv7-drawer-surface-soft: var(--v2-warm-soft);
    --mv7-drawer-text: #090a09;
    --mv7-drawer-muted: #777b78;
    --mv7-drawer-line: rgba(16, 20, 17, 0.085);
    box-shadow: 28px 0 74px rgba(20, 23, 21, 0.2);
  }

  .mv7-sidebar::-webkit-scrollbar {
    display: none;
  }

  .mv7-sidebar > :not(.mv7-mobile-drawer) {
    display: none !important;
  }

  .mv7-mobile-drawer {
    display: flex;
    width: 100%;
    min-height: 100%;
    flex-direction: column;
    padding: max(28px, env(safe-area-inset-top)) 20px max(18px, env(safe-area-inset-bottom));
  }

  .mv7-mobile-drawer button,
  .mv7-mobile-drawer a {
    color: inherit;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  .mv7-mobile-drawer-top {
    display: grid;
    gap: 22px;
  }

  .mv7-mobile-drawer-profile {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 58px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 13px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
  }

  .mv7-mobile-drawer-avatar {
    display: grid;
    width: 58px;
    height: 58px;
    overflow: hidden;
    place-items: center;
    border: 5px solid var(--mv7-drawer-bg);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.32), transparent 48%), #b3a68f;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.13);
    outline: 1px solid var(--mv7-drawer-line);
    outline-offset: -5px;
  }

  .mv7-mobile-drawer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .mv7-mobile-drawer-person {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .mv7-mobile-drawer-person strong,
  .mv7-mobile-drawer-person small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-mobile-drawer-person strong {
    color: var(--mv7-drawer-text);
    font-size: 16px;
    font-weight: 680;
    letter-spacing: -0.03em;
  }

  .mv7-mobile-drawer-person small {
    color: var(--mv7-drawer-muted);
    font-size: 12px;
  }

  .mv7-mobile-drawer-profile > svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
  }

  .mv7-mobile-drawer-balance {
    position: relative;
    display: grid;
    min-height: 92px;
    align-content: center;
    gap: 7px;
    padding: 17px 68px 17px 20px;
    border: 1px solid var(--mv7-drawer-line);
    border-radius: 20px;
    background: var(--mv7-drawer-surface);
  }

  .mv7-mobile-drawer-balance > span:first-child {
    color: var(--mv7-drawer-muted);
    font-size: 12px;
  }

  .mv7-mobile-drawer-balance > strong {
    overflow: hidden;
    color: var(--mv7-drawer-text);
    font-size: clamp(19px, 6.2vw, 26px);
    font-weight: 700;
    letter-spacing: -0.045em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-mobile-drawer-balance-icon {
    position: absolute;
    top: 50%;
    right: 17px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--mv7-drawer-line);
    border-radius: 14px;
    background: var(--mv7-drawer-bg);
    transform: translateY(-50%);
  }

  .mv7-mobile-drawer-balance-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  .mv7-mobile-drawer-nav {
    display: grid;
    gap: 1px;
    padding: 22px 1px 16px;
  }

  .mv7-mobile-drawer-nav a,
  .mv7-mobile-drawer-support :is(a, button) {
    display: grid;
    min-height: 43px;
    grid-template-columns: 31px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 0 9px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: var(--mv7-drawer-text);
    font-size: 14px;
    font-weight: 590;
    letter-spacing: -0.015em;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
  }

  .mv7-mobile-drawer-nav a:active,
  .mv7-mobile-drawer-support :is(a, button):active,
  .mv7-mobile-drawer-nav a.is-active {
    background: var(--mv7-drawer-surface-soft);
  }

  .mv7-mobile-drawer-nav a[hidden] {
    display: none;
  }

  .mv7-mobile-drawer-nav svg,
  .mv7-mobile-drawer-support svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
  }

  .mv7-mobile-drawer-bottom {
    display: grid;
    gap: 15px;
    margin-top: auto;
  }

  .mv7-mobile-drawer-support {
    display: grid;
    gap: 1px;
    padding-top: 10px;
    border-top: 1px solid var(--mv7-drawer-line);
  }

  .mv7-mobile-drawer-nav a.is-active {
    background: transparent;
  }

  .mv7-mobile-drawer-auth {
    display: grid;
    width: 100%;
    min-height: 52px;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    align-items: center;
    padding: 0 14px;
    border: 1px solid var(--mv7-drawer-line);
    border-radius: 16px;
    background: var(--mv7-drawer-surface);
    color: var(--mv7-drawer-text);
    cursor: pointer;
  }

  .mv7-mobile-drawer-auth svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
  }

  .mv7-mobile-drawer-auth span {
    grid-column: 2;
    font-size: 14px;
    font-weight: 620;
    text-align: center;
  }

  .mv7-sidebar-scrim {
    background: rgba(7, 9, 8, 0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  .mv7-sidebar-close {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .mv7-sidebar {
    width: 78vw;
  }

  .mv7-mobile-drawer {
    padding-inline: 17px;
  }

  .mv7-mobile-drawer-top {
    gap: 18px;
  }

  .mv7-mobile-drawer-nav {
    padding-block: 17px 13px;
  }

  .mv7-mobile-drawer-nav a,
  .mv7-mobile-drawer-support :is(a, button) {
    min-height: 41px;
  }
}

/* ── Inicio móvil 2026: dirección simple, aireada y nativa ───────────────
   Esta capa vive únicamente en el archivo mobile separado y no modifica
   la composición de escritorio. Reutiliza los mismos nodos/IDs de datos. */
.mv7-mobile-home-actions,
.mv7-mobile-section-count {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] {
    --home-bg: #000000;
    --home-surface: #121513;
    --home-surface-soft: #0e110f;
    --home-surface-raised: #181c19;
    --home-line: rgba(255, 255, 255, 0.075);
    --home-text: #f5f7f6;
    --home-muted: #858d88;
    --home-dim: #626a65;
    --home-accent: #50d5a4;
    --home-accent-soft: rgba(80, 213, 164, 0.13);
    --home-expense: #f1836f;
    --home-button: #f3f6f4;
    --home-button-text: #080a09;
    background: var(--home-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --home-bg: var(--v2-warm-base);
    --home-surface: var(--v2-warm-soft);
    --home-surface-soft: #fcf9f3;
    --home-surface-raised: var(--v2-warm-surface);
    --home-line: rgba(18, 23, 20, 0.065);
    --home-text: #080908;
    --home-muted: #626963;
    --home-dim: #667085;
    --home-accent: #05603a;
    --home-accent-soft: rgba(47, 174, 127, 0.11);
    --home-expense: #b54735;
    --home-button: #090a09;
    --home-button-text: #ffffff;
  }

  body[data-v2-view='overview'] .mv7-workspace {
    background: var(--home-bg);
  }

  body[data-v2-view='overview'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--home-bg) 88%, transparent);
    box-shadow: none;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='overview'] .mv7-topbar::after,
  body[data-v2-view='overview'] .mv7-page-identity,
  body[data-v2-view='overview'] #conn-status-chip,
  body[data-v2-view='overview'] #whatsapp-quick-link {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-topbar-start {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
  }

  body[data-v2-view='overview'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    background: var(--home-surface-raised);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-menu-button svg {
    width: 18px;
    height: 18px;
  }

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

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--home-line);
    border-radius: 999px;
    background: var(--home-surface-raised);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='overview'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--home-text) 8%, transparent);
    box-shadow: none;
    color: var(--home-text);
    font-size: 11px;
  }

  body[data-v2-view='overview'] #topbar-login-button:not([hidden]):hover {
    background: color-mix(in srgb, var(--home-text) 13%, transparent);
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='overview'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='overview'] #profile-button {
    background: var(--home-surface);
    color: var(--home-text);
    font-size: 12px;
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    grid-auto-rows: max-content;
    align-content: start;
    row-gap: 8px;
    column-gap: 0;
    padding: 10px 18px calc(82px + env(safe-area-inset-bottom));
    background: var(--home-bg);
  }

  body[data-v2-view='overview']
    #overview-view
    :is(
      .mv7-welcome-card,
      .mv7-section-heading,
      .mv7-cashflow-panel,
      .mv7-overview-budget-panel,
      .mv7-overview-secondary-grid,
      .mv7-mobile-personalize-inicio
    ) {
    display: none;
  }

  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-grid, .mv7-analysis-grid) {
    display: contents;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 140px !important;
    grid-column: 1 / -1;
    order: 1;
    margin: 0;
    padding: 10px 2px 6px !important;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--home-text);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary::before,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary::after,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-dot,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-icon,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-tag,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > p,
  body[data-v2-view='overview'] #overview-view .mv7-metric-history-link,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline,
  body[data-v2-view='overview'] #overview-view .mv7-mobile-balance-orbit {
    display: none !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head {
    display: flex;
    min-height: 0;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--home-muted);
    font-size: 14px;
    font-weight: 520;
    letter-spacing: -0.02em;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3::after {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    content: 'i';
    font-family: Georgia, serif;
    font-size: 11px;
    font-weight: 700;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    display: flex;
    max-width: 100%;
    align-items: baseline;
    margin: 0;
    overflow: hidden;
    color: var(--home-text);
    font-size: clamp(38px, 11.8vw, 52px);
    font-weight: 630;
    letter-spacing: -0.07em;
    line-height: 1;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-compact-value {
    font-size: clamp(31px, 9.4vw, 43px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    font-size: clamp(25px, 7.8vw, 36px);
    letter-spacing: -0.075em;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    display: flex;
    min-height: 0;
    align-items: center;
    margin-top: 12px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-change {
    display: inline-flex;
    width: auto;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--home-accent-soft);
    color: var(--home-accent);
    font-size: 10px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-change b {
    color: inherit;
    font-size: 11px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-change span {
    color: var(--home-muted);
  }

  body[data-v2-view='overview'] #overview-insight {
    display: grid;
    min-width: 0;
    min-height: 30px;
    grid-column: 1 / -1;
    grid-template-columns: 26px minmax(0, 1fr);
    order: 2;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    padding: 0 2px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] #overview-insight::before,
  body[data-v2-view='overview'] #overview-insight::after {
    display: none !important;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-icon {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 50%;
    background: var(--home-accent-soft);
    color: var(--home-accent);
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-icon svg {
    width: 14px;
    height: 14px;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy {
    min-width: 0;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy small,
  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-bars {
    display: none;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy p {
    margin: 0;
    overflow: hidden;
    color: var(--home-muted);
    font-size: 11px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-accounts {
    display: block;
    min-width: 0;
    min-height: 0;
    grid-column: 1 / -1;
    order: 3;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] #widget-accounts[hidden] {
    display: block;
  }

  body[data-v2-view='overview'] #widget-accounts::before,
  body[data-v2-view='overview'] #widget-accounts::after,
  body[data-v2-view='overview'] #widget-activity::before,
  body[data-v2-view='overview'] #widget-activity::after {
    display: none !important;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header {
    display: flex;
    min-height: 0;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 13px;
    padding: 0;
    border: 0;
    background: transparent;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header {
    display: flex;
    margin-bottom: 10px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header h3,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header h3 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--home-text);
    font-size: 20px;
    font-weight: 650;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='overview'] .mv7-mobile-section-count {
    display: inline-grid;
    min-width: 27px;
    height: 27px;
    place-items: center;
    padding-inline: 7px;
    border-radius: 50%;
    background: var(--home-surface);
    color: var(--home-text);
    font-size: 12px;
    font-weight: 620;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header p,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header p {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a {
    display: inline-flex;
    width: auto;
    height: auto;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    color: var(--home-text);
    font-size: 13px;
    font-weight: 620;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a::before {
    content: 'Ver';
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a svg,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a svg {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-list {
    display: flex;
    flex-direction: row;
    gap: 8px;
    padding: 0;
    overflow-x: auto;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-list::-webkit-scrollbar {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-item {
    display: grid;
    min-height: 82px;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 11px 14px;
    border: 1px solid var(--home-line);
    border-radius: 20px;
    background: var(--home-surface);
    box-shadow: none;
    scroll-snap-align: start;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-item:nth-child(n + 3) {
    display: grid;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-token {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid var(--token-line);
    border-radius: 50%;
    background: var(--token-bg);
    color: var(--token-color);
    font-size: 13px;
    font-weight: 720;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-copy strong {
    overflow: hidden;
    color: var(--home-text);
    font-size: 15px;
    font-weight: 640;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-copy span {
    overflow: hidden;
    color: var(--home-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-value {
    display: block;
    min-width: 0;
    text-align: right;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-value strong {
    color: var(--home-text);
    font-size: 14px;
    font-weight: 650;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-value i,
  body[data-v2-view='overview'] #widget-accounts .mv7-account-total {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-state {
    position: relative;
    display: grid;
    min-height: 82px;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    box-sizing: border-box;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    padding: 18px 20px;
    border: 1px solid var(--home-line);
    border-radius: 20px;
    background: var(--home-surface);
    color: var(--home-text);
    scroll-snap-align: start;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-state::after {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-account-visual {
    position: relative;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 50%;
    background: color-mix(in srgb, var(--home-surface) 84%, transparent);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.72),
      0 8px 18px -14px rgba(12, 24, 18, 0.55);
    color: var(--home-text);
    isolation: isolate;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-account-visual::before,
  body[data-v2-view='overview'] #widget-accounts .mv7-empty-account-visual::after {
    position: absolute;
    z-index: -1;
    width: 37px;
    height: 37px;
    border: 1px solid color-mix(in srgb, var(--home-muted) 10%, transparent);
    border-radius: 13px;
    background: color-mix(in srgb, var(--home-muted) 6%, transparent);
    content: '';
    transform: translate(-4px, 1px) rotate(-5deg);
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-account-visual::after {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-account-visual svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-empty-state > div,
  body[data-v2-view='overview'] #widget-activity .mv7-empty-state > div {
    min-width: 0;
  }

  body[data-v2-view='overview'] :is(#widget-accounts, #widget-activity) .mv7-empty-state strong {
    display: block;
    overflow: hidden;
    color: var(--home-text);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] :is(#widget-accounts, #widget-activity) .mv7-empty-state p {
    display: none;
  }

  body[data-v2-view='overview'] #widget-activity {
    display: block;
    min-width: 0;
    min-height: 0;
    grid-column: 1 / -1;
    order: 4;
    margin: 2px 0 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-list {
    display: grid;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 20px;
    background: var(--home-surface);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-state {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 112px;
    box-sizing: border-box;
    grid-template-rows: auto 45px;
    align-content: center;
    gap: 7px;
    padding: 17px 20px 14px;
    color: var(--home-text);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-visual {
    display: block;
    width: 100%;
    height: 45px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-visual svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-path {
    fill: none;
    stroke: color-mix(in srgb, var(--home-muted) 22%, var(--home-line));
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    stroke-linecap: round;
    stroke-width: 1.15;
    animation: mv7-empty-flow-draw 900ms 120ms ease-out forwards;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-node {
    opacity: 0;
    stroke-width: 8;
    transform-box: fill-box;
    transform-origin: center;
    animation: mv7-empty-flow-node 380ms ease-out forwards;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-node.is-mint {
    fill: #63c79b;
    stroke: rgba(99, 199, 155, 0.17);
    animation-delay: 670ms;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-node.is-neutral {
    fill: color-mix(in srgb, var(--home-muted) 32%, var(--home-surface));
    stroke: color-mix(in srgb, var(--home-muted) 9%, transparent);
  }

  body[data-v2-view='overview']
    #widget-activity
    .mv7-empty-activity-node.is-neutral:nth-of-type(1) {
    animation-delay: 350ms;
  }

  body[data-v2-view='overview']
    #widget-activity
    .mv7-empty-activity-node.is-neutral:nth-of-type(2) {
    animation-delay: 510ms;
  }

  @keyframes mv7-empty-flow-draw {
    to {
      stroke-dashoffset: 0;
    }
  }

  @keyframes mv7-empty-flow-node {
    from {
      opacity: 0;
      transform: scale(0.65);
    }

    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-path,
    body[data-v2-view='overview'] #widget-activity .mv7-empty-activity-node {
      opacity: 1;
      animation: none;
      stroke-dashoffset: 0;
    }
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row {
    display: grid;
    min-height: 64px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid var(--home-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(n + 3) {
    display: none;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(2) {
    border-bottom: 0;
  }

  body[data-v2-view='overview']
    #widget-activity
    .mv7-transaction-row
    > span:not(.mv7-transaction-token) {
    display: none;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-token {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--token-line);
    border-radius: 50%;
    background: var(--token-bg);
    color: var(--token-color);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-token-label {
    display: none;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-token-icon {
    display: block;
    width: 17px;
    height: 17px;
    stroke-width: 2;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-activity
    .mv7-transaction-token {
    border-color: color-mix(in srgb, var(--token-color) 34%, rgba(18, 23, 20, 0.16));
    background: color-mix(in srgb, var(--token-color) 10%, var(--home-surface-raised));
    color: color-mix(in srgb, var(--token-color) 68%, #242925);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy strong {
    overflow: hidden;
    color: var(--home-text);
    font-size: 13px;
    font-weight: 640;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy span {
    overflow: hidden;
    color: var(--home-muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-amount {
    color: var(--home-text);
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-amount.is-income {
    color: var(--home-accent);
  }

  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) {
    position: relative;
    display: block;
    width: auto;
    min-width: 0;
    min-height: 80px;
    order: 5;
    margin: 30px 0 0;
    padding: 11px 12px;
    overflow: visible;
    border: 1px solid var(--home-line);
    border-radius: 20px 0 0 20px;
    background: var(--home-surface);
    box-shadow: none;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense {
    order: 5;
    border-left: 0;
    border-radius: 0 20px 20px 0;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income::before {
    position: absolute;
    inset: auto auto calc(100% + 8px) 0;
    z-index: 2;
    display: block !important;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none !important;
    box-shadow: none !important;
    color: var(--home-text);
    content: 'Este mes';
    font-size: 17px;
    font-weight: 650;
    letter-spacing: -0.035em;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense::before {
    display: none;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-head {
    display: grid;
    min-height: 0;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    margin: 0 0 8px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-icon {
    display: grid;
    width: 32px;
    height: 32px;
    grid-column: 1;
    grid-row: 1;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--home-accent-soft);
    color: var(--home-accent);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense .mv7-metric-icon {
    background: color-mix(in srgb, var(--home-expense) 12%, transparent);
    color: var(--home-expense);
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-icon
    svg {
    width: 15px;
    height: 15px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-head
    h3 {
    grid-column: 2;
    grid-row: 1;
    color: var(--home-text);
    font-size: 12px;
    font-weight: 640;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    :is(.mv7-metric-tag, .mv7-metric-chevron, p, .mv7-change, .mv7-sparkline) {
    display: none;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    > strong {
    display: block;
    overflow: hidden;
    color: var(--home-text);
    font-family: var(--v2-font);
    font-size: clamp(13px, 3.7vw, 16px);
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income > strong {
    color: var(--home-accent);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense > strong {
    color: var(--home-expense);
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    > strong.is-compact-value {
    font-size: clamp(11px, 3.2vw, 14px);
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    > strong.is-extra-compact-value {
    font-size: clamp(9px, 2.8vw, 12px);
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    position: fixed;
    z-index: 46;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    width: min(100%, 520px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 50px;
    gap: 7px;
    margin-inline: auto;
    padding: 8px 14px max(10px, env(safe-area-inset-bottom));
    background: linear-gradient(to top, var(--home-bg) 70%, transparent);
    pointer-events: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions button {
    display: flex;
    min-width: 0;
    height: 50px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid color-mix(in srgb, var(--home-button) 13%, transparent);
    border-radius: 999px;
    background: var(--home-button);
    box-shadow: 0 13px 32px rgba(0, 0, 0, 0.15);
    color: var(--home-button-text);
    cursor: pointer;
    font: inherit;
    pointer-events: auto;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions button > span {
    font-size: 21px;
    font-weight: 450;
    line-height: 1;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions button strong {
    font-size: 13px;
    font-weight: 650;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions .is-expense {
    background: var(--home-surface-raised);
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions .is-transfer {
    width: 50px;
    padding: 0;
    border-color: var(--home-line);
    background: var(--home-surface-raised);
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions .is-transfer svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric, .mv7-panel, .mv7-transaction-row, .mv7-account-item) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* Capa final del control auxiliar. Se mantiene al final para prevalecer sobre
   las reglas históricas de la tercera acción de Inicio. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    padding-right: 0;
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch {
    right: max(12px, calc((100vw - 520px) / 2 + 12px));
    bottom: max(86px, calc(74px + env(safe-area-inset-bottom)));
    width: 56px;
    min-width: 56px;
    height: 56px;
    min-height: 56px;
    opacity: 1;
    transition:
      opacity 280ms ease,
      transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch.is-idle {
    opacity: 0.58;
    transform: scale(0.94);
  }

  body[data-v2-view='overview'] #overview-view > .mv7-assistive-touch.is-snapping {
    transition:
      top 300ms cubic-bezier(0.22, 1, 0.36, 1),
      left 300ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 180ms ease,
      transform 180ms ease;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    width: 54px;
    height: 54px;
    border-color: rgba(255, 255, 255, 0.7);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.64), rgba(226, 231, 229, 0.42)),
      rgba(242, 244, 243, 0.56);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      inset 0 -1px 0 rgba(94, 104, 99, 0.09),
      0 8px 22px -10px rgba(30, 38, 34, 0.46);
    backdrop-filter: blur(24px) saturate(1.45);
    -webkit-backdrop-filter: blur(24px) saturate(1.45);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb::before {
    top: 4px;
    right: 12px;
    left: 12px;
    height: 11px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.72), transparent);
    opacity: 0.6;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb::after {
    inset: 3px;
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-core {
    width: 27px;
    height: 27px;
    grid-template-columns: repeat(2, 3px);
    grid-template-rows: repeat(2, 3px);
    gap: 4px;
    border-color: rgba(255, 255, 255, 0.52);
    background: rgba(255, 255, 255, 0.32);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66);
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-core i {
    width: 3px;
    height: 3px;
    box-shadow: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu {
    width: min(200px, calc(100vw - 20px));
    gap: 0;
    padding: 7px;
    overflow: hidden;
    border-color: rgba(255, 255, 255, 0.64);
    border-radius: 24px;
    background: rgba(241, 244, 243, 0.7);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.88),
      0 18px 44px -18px rgba(22, 29, 26, 0.52);
    backdrop-filter: blur(30px) saturate(1.55);
    -webkit-backdrop-filter: blur(30px) saturate(1.55);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button {
    min-height: 70px;
    gap: 6px;
    border: 0;
    border-radius: 16px;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button:nth-child(odd) {
    border-right: 1px solid rgba(78, 88, 83, 0.1);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(78, 88, 83, 0.1);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button > span {
    width: 29px;
    height: 29px;
    border: 0;
    background: rgba(255, 255, 255, 0.38);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
  }

  body[data-v2-view='overview'] .mv7-assistive-menu strong {
    font-size: 10.5px;
    font-weight: 600;
  }

  body[data-v2-view='overview'] .mv7-assistive-menu button:active {
    background: rgba(255, 255, 255, 0.42);
    transform: scale(0.96);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    border-color: rgba(255, 255, 255, 0.17);
    background:
      linear-gradient(145deg, rgba(91, 91, 96, 0.58), rgba(32, 32, 35, 0.48)),
      rgba(38, 38, 41, 0.62);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.2),
      inset 0 -1px 0 rgba(0, 0, 0, 0.28),
      0 10px 24px -10px rgba(0, 0, 0, 0.84);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-core {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-menu {
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(35, 35, 38, 0.76);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 20px 48px -16px rgba(0, 0, 0, 0.92);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-menu button {
    border-color: rgba(255, 255, 255, 0.075);
    background: transparent;
    box-shadow: none;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-assistive-menu
    button
    > span {
    border: 0;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-menu button:active {
    background: rgba(255, 255, 255, 0.09);
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  body[data-v2-view='overview'] .mv7-assistive-menu {
    transform-origin: var(--assistive-origin-x, 50%) var(--assistive-origin-y, 100%);
    animation: mv7-assistive-menu-in 220ms cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media (max-width: 768px) and (prefers-reduced-transparency: reduce) {
  body[data-v2-view='overview'] .mv7-assistive-touch-orb,
  body[data-v2-view='overview'] .mv7-assistive-menu {
    background: #f2f2f4;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-orb,
  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-menu {
    background: #2c2c2e;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions {
    grid-template-columns: repeat(3, 39px);
  }

  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 39px) auto 39px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='overview'] #profile-button {
    width: 39px;
    min-width: 39px;
    height: 39px;
    min-height: 39px;
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    padding-inline: 14px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    font-size: 39px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-panel-header h3 {
    font-size: 18px;
  }

  body[data-v2-view='overview'] :is(#widget-accounts, #widget-activity) .mv7-panel-header {
    gap: 8px;
  }

  body[data-v2-view='overview'] :is(#widget-accounts, #widget-activity) .mv7-panel-header a {
    flex: 0 0 auto;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-item {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 9px;
    padding-inline: 11px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-token {
    width: 42px;
    height: 42px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-value strong {
    font-size: 13px;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    padding-inline: 12px;
  }
}

/* Perfil de cuenta — diseño móvil separado del canvas de escritorio.
   No agrega navegación inferior: usa la topbar y el drawer existentes. */
@media (max-width: 768px) {
  body[data-v2-view='profile'] .mv7-topbar {
    min-height: var(--v2-topbar-height);
  }

  body[data-v2-view='profile'] .mv7-page-identity {
    display: flex;
  }

  body[data-v2-view='profile'] .mv7-page-identity .mv7-page-icon,
  body[data-v2-view='profile'] .mv7-page-identity .mv7-live-pill,
  body[data-v2-view='profile'] .mv7-page-identity p {
    display: none;
  }

  body[data-v2-view='profile'] .mv7-page-identity h1 {
    font-size: 17px;
  }

  body[data-v2-view='profile'] .mv7-menu-button svg {
    transform: rotate(180deg);
  }

  body[data-v2-view='profile'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) {
    display: none;
  }

  #profile-view.mv7-profile-view {
    min-height: calc(100dvh - var(--v2-topbar-height));
    padding: 20px 16px calc(32px + env(safe-area-inset-bottom));
  }

  #profile-view .mv7-profile-editor-shell {
    width: 100%;
  }

  #profile-view .mv7-profile-preview-toggle {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 12px;
    border: 1px solid var(--v2-line);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-muted);
    font-size: 12px;
  }

  #profile-view .mv7-profile-preview-toggle svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }

  #profile-view .mv7-profile-editor-layout {
    display: block;
  }

  #profile-view .mv7-profile-editor-card {
    border-radius: 18px;
  }

  #profile-view .mv7-profile-editor-hero {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 15px;
    min-height: 0;
    padding: 18px 17px;
  }

  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar {
    width: 82px;
    height: 82px;
  }

  #profile-view .mv7-profile-avatar-camera {
    width: 31px;
    height: 31px;
  }

  #profile-view .mv7-profile-hero-copy strong {
    font-size: 23px;
  }

  #profile-view .mv7-profile-hero-copy span {
    font-size: 13px;
  }

  #profile-view .mv7-profile-social-line {
    gap: 7px;
    margin-top: 1px;
    font-size: 10px;
  }

  #profile-view .mv7-profile-social-line span,
  #profile-view .mv7-profile-social-line strong {
    font-size: inherit;
    letter-spacing: 0;
  }

  #profile-view .mv7-profile-photo-button {
    min-width: 0;
    grid-column: 2;
    justify-self: start;
    min-height: 34px;
    margin-top: -5px;
    padding-inline: 12px;
    font-size: 11px;
  }

  #profile-view .mv7-profile-fields {
    gap: 17px;
    padding: 20px 17px;
  }

  #profile-view .mv7-profile-field input {
    min-height: 46px;
  }

  #profile-view .mv7-profile-field textarea {
    min-height: 96px;
  }

  #profile-view .mv7-profile-field input[readonly] {
    padding-right: 112px;
    font-size: 12px;
  }

  #profile-view #profile-username {
    padding-right: 105px;
  }

  #profile-view .mv7-profile-field-state,
  #profile-view .mv7-profile-email-state {
    right: 9px;
    font-size: 10px;
  }

  #profile-view .mv7-profile-email-state {
    padding-inline: 6px;
  }

  #profile-view .mv7-profile-editor-actions {
    display: grid;
    gap: 12px;
    padding: 15px 17px 17px;
  }

  #profile-view .mv7-profile-editor-status {
    justify-content: center;
  }

  #profile-view .mv7-profile-editor-actions > div {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    margin: 0;
  }

  #profile-view .mv7-profile-editor-actions button {
    width: 100%;
    min-width: 0;
  }

  #profile-view .mv7-profile-preview-card {
    position: static;
    display: none;
    min-height: 0;
    margin-top: 12px;
    grid-template-rows: auto auto auto;
    border-radius: 18px;
  }

  #profile-view.is-preview-open .mv7-profile-preview-card {
    display: grid;
  }

  #profile-view .mv7-profile-preview-content {
    min-height: 330px;
    padding-block: 32px;
  }

  #profile-view .mv7-profile-preview-avatar {
    width: 112px;
    height: 112px;
  }

  .mv7-profile-photo-dialog {
    width: calc(100% - 24px);
  }

  .mv7-profile-photo-dialog .mv7-dialog-body {
    padding: 17px !important;
    overscroll-behavior: contain;
  }

  .mv7-profile-photo-dialog:has(.cropt-container) {
    overflow: hidden;
  }

  .mv7-profile-photo-dialog:has(.cropt-container) .mv7-profile-photo-stage {
    touch-action: none;
  }

  .mv7-profile-photo-preview {
    width: 142px;
    height: 142px;
  }

  .mv7-profile-photo-tools {
    flex-direction: column;
  }

  .mv7-profile-photo-tools .mv7-secondary-button {
    width: 100%;
  }

  .mv7-preferences-workspace .mv7-tab-layout,
  .mv7-preferences-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 370px) {
  :scope .mv7-topbar {
    padding-inline: 12px;
  }

  #transactions-view.mv7-transactions-view {
    padding-inline: 12px;
  }

  #transactions-view .mv7-tx-summary {
    grid-template-rows: 138px 94px;
    min-height: 232px;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2),
  #transactions-view .mv7-tx-summary-item:nth-child(3) {
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 7px;
    padding-inline: 8px;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2)::before,
  #transactions-view .mv7-tx-summary-item:nth-child(3)::before {
    width: 32px;
    height: 32px;
    font-size: 18px;
  }

  #transactions-view .mv7-tx-filters {
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 6px;
  }

  #transactions-view .mv7-tx-type-filter {
    gap: 4px;
  }

  #transactions-view .mv7-tx-type-filter button {
    padding-inline: 5px;
    font-size: 10px;
  }

  #transactions-view .mv7-tx-row {
    grid-template-columns: 40px minmax(0, 1fr) minmax(82px, auto) 9px;
    gap: 0 7px;
    padding-inline: 9px;
  }

  #transactions-view .mv7-transaction-token {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 768px) {
  .mv7-networth-view {
    min-height: 0;
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-networth-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-networth-heading h2 {
    font-size: 28px;
  }

  .mv7-networth-heading > div > p:last-child {
    max-width: 250px;
    font-size: var(--v2-text-xs);
    line-height: 1.5;
  }

  .mv7-networth-heading .mv7-secondary-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }

  .mv7-networth-heading .mv7-secondary-button svg {
    display: none;
  }

  .mv7-networth-heading .mv7-secondary-button::after {
    content: '+';
    font-size: 18px;
  }

  .mv7-networth-section {
    min-height: 0;
    border-radius: 13px;
  }

  .mv7-networth-summary {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    padding: 18px 16px 17px;
  }

  .mv7-networth-primary h3 {
    margin-top: 5px;
    font-size: 34px;
  }

  .mv7-networth-totals {
    width: 100%;
    justify-content: space-between;
    gap: 18px;
  }

  .mv7-networth-totals div:last-child {
    text-align: right;
  }

  .mv7-networth-totals dd {
    font-size: 13px;
  }

  .mv7-networth-cross-section {
    min-height: 460px;
    padding: 29px 73px 31px 31px;
  }

  .mv7-networth-depth-label {
    left: 9px;
    font-size: var(--v2-text-micro);
  }

  .mv7-networth-depth-label span {
    display: none;
  }

  .mv7-networth-layer {
    width: min(93%, calc(var(--layer-width) + 5%));
  }

  .mv7-networth-layer.is-selected {
    width: 100%;
  }

  .mv7-networth-layer-surface {
    min-height: 47px;
    gap: 8px;
    padding-block: 9px;
  }

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

  .mv7-networth-layer-copy strong {
    max-width: 135px;
    overflow: hidden;
    font-size: var(--v2-text-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-layer-copy span,
  .mv7-networth-layer-surface > b {
    font-size: var(--v2-text-micro);
  }

  .mv7-networth-layer-detail {
    width: 86%;
    min-height: 42px;
    padding: 6px 9px;
  }

  .mv7-networth-layer-detail small {
    font-size: var(--v2-text-micro);
  }

  .mv7-networth-layer-detail strong,
  .mv7-networth-edit {
    font-size: var(--v2-text-micro);
  }

  .mv7-networth-zero {
    margin-right: -8px;
    margin-left: -18px;
    font-size: var(--v2-text-micro);
  }

  .mv7-networth-zero span {
    display: none;
  }

  .mv7-networth-measure {
    top: 29px;
    right: 7px;
    bottom: 31px;
    width: 59px;
    gap: 7px;
  }

  .mv7-networth-measure > i::before,
  .mv7-networth-measure > i::after {
    width: 9px;
  }

  .mv7-networth-measure strong {
    max-width: 44px;
    font-size: var(--v2-text-micro);
    white-space: normal;
  }

  .mv7-networth-footer {
    grid-template-columns: 1fr;
  }

  .mv7-networth-ratio,
  .mv7-networth-history {
    padding: 18px 15px;
  }

  .mv7-networth-ratio {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  }

  .mv7-networth-history svg {
    height: 76px;
  }

  .mv7-asset-dialog footer {
    grid-template-columns: auto 1fr auto;
  }

  .mv7-asset-dialog footer > span {
    display: none;
  }
}

@media (max-width: 768px) {
  .mv7-community-comments-dialog {
    width: 100%;
    max-height: 82dvh;
  }

  .mv7-community-comments-dialog .mv7-dialog-body {
    max-height: calc(82dvh - 28px);
  }

  .mv7-community-comment-form {
    grid-template-columns: 1fr;
  }

  .mv7-community-comment-form .mv7-primary-button {
    width: 100%;
  }

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

@media (max-width: 760px) {
  /* Calendario: seven real columns instead of a clipped desktop canvas. */
  .mv7-calendar-runway {
    overflow: hidden;
  }
  .mv7-calendar-runway::before,
  .mv7-calendar-days {
    min-width: 0 !important;
    width: 100%;
  }
  .mv7-calendar-runway::before {
    content: 'LUN   MAR   MIÉ   JUE   VIE   SÁB   DOM';
    height: 34px;
    font-size: var(--v2-text-micro);
  }
  .mv7-calendar-day {
    min-width: 0;
    height: 68px;
    padding: 7px 4px;
  }
  .mv7-calendar-day > strong {
    font-size: var(--v2-text-xs);
  }
  .mv7-calendar-day.is-today > strong {
    font-size: 13px;
  }
  .mv7-calendar-day.is-today > strong::after {
    display: none;
  }
  .mv7-calendar-day .mv7-calendar-event {
    min-height: 18px;
    margin-top: 4px;
    padding: 2px 3px;
  }
  .mv7-calendar-day .mv7-calendar-event > div strong {
    font-size: 0;
  }
  .mv7-calendar-day .mv7-calendar-event > div strong::before {
    content: '•';
    font-size: var(--v2-text-sm);
    color: var(--event-color);
  }
  .mv7-calendar-day .mv7-calendar-event > div span {
    font-size: var(--v2-text-micro);
  }
  .mv7-calendar-more {
    font-size: 0;
  }
  .mv7-calendar-more::after {
    content: '+';
    font-size: var(--v2-text-micro);
  }

  /* Recurrentes: cards and a vertical simulator; no invisible horizontal canvas. */
  .mv7-recurring-kpis {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: visible;
    gap: 9px;
  }
  .mv7-recurring-kpis article {
    min-width: 0;
    min-height: 112px;
    padding: 14px;
  }
  .mv7-recurring-kpis article > i {
    width: 38px;
    height: 38px;
  }
  .mv7-recurring-kpis strong {
    font-size: 16px;
  }
  .mv7-orbit-scroll {
    overflow: visible;
  }
  .mv7-orbit-field {
    min-width: 0;
    width: 100%;
  }
  .mv7-orbit-nodes::before {
    content: 'Servicios recurrentes';
    padding: 12px 4px;
    font-size: var(--v2-text-xs);
    word-spacing: normal;
  }
  .mv7-recurring-node {
    height: auto;
    min-height: 116px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: 7px 9px;
    padding: 12px 4px;
  }
  .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;
    grid-template-columns: 1fr;
  }
  .mv7-recurring-simulator {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 16px;
  }
  .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);
  }

  /* Empty content should explain, not create an artificial full-screen void. */
  .mv7-tx-ledger:has(.mv7-tx-empty) {
    min-height: 260px;
  }
  .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 185px;
  }
  .mv7-tx-ledger-footer {
    min-height: 44px;
  }
  .mv7-account-stage:has(.mv7-account-deck:empty),
  .mv7-account-stage:has(.mv7-account-empty) {
    min-height: 224px;
  }
  .mv7-future-stage:has(.mv7-goal-empty) {
    min-height: 300px;
  }
  .mv7-budget-lanes:has(.mv7-budget-empty) {
    min-height: 260px;
  }
  .mv7-networth-cross-section {
    min-height: 360px;
  }
  .mv7-networth-depth-label {
    font-size: var(--v2-text-xs);
  }
  .mv7-networth-measure {
    right: 8px;
  }
  .mv7-networth-ratio {
    max-width: calc(100% - 16px);
  }

  .mv7-community-toolbar {
    position: absolute;
    right: 12px;
    top: 7px;
    padding: 0;
  }
  .mv7-community-tabs {
    padding-right: 48px;
    scrollbar-width: none;
  }
  .mv7-community-tabs button {
    min-width: max-content;
    padding: 0 14px;
    white-space: nowrap;
  }
  .mv7-community-tabs button.is-active::after {
    right: 14px;
    left: 14px;
  }
  .mv7-community-composer {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding-top: 15px;
  }
  .mv7-community-composer .mv7-community-avatar {
    width: 34px;
    height: 34px;
  }
  .mv7-community-compose-footer {
    align-items: center;
    gap: 8px;
  }
  .mv7-community-compose-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .mv7-community-rail-module {
    min-height: 0;
  }

  .mv7-investments-view {
    padding: 18px 14px 28px;
  }
  .mv7-investments-heading h2 {
    font-size: 28px;
  }
  .mv7-investments-summary {
    grid-template-columns: 1fr 1fr;
  }
  .mv7-investments-summary article:first-child {
    grid-column: 1/-1;
  }
  .mv7-investments-summary article {
    padding: 15px;
  }
  .mv7-investments-summary strong {
    font-size: 19px;
  }
  .mv7-investments-empty {
    min-height: 290px;
    padding: 25px 18px;
  }
  .mv7-investment-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
  }
  .mv7-investment-row div:nth-of-type(2) {
    grid-column: 2;
    text-align: left;
  }
  .mv7-investment-row em {
    grid-column: 3;
    grid-row: 1/3;
    min-width: 0;
  }
}

@media (max-width: 390px) {
  .mv7-recurring-kpis {
    grid-template-columns: 1fr;
  }
  .mv7-investments-summary {
    grid-template-columns: 1fr;
  }
  .mv7-investments-summary article:first-child {
    grid-column: auto;
  }
  .mv7-calendar-day {
    height: 62px;
  }
  .mv7-calendar-day .mv7-calendar-event > div span {
    display: none;
  }
}

/* ── de css/v2-legacy-b.css ── */
@media (max-width: 768px) {
  :root {
    --v2-topbar-height: 72px;
    /* El fondo base (--v2-canvas: #030504) tiene un leve tinte verdoso
       (G apenas por encima de R/B) — imperceptible en desktop mezclado con
       el resto del layout, pero visible como "negro verdoso" en el fondo
       plano de móvil. Negro puro acá, sin tocar el valor de escritorio. */
    --v2-canvas: #000000;
  }

  body {
    background:
      radial-gradient(circle at 105% 12%, rgba(140, 142, 138, 0.11), transparent 24rem),
      linear-gradient(160deg, #000000, var(--v2-canvas) 48%);
  }

  .mv7-ambient {
    display: none;
  }

  .mv7-app {
    display: block;
    width: 100%;
    min-height: 100dvh;
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .mv7-sidebar {
    position: fixed;
    z-index: 80;
    width: min(312px, calc(100% - 42px));
    /* height (no solo min-height) pisa el `height: 100vh` de escritorio
       (css/v2-legacy-a.css) — en iPhone modo standalone (agregado a
       Inicio) 100vh puede calcular más alto que la pantalla real, y como
       la barra es fixed sin scroll propio, el pie (tuerquita de Ajustes)
       terminaba dibujado fuera de lo visible, inalcanzable. */
    height: 100dvh;
    min-height: 100dvh;
    padding-top: max(22px, env(safe-area-inset-top));
    padding-bottom: env(safe-area-inset-bottom);
    border-right-color: var(--v2-line-strong);
    box-shadow: 24px 0 70px rgba(0, 0, 0, 0.65);
    inset: 0 auto 0 0;
    transform: translateX(-105%);
    transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .mv7-sidebar.is-open {
    transform: translateX(0);
  }

  .mv7-sidebar.is-motion-animating,
  .mv7-sidebar-scrim.is-motion-animating {
    transition: none !important;
  }

  .mv7-sidebar.is-motion-animating {
    contain: paint;
    will-change: transform;
    box-shadow: 12px 0 30px rgba(0, 0, 0, .24) !important;
    backface-visibility: hidden;
  }

  .mv7-sidebar-scrim.is-motion-animating {
    will-change: opacity;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .mv7-sidebar-scrim {
    position: fixed;
    z-index: 70;
    display: block;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
  }

  .mv7-sidebar-scrim.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .mv7-sidebar-close,
  .mv7-menu-button {
    display: grid;
  }

  .mv7-topbar {
    position: sticky;
    top: 0;
    min-height: var(--v2-topbar-height);
    padding: max(12px, env(safe-area-inset-top)) 15px 12px;
  }

  .mv7-topbar-actions {
    gap: 6px;
  }

  .mv7-topbar-actions .mv7-icon-button:first-child {
    display: none;
  }

  .mv7-page-icon {
    display: none;
  }

  .mv7-page-identity {
    flex: 1;
    gap: 0;
  }

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

  .mv7-page-identity p {
    max-width: 47vw;
    font-size: var(--v2-text-xs);
  }

  .mv7-content {
    padding: 22px 14px calc(34px + env(safe-area-inset-bottom));
  }

  .mv7-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 17px;
    margin-bottom: 16px;
  }

  .mv7-section-heading h2 {
    font-size: 29px;
  }

  .mv7-heading-tools {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .mv7-preview-badge {
    position: absolute;
    top: 88px;
    right: 14px;
  }

  .mv7-period-control {
    justify-content: space-between;
  }

  .mv7-primary-button {
    min-height: 40px;
  }

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

  .mv7-metric-grid {
    display: flex;
    gap: 10px;
    padding-right: 14px;
    margin-right: -14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .mv7-metric-grid::-webkit-scrollbar {
    display: none;
  }

  .mv7-metric {
    width: min(82vw, 330px);
    min-width: min(82vw, 330px);
    min-height: 183px;
    scroll-snap-align: start;
  }

  .mv7-metric-primary {
    grid-column: auto;
  }

  .mv7-metric > strong {
    font-size: 24px;
  }

  .mv7-analysis-grid {
    margin-top: 10px;
  }

  .mv7-panel,
  .mv7-metric {
    border-radius: 18px;
  }

  .mv7-panel-header {
    min-height: 64px;
    padding: 13px 14px;
  }

  .mv7-chart-wrap {
    padding: 17px 12px 7px 42px;
  }

  .mv7-main-chart {
    height: 220px;
  }

  .mv7-chart-axis {
    width: 34px;
    height: 180px;
    left: 4px;
    top: 26px;
  }

  .mv7-account-list {
    display: flex;
    padding-inline: 13px;
  }

  .mv7-activity-panel {
    margin-top: 10px;
  }

  .mv7-transaction-list {
    padding: 7px 13px 12px;
  }

  .mv7-transaction-row {
    min-height: 64px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 10px;
  }

  .mv7-transaction-row > span {
    display: none;
  }

  .mv7-transaction-amount {
    font-size: var(--v2-text-xs);
  }

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

  .mv7-secondary-view {
    min-height: calc(100dvh - var(--v2-topbar-height));
    padding: 18px 14px;
  }

  .mv7-secondary-copy {
    min-height: 440px;
    padding: 28px;
  }

  .mv7-secondary-copy .mv7-page-icon {
    display: grid;
  }

  .mv7-transactions-view {
    padding: 21px 14px calc(34px + env(safe-area-inset-bottom));
  }

  .mv7-tx-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-tx-heading h2 {
    font-size: 27px;
  }

  .mv7-tx-heading > div > p:last-child {
    max-width: 270px;
    font-size: var(--v2-text-xs);
    line-height: 1.5;
  }

  .mv7-tx-summary {
    grid-template-columns: 1fr 1fr;
    border-radius: 12px;
  }

  .mv7-tx-summary-item {
    min-height: 100px;
    padding: 15px;
  }

  .mv7-tx-summary-item:first-child {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .mv7-tx-summary-item:nth-child(2) {
    border-top: 1px solid var(--v2-line);
  }

  .mv7-tx-summary-item strong {
    font-size: 19px;
  }

  .mv7-tx-mini-chart {
    grid-column: 1 / -1;
    min-height: 98px;
  }

  .mv7-tx-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 11px 0;
  }

  .mv7-tx-search {
    width: 100%;
    grid-column: 1 / -1;
  }

  .mv7-tx-search input,
  .mv7-tx-select select {
    font-size: 16px;
  }

  .mv7-tx-type-filter {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mv7-tx-type-filter::-webkit-scrollbar {
    display: none;
  }

  .mv7-tx-filter-count {
    display: none;
  }

  .mv7-tx-ledger {
    border-radius: 12px;
  }

  .mv7-tx-columns {
    display: none;
  }

  .mv7-tx-list {
    min-height: 330px;
    padding: 6px;
  }

  .mv7-tx-row {
    min-height: 68px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 0 9px;
    margin-bottom: 5px;
    border: 1px solid rgba(255, 255, 255, 0.045);
    border-radius: 9px;
    background: rgba(0, 0, 0, 0.13);
  }

  .mv7-tx-row:last-child {
    margin-bottom: 0;
  }

  .mv7-tx-row-main {
    display: contents;
  }

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

  .mv7-tx-category,
  .mv7-tx-cell-account,
  .mv7-tx-cell-date,
  .mv7-tx-cell-status {
    display: none;
  }

  .mv7-tx-row-amount {
    font-size: var(--v2-text-xs);
  }

  .mv7-tx-ledger-footer {
    min-height: 52px;
  }

  .mv7-tx-inspector {
    position: fixed;
    z-index: 95;
    width: 100%;
    max-height: 88dvh;
    min-height: 0;
    overflow-y: auto;
    border-width: 1px 0 0;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -30px 80px rgba(0, 0, 0, 0.68);
    inset: auto 0 0;
    transform: translateY(105%);
    transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .mv7-tx-inspector.is-open {
    transform: translateY(0);
  }

  .mv7-tx-inspector-empty {
    min-height: 340px;
  }

  .mv7-tx-detail-list > div {
    min-height: 48px;
  }

  .mv7-tx-detail-hero > strong {
    font-size: 22px;
  }

  /* Centrado + glass en vez de bottom sheet (2026-08-16, pedido explícito
     del usuario: "que no salga de abajo, si no que salga en el medio la
     ventana y sea estilo glass" — extendido de un caso puntual a todos los
     .mv7-dialog). .mv7-alert-dialog y .mv7-dm-dialog tienen su propio
     tratamiento y no pasan por acá. */
  .mv7-dialog {
    width: min(440px, calc(100% - 32px));
    max-width: none;
    max-height: calc(100dvh - 48px);
    margin: auto;
    border-width: 1px;
    border-radius: 20px;
  }

  .mv7-dialog form {
    padding: 20px 16px calc(18px + env(safe-area-inset-bottom));
  }

  .mv7-form-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .mv7-field input,
  .mv7-field select {
    height: 44px;
    font-size: 16px;
  }

  .mv7-toast {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: 14px;
    text-align: center;
  }

  .mv7-accounts-view {
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-accounts-desktop {
    display: none;
  }

  .mv7-accounts-mobile {
    display: block;
  }

  .mv7-accounts-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-accounts-heading h2 {
    font-size: 27px;
  }

  .mv7-accounts-heading > div > p:last-child {
    max-width: 265px;
    font-size: var(--v2-text-xs);
    line-height: 1.5;
  }

  .mv7-money-map,
  .mv7-account-focus {
    border-radius: 13px;
  }

  .mv7-money-map > header {
    min-height: 66px;
    padding: 13px 14px;
  }

  .mv7-money-map-status {
    max-width: 100px;
    text-align: right;
  }

  .mv7-money-map-canvas {
    padding: 14px;
  }

  .mv7-money-source {
    min-height: 116px;
    padding: 18px;
  }

  .mv7-money-source strong {
    font-size: 24px;
  }

  .mv7-money-nodes {
    grid-template-columns: minmax(0, 1fr);
  }

  .mv7-money-nodes::before {
    position: absolute;
    z-index: -1;
    width: 1px;
    background: linear-gradient(var(--v2-green), rgba(45, 222, 152, 0.05));
    content: '';
    bottom: 14px;
    left: 17px;
    top: -14px;
  }

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

  .mv7-money-node:hover,
  .mv7-money-node:focus-visible,
  .mv7-money-node.is-selected {
    transform: none;
  }

  .mv7-account-collection {
    margin-top: 23px;
  }

  .mv7-account-collection > header > p {
    display: none;
  }

  .mv7-account-focus {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .mv7-account-focus-heading {
    grid-template-columns: 40px minmax(0, 1fr);
    margin-bottom: 25px;
  }

  .mv7-account-orb {
    width: 40px;
    height: 40px;
  }

  .mv7-account-focus-heading .mv7-account-share {
    width: fit-content;
    grid-column: 2;
    margin-top: -4px;
  }

  .mv7-account-focus-main > strong {
    font-size: 28px;
  }

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

  .mv7-account-actions .mv7-primary-button span {
    display: inline;
  }

  .mv7-account-focus-insight {
    padding: 20px 19px;
    border-top: 1px solid var(--v2-line);
    border-left: 0;
  }

  .mv7-account-focus-insight > svg {
    height: 115px;
  }

  .mv7-account-deck {
    padding: 0 7px;
  }

  .mv7-account-layer {
    width: calc(100% - (var(--layer-index) * 8px));
    min-height: 68px;
    grid-template-columns: 36px minmax(0, 1fr) auto 18px;
    gap: 10px;
    padding: 10px 12px;
  }

  .mv7-account-layer-ratio {
    display: none;
  }

  .mv7-account-layer-amount {
    font-size: var(--v2-text-micro);
  }
}

@media (max-width: 768px) {
  .mv7-money-nodes {
    grid-template-columns: minmax(0, 1fr);
  }

  .mv7-budgets-view {
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-budgets-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-budgets-heading h2 {
    font-size: 28px;
  }

  .mv7-budgets-heading > div > p:last-child {
    max-width: 255px;
    font-size: var(--v2-text-xs);
  }

  .mv7-budget-field {
    border-radius: 13px;
  }

  .mv7-budget-field-header {
    min-height: 0;
    align-items: stretch;
    flex-direction: column;
    gap: 15px;
    padding: 16px 14px 12px;
  }

  .mv7-budget-inline-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--v2-line);
  }

  .mv7-budget-inline-stats > div {
    gap: 5px;
    padding: 12px 7px 2px;
    border-left: 0;
  }

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

  .mv7-budget-inline-stats dd {
    overflow: hidden;
    max-width: 100%;
    font-size: var(--v2-text-micro);
    text-overflow: ellipsis;
  }

  .mv7-budget-master-axis {
    gap: 7px;
    padding: 23px 14px 19px;
    font-size: var(--v2-text-micro);
  }

  .mv7-budget-axis-track > b {
    max-width: 86px;
    overflow: hidden;
    font-size: var(--v2-text-micro);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-budget-lane-main,
  .mv7-budget-lane.is-expanded .mv7-budget-lane-main {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    padding: 16px 14px 10px;
  }

  .mv7-budget-lane-identity {
    grid-column: 1;
  }

  .mv7-budget-lane-forecast {
    grid-column: 2;
    grid-row: 1;
  }

  .mv7-budget-lane-track {
    height: 82px;
    grid-column: 1 / -1;
  }

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

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

  .mv7-budget-recent > div {
    grid-template-columns: minmax(0, 1fr) 52px auto;
  }

  .mv7-budget-lane-controls {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
  }

  .mv7-budget-lane-controls > span,
  .mv7-budget-lane-controls > strong {
    grid-column: 1;
    margin: 0;
  }

  .mv7-budget-lane-controls .mv7-secondary-button {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .mv7-budget-reserve {
    min-height: 70px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 11px 14px;
  }

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

  .mv7-budget-dialog footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
  }

  .mv7-budget-dialog footer > span {
    display: none;
  }

  .mv7-budget-dialog footer .mv7-primary-button {
    grid-column: 3;
  }

  .mv7-goals-view {
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-goals-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-goals-heading h2 {
    font-size: 28px;
  }

  .mv7-goals-heading > div:first-child > p:last-child {
    max-width: 230px;
    font-size: var(--v2-text-xs);
  }

  .mv7-goals-heading-actions .mv7-secondary-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }

  .mv7-goals-heading-actions .mv7-secondary-button::after {
    content: '+';
    font-size: 18px;
  }

  .mv7-future-scene {
    min-height: 0;
    border-radius: 13px;
  }

  .mv7-future-scene-header {
    min-height: 116px;
    align-items: flex-start;
    padding: 17px 14px 12px;
  }

  .mv7-future-scene-header h3 {
    max-width: 270px;
    font-size: 24px;
  }

  .mv7-future-scene-header > div > p:last-child {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 5px;
  }

  .mv7-future-scene-header > div > p:last-child i {
    display: none;
  }

  .mv7-future-scene-header > div > p:last-child span {
    width: 100%;
  }

  .mv7-future-stage {
    min-height: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    padding: 0 10px;
  }

  .mv7-goal-selected {
    min-height: 500px;
    grid-template-columns: 108px minmax(115px, 1fr);
    gap: 7px;
    padding: 0 6px 30px;
  }

  .mv7-goal-selected-copy {
    align-self: center;
  }

  .mv7-goal-selected-copy h4 {
    margin-bottom: 17px;
    font-size: 15px;
  }

  .mv7-goal-selected-copy > strong {
    font-size: 25px;
  }

  .mv7-goal-selected-copy > b {
    font-size: var(--v2-text-xs);
  }

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

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

  .mv7-goal-selected .mv7-goal-monolith-shell {
    width: 74%;
  }

  .mv7-goal-annotation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 1 / -1;
    gap: 12px;
    padding: 12px 0 0;
    border-top: 1px solid var(--v2-line);
  }

  .mv7-goal-annotation > div::before {
    display: none;
  }

  .mv7-goal-inline-contribute {
    grid-column: 1 / -1;
  }

  .mv7-goal-compact {
    min-width: 0;
    min-height: 250px;
    padding: 18px 3px 28px;
  }

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

  .mv7-goal-compact .mv7-goal-monolith-shell {
    width: 68%;
  }

  .mv7-goal-compact > span strong {
    font-size: var(--v2-text-micro);
  }

  .mv7-goal-compact > span b {
    font-size: var(--v2-text-xs);
  }

  .mv7-goal-compact > span small {
    font-size: var(--v2-text-micro);
  }

  .mv7-goal-milestones {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 17px 14px;
  }

  .mv7-goal-milestones > div {
    gap: 10px;
  }

  .mv7-goal-milestones strong {
    font-size: var(--v2-text-xs);
  }

  .mv7-goal-dialog footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
  }

  .mv7-goal-dialog footer > span {
    display: none;
  }
}

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

  .mv7-page-identity p {
    max-width: 52vw;
  }

  .mv7-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 768px) {
  .mv7-networth-heading h2 {
    font-size: 27px;
  }

  .mv7-networth-heading .mv7-primary-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }

  .mv7-networth-heading .mv7-primary-button svg {
    width: 15px;
    height: 15px;
  }

  .mv7-networth-section {
    overflow: hidden;
  }

  .mv7-networth-layer-surface {
    grid-template-columns: 27px minmax(0, 1fr) auto;
  }

  .mv7-networth-layer-icon {
    width: 25px;
    height: 25px;
    padding: 5px;
    fill: none;
    stroke: var(--layer-tone);
    stroke-width: 1.6;
  }

  .mv7-networth-layer-detail {
    grid-column: 2 / 4;
  }

  .mv7-networth-layer-detail em {
    display: none;
  }

  .mv7-networth-ratio {
    border-right: 0;
  }
}

@media (max-width: 768px) {
  .mv7-community-shell {
    display: block;
  }
  .mv7-community-feed {
    border: 0;
  }
  .mv7-community-tabs {
    top: var(--v2-topbar-height);
    overflow-x: auto;
  }
  .mv7-community-tabs button {
    min-width: 95px;
  }
  .mv7-community-composer,
  .mv7-community-post {
    padding-inline: 14px;
  }
  .mv7-community-private {
    font-size: 0;
    width: 18px;
  }
  .mv7-community-private svg {
    width: 17px;
    height: 17px;
  }
  .mv7-community-progress-card > strong {
    width: 38px;
    height: 38px;
  }
  .mv7-community-post-actions {
    max-width: 280px;
  }
}

@media (max-width: 768px) {
  .mv7-reports-header {
    grid-template-columns: 36px minmax(0, 1fr);
    padding-inline: 16px;
  }
  .mv7-report-options {
    grid-template-columns: 1fr;
    padding-inline: 13px;
  }
  .mv7-report-option {
    grid-template-columns: 38px minmax(0, 1fr) 26px;
    grid-template-rows: auto;
    align-items: center;
    min-height: 76px;
    gap: 9px;
    padding: 10px;
  }
  .mv7-report-copy {
    padding-right: 0;
  }
  .mv7-report-format-icon {
    justify-content: flex-start;
  }
  .mv7-report-format-icon b {
    display: none;
  }
  .mv7-report-download {
    position: static;
    justify-self: end;
  }
}

@media (max-width: 768px) {
  .mv7-settings-view {
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-settings-hub {
    display: block;
  }
  .mv7-settings-nav {
    position: static;
    min-height: 0;
    margin-bottom: 14px;
    padding: 8px;
    flex-direction: row;
    overflow-x: auto;
  }
  .mv7-settings-nav .mv7-settings-search,
  .mv7-settings-preview-status {
    display: none;
  }
  .mv7-settings-nav-item {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 11px;
  }
  .mv7-settings-nav-item svg {
    width: 14px;
    height: 14px;
  }
  .mv7-settings-title-action {
    align-items: flex-start;
  }
  .mv7-settings-title-action .mv7-primary-button {
    padding-inline: 12px;
  }
  .mv7-profile-card {
    grid-template-columns: 82px 1fr;
  }
  .mv7-settings-avatar {
    width: 72px;
    height: 72px;
    font-size: 24px;
  }
  .mv7-settings-fields {
    grid-template-columns: 1fr;
  }
  .mv7-theme-grid {
    grid-template-columns: 1fr;
  }
  .mv7-how-grid {
    grid-template-columns: 1fr;
  }
  .mv7-settings-row {
    flex-wrap: wrap;
  }
  .mv7-settings-row select {
    max-width: 100%;
  }

  .mv7-settings-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mv7-backup-header {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 18px;
  }

  .mv7-backup-header-icon {
    width: 44px;
    height: 44px;
  }

  .mv7-backup-local-badge {
    grid-column: 2;
    justify-self: start;
  }

  .mv7-backup-security-note {
    margin: 0 18px 16px;
  }

  .mv7-backup-card .mv7-settings-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mv7-backup-card .mv7-settings-metric:nth-child(3n) {
    border-right: 1px solid var(--v2-line);
  }

  .mv7-backup-card .mv7-settings-metric:nth-child(2n) {
    border-right: 0;
  }

  .mv7-backup-card .mv7-settings-metric:nth-last-child(-n + 3) {
    border-bottom: 1px solid var(--v2-line);
  }

  .mv7-backup-card .mv7-settings-metric:last-child {
    border-right: 0;
    border-bottom: 0;
  }

  .mv7-backup-footer {
    grid-template-columns: 1fr;
    padding: 17px 18px 18px;
  }

  .mv7-settings-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mv7-settings-actions .mv7-primary-button,
  .mv7-settings-file-label {
    width: 100%;
  }

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

  .mv7-backup-actions .mv7-primary-button,
  .mv7-backup-actions .mv7-secondary-button {
    width: 100%;
  }
  .mv7-security-layout,
  .mv7-security-rail {
    grid-template-columns: 1fr;
  }
  .mv7-security-alert {
    grid-column: auto;
  }
  .mv7-security-hero {
    grid-template-columns: 88px 1fr;
    min-height: 0;
    padding: 18px;
  }
  .mv7-security-shield {
    width: 76px;
    height: 76px;
  }
  .mv7-security-shield > svg:first-child {
    width: 52px;
    height: 52px;
  }
  .mv7-security-shield .mv7-security-check {
    width: 26px;
    height: 26px;
  }
  .mv7-security-score {
    grid-column: 1/-1;
    grid-template-columns: 1fr auto;
    margin-top: 8px;
  }
  .mv7-security-score progress {
    grid-column: 1/-1;
  }
  .mv7-security-access-row,
  .mv7-security-access-row.is-visual-only {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    padding: 10px 0;
  }
  .mv7-security-access-row > button,
  .mv7-security-access-row > select {
    grid-column: 2/-1;
    width: 100%;
  }
  .mv7-notifications-layout,
  .mv7-notifications-rail {
    grid-template-columns: 1fr;
  }
  .mv7-notification-preview {
    grid-row: auto;
  }
  .mv7-notifications-title {
    text-align: left;
  }
  .mv7-notification-row,
  .mv7-notification-row:not(:has(select)) {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    padding: 9px 0;
  }
  .mv7-notification-row select {
    grid-column: 2/-1;
    width: 100%;
  }
  .mv7-notification-channels {
    grid-template-columns: 1fr;
  }
  .mv7-notification-channels button {
    border-right: 0;
    border-bottom: 1px solid var(--v2-line);
  }
  .mv7-notification-channels button:last-child {
    border-bottom: 0;
  }
  .mv7-category-toolbar {
    grid-template-columns: 1fr;
  }
  .mv7-category-filters {
    grid-template-columns: repeat(3, 1fr);
  }
  .mv7-category-workspace,
  .mv7-category-inspector {
    grid-template-columns: 1fr;
  }
  .mv7-category-table-head {
    display: none;
  }
  .mv7-category-list-table .mv7-category-chip {
    grid-template-columns: 42px 1fr auto;
  }
  .mv7-category-row-uses,
  .mv7-category-row-type {
    grid-column: 2;
  }
  .mv7-category-row-grip {
    grid-column: 3;
    grid-row: 1 / span 3;
  }
  .mv7-privacy-visibility-options,
  .mv7-privacy-actions,
  .mv7-privacy-workspace .mv7-tab-rail {
    grid-template-columns: 1fr;
  }
  .mv7-privacy-policy {
    grid-column: auto;
  }
  .mv7-privacy-visibility-options button {
    border-right: 0;
    border-bottom: 1px solid var(--v2-line);
  }
  .mv7-privacy-visibility-options button:last-child {
    border-bottom: 0;
  }
  .mv7-sync-workspace .mv7-tab-rail {
    grid-template-columns: 1fr;
  }
  .mv7-sync-offline {
    grid-column: auto;
  }
  .mv7-sync-flow .mv7-how-grid > div:not(:last-child)::after {
    display: none;
  }
  .mv7-sync-control {
    grid-template-columns: 34px 1fr auto;
  }
  .mv7-profile-workspace .mv7-tab-rail {
    grid-template-columns: 1fr;
  }
  .mv7-profile-session-button {
    grid-column: auto;
  }
  .mv7-profile-workspace .mv7-profile-card {
    grid-template-columns: 1fr;
  }
  .mv7-profile-workspace .mv7-settings-fields,
  .mv7-profile-workspace .mv7-profile-card > #settings-profile-save {
    grid-column: 1;
  }
  .mv7-profile-workspace .mv7-profile-card > #settings-profile-save {
    width: 100%;
  }
}

/* ── de css/v2-calendar.css ── */
@media (max-width: 768px) {
  .mv7-calendar-view {
    min-height: 0;
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-calendar-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-calendar-heading h2 {
    font-size: 28px;
  }

  .mv7-calendar-heading > div > p:last-child {
    font-size: var(--v2-text-xs);
  }

  .mv7-calendar-heading .mv7-primary-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }

  .mv7-calendar-heading .mv7-primary-button svg {
    width: 15px;
    height: 15px;
  }

  .mv7-calendar-horizon {
    min-height: 0;
    border: 1px solid var(--v2-line);
    border-radius: 13px;
  }

  .mv7-calendar-controls {
    min-height: 62px;
    padding-inline: 11px;
  }

  .mv7-calendar-controls h3 {
    min-width: 114px;
    font-size: var(--v2-text-xs);
  }

  .mv7-calendar-controls .mv7-secondary-button {
    margin-left: auto;
    padding-inline: 13px;
  }

  .mv7-calendar-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(77, 228, 178, 0.35) transparent;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

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

  .mv7-calendar-event.is-selected {
    width: 410px;
  }

  .mv7-calendar-summary {
    min-height: 118px;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 15px 14px;
  }

  .mv7-calendar-summary dl > div {
    padding-inline: 11px;
  }

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

/* ── de css/v2-recurring.css ── */
@media (max-width: 768px) {
  .mv7-recurring-view {
    min-height: 0;
    padding: 21px 14px calc(42px + env(safe-area-inset-bottom));
  }

  .mv7-recurring-heading {
    align-items: center;
    margin-bottom: 17px;
  }

  .mv7-recurring-heading h2 {
    font-size: 28px;
  }

  .mv7-recurring-heading > div > p:last-child {
    max-width: 245px;
    font-size: var(--v2-text-xs);
  }

  .mv7-recurring-heading .mv7-primary-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
  }

  .mv7-recurring-heading .mv7-primary-button svg {
    width: 15px;
    height: 15px;
  }

  .mv7-orbit-system {
    min-height: 0;
  }

  .mv7-orbit-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 13px 13px 0 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(77, 228, 178, 0.35) transparent;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mv7-orbit-field {
    min-width: 1060px;
    height: 620px;
  }

  .mv7-orbit-analysis {
    top: 55%;
    width: 58%;
    grid-template-columns: 170px minmax(290px, 1fr) 100px;
  }

  .mv7-recurring-impact {
    right: 10px;
  }

  .mv7-recurring-simulator {
    min-height: 210px;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
    padding: 17px 14px;
    border-radius: 0 0 13px 13px;
  }

  .mv7-recurring-simulator > i {
    display: none;
  }

  .mv7-recurring-simulator-action {
    grid-column: 1 / -1;
  }

  .mv7-recurring-projection {
    grid-column: 1 / -1;
  }

  .mv7-recurring-dialog footer {
    grid-template-columns: auto 1fr auto;
  }

  .mv7-recurring-dialog footer > span {
    display: none;
  }
}

/* ── Movimientos móvil 2026: lista financiera simple y nativa ──────────
   Capa exclusiva del diseño móvil separado. Reutiliza el resumen, filtros,
   filas, detalle y composer reales; no altera la tabla de escritorio. */
@media (max-width: 768px) {
  body[data-v2-view='transactions'] {
    --txm-bg: #000000;
    --txm-surface: #1c1c1e;
    --txm-surface-soft: #2c2c2e;
    --txm-line: rgba(255, 255, 255, 0.1);
    --txm-text: #f5f5f7;
    --txm-muted: #98989d;
    --txm-accent: #50d5a4;
    --txm-accent-soft: rgba(80, 213, 164, 0.14);
    --txm-expense: #ffb340;
    --txm-active: #f5f5f7;
    --txm-active-text: #000000;
    --txm-token: #141416;
    /* Superficie semitransparente derivada de --txm-surface — sin esto el
       backdrop-filter no hace nada visible (no hay "detrás" que desenfocar
       si el fondo es 100% opaco). */
    --txm-glass: color-mix(in srgb, var(--txm-surface) 80%, transparent);
    background: var(--txm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='transactions'] {
    --txm-bg: var(--v2-warm-base);
    --txm-surface: var(--v2-warm-surface);
    --txm-surface-soft: var(--v2-warm-soft);
    --txm-line: rgba(18, 23, 20, 0.075);
    --txm-text: #090a09;
    --txm-muted: #626963;
    --txm-accent: #05603a;
    --txm-accent-soft: rgba(67, 187, 122, 0.13);
    --txm-expense: #090a09;
    --txm-active: #090a09;
    --txm-active-text: #ffffff;
    --txm-token: #080908;
  }

  body[data-v2-view='transactions'] .mv7-workspace {
    background: var(--txm-bg);
  }

  body[data-v2-view='transactions'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--txm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='transactions']
    :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link) {
    display: none !important;
  }

  body[data-v2-view='transactions'] .mv7-mobile-topbar-start,
  body[data-v2-view='transactions'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='transactions'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='transactions'] .mv7-mobile-brand {
    color: var(--txm-text);
  }

  body[data-v2-view='transactions'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='transactions'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='transactions'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--txm-line);
    border-radius: 50%;
    background: var(--txm-surface);
    color: var(--txm-text);
    box-shadow: none;
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--txm-line);
    border-radius: 999px;
    background: var(--txm-surface);
    box-shadow: none;
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='transactions'] #topbar-login-button:not([hidden]) {
    display: inline-flex !important;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--txm-text) 8%, transparent);
    color: var(--txm-text);
    box-shadow: none;
    font-size: 11px;
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='transactions'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--txm-text);
    box-shadow: none;
  }

  body[data-v2-view='transactions'] #profile-button {
    background: var(--txm-surface-soft);
    font-size: 12px;
  }

  body[data-v2-view='transactions'] #transactions-view.mv7-transactions-view {
    width: 100%;
    max-width: 520px;
    padding: 18px 16px calc(92px + env(safe-area-inset-bottom));
    background: var(--txm-bg);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading {
    display: flex !important;
    align-items: flex-start;
    margin: 0 0 22px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading .mv7-eyebrow,
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading-actions,
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading .mv7-tx-desktop-copy {
    display: none !important;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading .mv7-tx-mobile-copy {
    display: block;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading h2 {
    margin: 0;
    color: var(--txm-text);
    font-size: 32px;
    font-weight: 680;
    letter-spacing: -0.05em;
    line-height: 1.05;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading > div > p:last-child {
    max-width: none;
    margin: 8px 0 0;
    color: var(--txm-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-summary {
    position: relative;
    display: block;
    min-height: 158px;
    margin: 0 0 18px;
    overflow: hidden;
    border: 1px solid var(--txm-line);
    border-radius: 24px;
    background: var(--txm-surface) !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-summary::after {
    display: none !important;
  }

  body[data-v2-view='transactions']
    #transactions-view
    .mv7-tx-summary
    > .mv7-tx-summary-item:first-child {
    position: static;
    display: flex;
    min-height: 156px;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    padding: 20px;
    border: 0;
    background: transparent;
    text-align: left;
  }

  body[data-v2-view='transactions']
    #transactions-view
    .mv7-tx-summary
    > .mv7-tx-summary-item:nth-child(2),
  body[data-v2-view='transactions']
    #transactions-view
    .mv7-tx-summary
    > .mv7-tx-summary-item:nth-child(3) {
    display: none !important;
  }

  body[data-v2-view='transactions']
    #transactions-view
    .mv7-tx-summary-item:first-child
    > span.mv7-tx-mobile-copy {
    display: block;
    color: var(--txm-muted);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.015em;
    text-transform: none;
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance {
    display: block;
    max-width: 70%;
    margin: 17px 0 0;
    overflow: hidden;
    color: var(--txm-text);
    font-family: var(--v2-font);
    font-size: clamp(26px, 7.4vw, 32px);
    font-weight: 670;
    letter-spacing: -0.055em;
    line-height: 1;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: nowrap;
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance.is-negative {
    color: var(--txm-expense);
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance.is-compact {
    font-size: clamp(23px, 6.5vw, 29px);
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance.is-extra-compact {
    font-size: clamp(20px, 5.8vw, 26px);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-summary-trend {
    display: block;
    max-width: 60%;
    margin-top: 15px;
    overflow: hidden;
    color: var(--txm-accent);
    font-family: var(--v2-font);
    font-size: 11px;
    font-weight: 620;
    letter-spacing: -0.015em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-summary-trend.is-negative {
    color: var(--txm-expense);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-period {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    display: flex !important;
    width: 98px;
    height: 38px;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--txm-line);
    border-radius: 999px;
    background: var(--txm-surface-soft);
    color: var(--txm-text);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-period select {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0 28px 0 13px;
    border: 0;
    border-radius: inherit;
    outline: 0;
    appearance: none;
    background: transparent;
    box-shadow: none !important;
    color: inherit;
    font: 650 11px/1 var(--v2-font);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-period svg {
    position: absolute;
    right: 11px;
    display: block;
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    pointer-events: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mini-chart {
    display: none !important;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mini-chart svg {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-growth-art {
    position: absolute;
    z-index: 1;
    right: 8px;
    bottom: 2px;
    display: block;
    width: 47%;
    height: 88px;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 10px 16px color-mix(in srgb, var(--txm-accent) 18%, transparent));
    pointer-events: none;
    user-select: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mini-chart > span,
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-zero-line {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-summary-line {
    stroke: var(--txm-accent);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-summary-area {
    fill: transparent;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-filters {
    display: block;
    margin: 0 0 20px;
    padding: 0;
  }

  body[data-v2-view='transactions']
    #transactions-view
    :is(.mv7-tx-search, .mv7-tx-select, .mv7-tx-filter-count) {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter {
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    grid-template-columns: none;
    gap: 8px;
    padding: 0 0 2px;
    overflow-x: auto;
    border: 0;
    background: transparent;
    scrollbar-width: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter::-webkit-scrollbar {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter button {
    min-width: max-content;
    height: 42px;
    flex: 1 0 auto;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--txm-surface-soft);
    color: var(--txm-text);
    box-shadow: none;
    font-size: 12px;
    font-weight: 620;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter button i {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: var(--txm-active);
    background: var(--txm-active);
    color: var(--txm-active-text);
    box-shadow: 0 9px 20px rgba(0, 0, 0, 0.12);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='transactions']
    #transactions-view
    .mv7-tx-type-filter
    button.is-active {
    border-color: var(--txm-active) !important;
    background: var(--txm-active) !important;
    color: var(--txm-active-text) !important;
    box-shadow: 0 9px 20px rgba(0, 0, 0, 0.12) !important;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-list-head {
    display: none !important;
  }

  body[data-v2-view='transactions'] #transactions-view :is(.mv7-tx-layout, .mv7-tx-ledger) {
    display: block;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-ledger {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--txm-line);
    border-radius: 20px;
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.01) 50%),
      var(--txm-glass);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      inset 0 0 0 1px rgba(0, 0, 0, 0.14),
      0 1px 2px rgba(0, 0, 0, 0.3),
      0 20px 44px -22px rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(26px) saturate(130%);
    -webkit-backdrop-filter: blur(26px) saturate(130%);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-ledger::before {
    position: absolute;
    z-index: 0;
    border-radius: inherit;
    background: radial-gradient(120% 70% at 16% -18%, rgba(255, 255, 255, 0.1), transparent 55%);
    content: '';
    inset: 0;
    pointer-events: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-ledger > * {
    position: relative;
    z-index: 1;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-list,
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 190px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-date-group {
    display: flex;
    min-height: 38px;
    align-items: flex-end;
    padding: 0 2px 9px;
    color: var(--txm-muted);
    font-family: var(--v2-font);
    font-size: 13px;
    font-weight: 620;
    letter-spacing: -0.015em;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row {
    position: relative;
    display: grid;
    min-height: 72px;
    grid-template-columns: 44px minmax(0, 1fr) minmax(88px, auto);
    grid-template-rows: 1fr 1fr;
    gap: 0 11px;
    padding: 10px 14px;
    margin: 0;
    border: 0;
    /* border-radius:0 a propósito — sin esto quedaba en 17px, heredado
       del diseño de tarjetas más viejo de esta misma vista
       (#transactions-view .mv7-tx-row más arriba en este archivo, con
       fondo/borde propio por fila). Esta versión de la fila no tiene
       fondo ni borde lateral (solo un hairline arriba/abajo vía
       border-top/border-bottom), así que ese radio heredado no
       redondeaba nada visible — dibujaba el hairline con las puntas
       curvas "flotando" en vez de una línea recta de punta a punta. */
    border-radius: 0;
    border-bottom: 1px solid var(--txm-line);
    background: transparent !important;
    box-shadow: none;
    transition: background 140ms ease;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-date-group + .mv7-tx-row {
    border-top: 1px solid var(--txm-line);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row:has(+ .mv7-tx-date-group),
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row:last-child {
    margin-bottom: 11px;
    border-bottom: 0;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row::after {
    display: none;
    content: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row:active,
  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row.is-selected {
    background: color-mix(in srgb, var(--txm-text) 6%, transparent) !important;
    box-shadow: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-main {
    display: contents;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-transaction-token {
    display: grid;
    width: 42px;
    height: 42px;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--txm-token) 85%, white 6%),
      var(--txm-token)
    ) !important;
    color: #f5f7f6;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.14),
      inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-transaction-token.is-income {
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--txm-accent) 100%, white 12%),
      var(--txm-accent)
    ) !important;
    color: var(--txm-active-text);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.28),
      inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  }

  body[data-v2-view='transactions']
    #transactions-view
    :is(.mv7-transaction-token.is-expense, .mv7-transaction-token.is-transfer) {
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--txm-token) 85%, white 6%),
      var(--txm-token)
    ) !important;
    color: #f5f7f6;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-transaction-token-icon {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-copy {
    display: grid;
    min-width: 0;
    grid-column: 2;
    grid-row: 1 / 3;
    align-content: center;
    gap: 4px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-copy strong {
    overflow: hidden;
    color: var(--txm-text);
    font-size: 13px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-meta-mobile {
    display: block;
    overflow: hidden;
    color: var(--txm-muted);
    font-family: var(--v2-font);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='transactions']
    #transactions-view
    :is(
      .mv7-tx-row-meta-desktop,
      .mv7-tx-category,
      .mv7-tx-cell-account,
      .mv7-tx-cell-date,
      .mv7-tx-cell-status
    ) {
    display: none;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-amount {
    min-width: 0;
    max-width: 128px;
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    overflow: hidden;
    color: var(--txm-text);
    font-family: var(--v2-font);
    font-size: 12px;
    font-weight: 680;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-amount.is-income {
    color: var(--txm-accent);
  }

  body[data-v2-view='transactions']
    #transactions-view
    :is(.mv7-tx-row-amount.is-expense, .mv7-tx-row-amount.is-transfer) {
    color: var(--txm-text);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row-date-mobile {
    display: block;
    grid-column: 3;
    grid-row: 2;
    align-self: start;
    overflow: hidden;
    color: var(--txm-muted);
    font-family: var(--v2-font);
    font-size: 10px;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-ledger-footer {
    min-height: 44px;
    margin-top: 8px;
    border-color: var(--txm-line);
    border-radius: 14px;
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.008)),
      var(--txm-glass);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-fab {
    position: fixed;
    z-index: 72;
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(16px + env(safe-area-inset-bottom));
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--txm-active) 40%, transparent);
    border-radius: 50%;
    background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--txm-active) 100%, white 8%),
      var(--txm-active)
    );
    color: var(--txm-active-text);
    box-shadow:
      0 0 0 5px color-mix(in srgb, var(--txm-bg) 86%, transparent),
      inset 0 1px rgba(255, 255, 255, 0.3),
      0 1px 2px rgba(0, 0, 0, 0.3),
      0 14px 30px -6px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition:
      transform 160ms ease,
      box-shadow 160ms ease;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-fab:active {
    transform: scale(0.94);
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-mobile-fab svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='transactions'] .mv7-mobile-brand strong {
    display: none;
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions {
    grid-template-columns: repeat(3, 39px);
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 39px) auto 39px;
  }

  body[data-v2-view='transactions'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='transactions'] #profile-button {
    width: 39px;
    min-width: 39px;
    height: 39px;
    min-height: 39px;
  }

  body[data-v2-view='transactions'] #transactions-view.mv7-transactions-view {
    padding-inline: 14px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-heading h2 {
    font-size: 29px;
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance {
    max-width: 66%;
    font-size: 27px;
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance.is-compact {
    font-size: 23px;
  }

  body[data-v2-view='transactions'] #transactions-view #tx-mobile-balance.is-extra-compact {
    font-size: 20px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-type-filter button {
    padding-inline: 15px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-tx-row {
    grid-template-columns: 40px minmax(0, 1fr) minmax(78px, auto);
    gap: 0 9px;
    padding-inline: 11px;
  }

  body[data-v2-view='transactions'] #transactions-view .mv7-transaction-token {
    width: 40px;
    height: 40px;
  }
}

/* ── Cuentas móvil 2026: composición simple de saldo, distribución y lista ──
   Vive al final de la hoja móvil para aislarla del escritorio y reemplazar
   visualmente el mapa/capas anterior sin retirar sus conexiones internas. */
@media (max-width: 768px) {
  body[data-v2-view='accounts'] {
    --acctm-bg: #000000;
    --acctm-surface: #1c1c1e;
    --acctm-surface-soft: #2c2c2e;
    --acctm-line: rgba(255, 255, 255, 0.1);
    --acctm-text: #f5f5f7;
    --acctm-muted: #98989d;
    --acctm-cash: #f5f5f7;
    --acctm-bank: #52c781;
    --acctm-card: #5576f4;
    --acctm-investment: #ef8243;
    --acctm-ring-empty: rgba(255, 255, 255, 0.075);
    --acctm-glass: color-mix(in srgb, var(--acctm-surface) 80%, transparent);
    background: var(--acctm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='accounts'] {
    --acctm-bg: var(--v2-warm-base);
    --acctm-surface: var(--v2-warm-surface);
    --acctm-surface-soft: var(--v2-warm-soft);
    --acctm-line: rgba(18, 23, 20, 0.075);
    --acctm-text: #090a09;
    --acctm-muted: #626963;
    --acctm-cash: #111211;
    --acctm-bank: #05603a;
    --acctm-card: #3448c5;
    --acctm-investment: #b54708;
    --acctm-ring-empty: #eceeed;
  }

  body[data-v2-view='accounts'] .mv7-workspace {
    background: var(--acctm-bg);
  }

  body[data-v2-view='accounts'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--acctm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='accounts']
    :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link, #topbar-login-button) {
    display: none !important;
  }

  body[data-v2-view='accounts'] .mv7-mobile-topbar-start,
  body[data-v2-view='accounts'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='accounts'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='accounts'] .mv7-mobile-brand {
    color: var(--acctm-text);
  }

  body[data-v2-view='accounts'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='accounts'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='accounts'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--acctm-line);
    border-radius: 50%;
    background: var(--acctm-surface);
    color: var(--acctm-text);
    box-shadow: none;
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--acctm-line);
    border-radius: 999px;
    background: var(--acctm-surface);
    box-shadow: none;
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='accounts'] #topbar-login-button:not([hidden]) {
    display: inline-flex !important;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--acctm-text) 8%, transparent);
    color: var(--acctm-text);
    box-shadow: none;
    font-size: 11px;
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='accounts'] #profile-button {
    display: grid !important;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--acctm-text);
    box-shadow: none;
  }

  body[data-v2-view='accounts'] #profile-button {
    background: var(--acctm-surface-soft);
    font-size: 12px;
  }

  body[data-v2-view='accounts'] #accounts-view.mv7-accounts-view {
    width: 100%;
    max-width: 560px;
    padding: 18px 16px calc(38px + env(safe-area-inset-bottom));
    background: var(--acctm-bg);
  }

  body[data-v2-view='accounts'] .mv7-accounts-mobile-legacy {
    display: none !important;
  }

  body[data-v2-view='accounts'] .mv7-accounts-mobile-reference {
    display: grid;
    gap: 24px;
    color: var(--acctm-text);
  }

  .mv7-accounts-mobile-title h2 {
    margin: 0;
    color: var(--acctm-text);
    font-size: 34px;
    font-weight: 680;
    letter-spacing: -0.055em;
    line-height: 1.05;
  }

  .mv7-accounts-mobile-title p {
    margin: 8px 0 0;
    color: var(--acctm-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .mv7-accounts-mobile-summary {
    position: relative;
    display: grid;
    min-height: 166px;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 12px;
    padding: 20px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--acctm-line);
    border-radius: 20px;
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.008) 50%),
      var(--acctm-glass);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.08),
      0 1px 2px rgba(0, 0, 0, 0.15),
      0 14px 34px -10px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(24px) saturate(130%);
    -webkit-backdrop-filter: blur(24px) saturate(130%);
  }

  .mv7-accounts-mobile-summary::before {
    position: absolute;
    z-index: 0;
    border-radius: inherit;
    background: radial-gradient(120% 80% at 18% -15%, rgba(255, 255, 255, 0.1), transparent 55%);
    content: '';
    inset: 0;
    pointer-events: none;
  }

  .mv7-accounts-mobile-summary > * {
    position: relative;
    z-index: 1;
  }

  .mv7-accounts-mobile-balance {
    display: grid;
    min-width: 0;
    gap: 9px;
  }

  .mv7-accounts-mobile-balance > span {
    color: var(--acctm-muted);
    font-size: 12px;
  }

  .mv7-accounts-mobile-balance > strong {
    overflow: hidden;
    color: var(--acctm-text);
    font-size: clamp(18px, 4.8vw, 25px);
    font-weight: 690;
    letter-spacing: -0.055em;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-accounts-mobile-balance > strong.is-compact {
    font-size: clamp(17px, 4.2vw, 22px);
  }

  .mv7-accounts-mobile-balance > strong.is-extra-compact {
    font-size: clamp(15px, 3.8vw, 20px);
  }

  .mv7-accounts-mobile-balance > p {
    margin: 4px 0 0;
    color: var(--acctm-bank);
    font-size: 10px;
    font-weight: 620;
    letter-spacing: -0.015em;
    line-height: 1.35;
  }

  .mv7-accounts-mobile-balance > p.is-negative {
    color: #ef7b6a;
  }

  .mv7-accounts-mobile-balance > p.is-neutral {
    color: var(--acctm-muted);
    font-weight: 500;
  }

  .mv7-accounts-mobile-distribution {
    display: grid;
    min-width: 0;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
  }

  .mv7-accounts-mobile-ring {
    position: relative;
    width: 78px;
    height: 78px;
    border-radius: 50%;
  }

  .mv7-accounts-mobile-ring::after {
    position: absolute;
    inset: 14px;
    border-radius: 50%;
    background: var(--acctm-surface);
    content: '';
  }

  .mv7-accounts-mobile-distribution dl {
    display: grid;
    min-width: 0;
    gap: 7px;
    margin: 0;
  }

  .mv7-accounts-mobile-distribution dl > div,
  .mv7-accounts-mobile-distribution dt {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  .mv7-accounts-mobile-distribution dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 27px;
    justify-content: space-between;
    gap: 6px;
  }

  .mv7-accounts-mobile-distribution dt,
  .mv7-accounts-mobile-distribution dd {
    min-width: 0;
    margin: 0;
    color: var(--acctm-muted);
    font-size: 9px;
    white-space: nowrap;
  }

  .mv7-accounts-mobile-distribution dt {
    gap: 6px;
  }

  .mv7-accounts-mobile-distribution dd {
    min-width: 27px;
    text-align: right;
  }

  .mv7-accounts-mobile-distribution dt i {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
  }

  .mv7-accounts-mobile-distribution dt i.is-cash {
    background: var(--acctm-cash);
  }

  .mv7-accounts-mobile-distribution dt i.is-bank {
    background: var(--acctm-bank);
  }

  .mv7-accounts-mobile-distribution dt i.is-card {
    background: var(--acctm-card);
  }

  .mv7-accounts-mobile-distribution dt i.is-investment {
    background: var(--acctm-investment);
  }

  .mv7-accounts-mobile-collection {
    display: grid;
    gap: 12px;
  }

  body[data-v2-view='accounts'] #accounts-view.is-empty .mv7-accounts-mobile-add {
    display: none;
  }

  .mv7-accounts-mobile-collection > header {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-accounts-mobile-collection > header h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--acctm-text);
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.025em;
  }

  .mv7-accounts-mobile-collection > header h3 span {
    display: grid;
    min-width: 25px;
    height: 25px;
    place-items: center;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--acctm-surface-soft);
    color: var(--acctm-muted);
    font-size: 11px;
    font-weight: 600;
  }

  .mv7-accounts-mobile-add {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 16px;
    border: 1px solid color-mix(in srgb, var(--acctm-text) 30%, transparent);
    border-radius: 999px;
    background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--acctm-text) 100%, transparent),
      color-mix(in srgb, var(--acctm-text) 88%, transparent)
    );
    color: var(--acctm-bg);
    cursor: pointer;
    font: 650 12px/1 var(--v2-font);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.25),
      0 1px 2px rgba(0, 0, 0, 0.2),
      0 10px 22px -8px rgba(0, 0, 0, 0.4);
    transition: transform 160ms ease;
  }

  .mv7-accounts-mobile-add:active {
    transform: scale(0.96);
  }

  .mv7-accounts-mobile-add svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
  }

  .mv7-accounts-mobile-list {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid var(--acctm-line);
    border-radius: 20px;
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.008) 50%),
      var(--acctm-glass);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.08),
      0 1px 2px rgba(0, 0, 0, 0.15),
      0 16px 36px -14px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(22px) saturate(125%);
    -webkit-backdrop-filter: blur(22px) saturate(125%);
  }

  .mv7-accounts-mobile-list::before {
    position: absolute;
    z-index: 0;
    border-radius: inherit;
    background: radial-gradient(120% 70% at 16% -15%, rgba(255, 255, 255, 0.08), transparent 55%);
    content: '';
    inset: 0;
    pointer-events: none;
  }

  .mv7-accounts-mobile-list > * {
    position: relative;
    z-index: 1;
  }

  .mv7-accounts-mobile-list[hidden],
  .mv7-accounts-mobile-empty[hidden] {
    display: none;
  }

  .mv7-accounts-mobile-row {
    display: grid;
    width: 100%;
    min-height: 82px;
    grid-template-columns: 46px minmax(0, 1fr) minmax(82px, auto) 15px;
    align-items: center;
    gap: 11px;
    padding: 11px 15px;
    border: 0;
    border-bottom: 1px solid var(--acctm-line);
    background: transparent;
    color: var(--acctm-text);
    cursor: pointer;
    text-align: left;
  }

  .mv7-accounts-mobile-row:last-child {
    border-bottom: 0;
  }

  .mv7-accounts-mobile-row:active {
    background: var(--acctm-surface-soft);
  }

  .mv7-accounts-mobile-row:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--acctm-bank);
    outline-offset: -2px;
  }

  .mv7-accounts-mobile-row-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--acctm-bank) 100%, white 14%),
      var(--acctm-bank)
    );
    color: #fff;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.25);
  }

  .mv7-accounts-mobile-row[data-account-group='cash'] .mv7-accounts-mobile-row-icon {
    border: 1px solid var(--acctm-line);
    background: linear-gradient(155deg, color-mix(in srgb, #090a09 85%, white 8%), #090a09);
  }

  .mv7-accounts-mobile-row[data-account-group='card'] .mv7-accounts-mobile-row-icon {
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--acctm-card) 100%, white 14%),
      var(--acctm-card)
    );
  }

  .mv7-accounts-mobile-row[data-account-group='investment'] .mv7-accounts-mobile-row-icon {
    background: linear-gradient(
      155deg,
      color-mix(in srgb, var(--acctm-investment) 100%, white 14%),
      var(--acctm-investment)
    );
  }

  .mv7-accounts-mobile-row-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
  }

  .mv7-accounts-mobile-row-copy,
  .mv7-accounts-mobile-row-value {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .mv7-accounts-mobile-row-copy strong,
  .mv7-accounts-mobile-row-copy small,
  .mv7-accounts-mobile-row-value strong,
  .mv7-accounts-mobile-row-value small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-accounts-mobile-row-copy strong {
    font-size: 14px;
    font-weight: 650;
    letter-spacing: -0.018em;
  }

  .mv7-accounts-mobile-row-copy small,
  .mv7-accounts-mobile-row-value small {
    color: var(--acctm-muted);
    font-size: 10.5px;
  }

  .mv7-accounts-mobile-row-value {
    justify-items: end;
    text-align: right;
  }

  .mv7-accounts-mobile-row-value strong {
    max-width: 126px;
    font-size: 13px;
    font-weight: 680;
    letter-spacing: -0.02em;
  }

  .mv7-accounts-mobile-row-value strong.is-negative {
    color: #ef7b6a;
  }

  .mv7-accounts-mobile-row-value strong.is-compact {
    font-size: 11.5px;
  }

  .mv7-accounts-mobile-row-value strong.is-extra-compact {
    font-size: 10.5px;
  }

  .mv7-accounts-mobile-row-arrow {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: var(--acctm-muted);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-accounts-mobile-empty {
    display: grid;
    justify-items: center;
    gap: 9px;
    padding: 30px 22px;
    border: 1px solid var(--acctm-line);
    border-radius: 20px;
    background: var(--acctm-surface);
    text-align: center;
  }

  .mv7-accounts-mobile-empty > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: var(--acctm-surface-soft);
    color: var(--acctm-muted);
  }

  .mv7-accounts-mobile-empty svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
  }

  .mv7-accounts-mobile-empty strong {
    font-size: 15px;
  }

  .mv7-accounts-mobile-empty p {
    max-width: 31ch;
    margin: 0 0 5px;
    color: var(--acctm-muted);
    font-size: 11px;
    line-height: 1.5;
  }

  .mv7-accounts-mobile-security {
    display: grid;
    min-height: 92px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid var(--acctm-line);
    border-radius: 20px;
    background: var(--acctm-surface-soft);
  }

  .mv7-accounts-mobile-security > span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--acctm-bank) 15%, transparent);
    color: var(--acctm-bank);
  }

  .mv7-accounts-mobile-security > span svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
  }

  .mv7-accounts-mobile-security p {
    display: grid;
    min-width: 0;
    gap: 5px;
    margin: 0;
  }

  .mv7-accounts-mobile-security strong {
    font-size: 12.5px;
  }

  .mv7-accounts-mobile-security small {
    color: var(--acctm-muted);
    font-size: 10.5px;
    line-height: 1.4;
  }

  .mv7-accounts-mobile-security button {
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid var(--acctm-line);
    border-radius: 999px;
    background: var(--acctm-surface);
    color: var(--acctm-text);
    cursor: pointer;
    font: 570 10.5px/1 var(--v2-font);
    white-space: nowrap;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-account-form-fields {
    border-color: var(--acctm-line);
    background: var(--v2-warm-surface);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-field
    :is(input, select),
  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-account-balance-input {
    border-color: rgba(60, 60, 67, 0.09);
    background: rgba(118, 118, 128, 0.12);
    color: #1d1d1f;
    box-shadow: none;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-field
    :is(input, select) {
    color-scheme: light;
    -webkit-text-fill-color: #1d1d1f;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-field
    :is(input, select):focus,
  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-account-balance-input:focus-within {
    border-color: color-mix(in srgb, var(--acctm-bank) 52%, #c8ceca);
    background: rgba(118, 118, 128, 0.18);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--acctm-bank) 10%, transparent);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='accounts']
    #account-composer
    .mv7-account-balance-input
    input {
    background: transparent;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='accounts'] .mv7-mobile-brand strong {
    display: none;
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions {
    grid-template-columns: repeat(3, 39px);
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 39px) auto 39px;
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='accounts'] #profile-button {
    width: 39px;
    min-width: 39px;
    height: 39px;
    min-height: 39px;
  }

  body[data-v2-view='accounts'] #accounts-view.mv7-accounts-view {
    padding-inline: 13px;
  }

  .mv7-accounts-mobile-summary {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
  }

  .mv7-accounts-mobile-balance {
    gap: 7px;
  }

  .mv7-accounts-mobile-balance > strong {
    font-size: 25px;
  }

  .mv7-accounts-mobile-balance > strong.is-compact {
    font-size: 22px;
  }

  .mv7-accounts-mobile-balance > strong.is-extra-compact {
    font-size: 19px;
  }

  .mv7-accounts-mobile-distribution {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 14px;
  }

  .mv7-accounts-mobile-ring {
    width: 66px;
    height: 66px;
  }

  .mv7-accounts-mobile-ring::after {
    inset: 12px;
  }

  .mv7-accounts-mobile-distribution dt,
  .mv7-accounts-mobile-distribution dd {
    font-size: 9px;
  }

  .mv7-accounts-mobile-add {
    padding-inline: 13px;
  }

  .mv7-accounts-mobile-row {
    grid-template-columns: 42px minmax(0, 1fr) minmax(76px, auto) 13px;
    gap: 9px;
    padding-inline: 11px;
  }

  .mv7-accounts-mobile-row-icon {
    width: 42px;
    height: 42px;
  }

  .mv7-accounts-mobile-security {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .mv7-accounts-mobile-security > button {
    grid-column: 2;
    justify-self: start;
  }
}

/* Precedencia final del drawer: las reglas móviles históricas de este mismo
   archivo aparecen antes y después de su bloque visual. Este cierre asegura
   que ninguna de ellas recupere el ancho/padding del sidebar antiguo. */
@media (max-width: 768px) {
  .mv7-sidebar {
    width: min(360px, 74vw);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    border-radius: 0 30px 30px 0;
    background: var(--mv7-drawer-bg);
    box-shadow: 28px 0 74px rgba(0, 0, 0, 0.45);
  }

  :root[data-resolved-theme='light'] .mv7-sidebar {
    box-shadow: 28px 0 74px rgba(20, 23, 21, 0.2);
  }

  .mv7-sidebar > :not(.mv7-mobile-drawer) {
    display: none !important;
  }

  .mv7-mobile-drawer {
    display: flex;
  }

  .mv7-sidebar-scrim {
    background: rgba(7, 9, 8, 0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  .mv7-sidebar-close {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .mv7-sidebar {
    width: 78vw;
  }
}

@media (max-width: 768px) and (max-height: 900px) {
  .mv7-mobile-drawer {
    padding-top: max(20px, env(safe-area-inset-top));
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .mv7-mobile-drawer-top {
    gap: 14px;
  }

  .mv7-mobile-drawer-profile {
    grid-template-columns: 52px minmax(0, 1fr) 20px;
    gap: 11px;
  }

  .mv7-mobile-drawer-avatar {
    width: 52px;
    height: 52px;
  }

  .mv7-mobile-drawer-balance {
    min-height: 80px;
    padding-block: 13px;
  }

  .mv7-mobile-drawer-nav {
    gap: 0;
    padding-block: 12px 8px;
  }

  .mv7-mobile-drawer-nav a {
    min-height: 37px;
    font-size: 13px;
  }

  .mv7-mobile-drawer-nav svg,
  .mv7-mobile-drawer-support svg {
    width: 20px;
    height: 20px;
  }

  .mv7-mobile-drawer-bottom {
    gap: 8px;
  }

  .mv7-mobile-drawer-support {
    padding-top: 6px;
  }

  .mv7-mobile-drawer-support :is(a, button) {
    min-height: 38px;
    font-size: 13px;
  }

  .mv7-mobile-drawer-auth {
    min-height: 46px;
  }
}

/* ── Objetivos móvil 2026: resumen, filtros y lista conectada ──────────────
   La escena/monolitos original sigue siendo la vista de escritorio. */
.mv7-goals-mobile-reference {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='savings'] {
    --goalm-bg: #000000;
    --goalm-surface: #1c1c1e;
    --goalm-surface-soft: #2c2c2e;
    --goalm-line: rgba(255, 255, 255, 0.1);
    --goalm-text: #f5f5f7;
    --goalm-muted: #98989d;
    --goalm-accent: #3cc780;
    --goalm-track: rgba(255, 255, 255, 0.09);
    background: var(--goalm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='savings'] {
    --goalm-bg: var(--v2-warm-base);
    --goalm-surface: var(--v2-warm-surface);
    --goalm-surface-soft: var(--v2-warm-soft);
    --goalm-line: rgba(15, 20, 17, 0.08);
    --goalm-text: #090a09;
    --goalm-muted: #626963;
    --goalm-accent: #05603a;
    --goalm-track: #e9ecea;
  }

  body[data-v2-view='savings'] .mv7-workspace {
    background: var(--goalm-bg);
  }

  body[data-v2-view='savings'] #savings-view.mv7-goals-view {
    width: 100%;
    max-width: 560px;
    padding: 18px 16px calc(38px + env(safe-area-inset-bottom));
    background: var(--goalm-bg);
  }

  body[data-v2-view='savings'] .mv7-goals-desktop-legacy {
    display: none !important;
  }

  body[data-v2-view='savings'] .mv7-goals-mobile-reference {
    display: grid;
    gap: 24px;
    color: var(--goalm-text);
  }

  .mv7-goals-mobile-heading {
    display: grid;
    gap: 6px;
    padding: 0 1px;
  }

  .mv7-goals-mobile-heading h2 {
    margin: 0;
    color: var(--goalm-text);
    font-size: clamp(32px, 9.5vw, 42px);
    font-weight: 720;
    letter-spacing: -0.055em;
    line-height: 1;
  }

  .mv7-goals-mobile-heading p {
    margin: 0;
    color: var(--goalm-muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .mv7-goals-mobile-summary {
    display: grid;
    min-height: 132px;
    grid-template-columns: minmax(0, 1.12fr) 84px minmax(82px, 0.8fr);
    align-items: center;
    gap: 13px;
    padding: 18px 18px;
    border: 1px solid var(--goalm-line);
    border-radius: 22px;
    background: var(--goalm-surface);
  }

  .mv7-goals-mobile-summary-copy {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 6px;
  }

  .mv7-goals-mobile-summary-copy > span,
  .mv7-goals-mobile-totals dt {
    color: var(--goalm-muted);
    font-size: 11px;
    font-weight: 500;
  }

  .mv7-goals-mobile-summary-copy > strong {
    color: var(--goalm-text);
    font-size: clamp(30px, 9vw, 40px);
    font-weight: 720;
    letter-spacing: -0.055em;
    line-height: 1;
  }

  .mv7-goals-mobile-summary-copy > small {
    color: var(--goalm-muted);
    font-size: 9px;
    font-weight: 550;
    line-height: 1.35;
  }

  .mv7-goals-mobile-summary-copy > small.has-value {
    color: var(--goalm-accent);
  }

  .mv7-goals-mobile-ring {
    position: relative;
    display: grid;
    width: 82px;
    height: 82px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(
      var(--goalm-accent) var(--goal-mobile-progress, 0%),
      var(--goalm-track) 0
    );
    transform: rotate(-26deg);
  }

  .mv7-goals-mobile-ring::before {
    position: absolute;
    inset: 13px;
    border-radius: inherit;
    background: var(--goalm-surface);
    content: '';
  }

  .mv7-goals-mobile-ring > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--goalm-line);
    border-radius: 50%;
    background: var(--goalm-surface-soft);
    transform: rotate(26deg);
  }

  .mv7-goals-mobile-ring svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: var(--goalm-text);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-goals-mobile-totals {
    display: grid;
    min-width: 0;
    gap: 15px;
    margin: 0;
  }

  .mv7-goals-mobile-totals > div {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .mv7-goals-mobile-totals dd {
    overflow: hidden;
    margin: 0;
    color: var(--goalm-text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-goals-mobile-filters {
    display: grid;
    grid-template-columns: 0.85fr 0.95fr 1.25fr 1.1fr;
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mv7-goals-mobile-filters::-webkit-scrollbar {
    display: none;
  }

  .mv7-goals-mobile-filters button {
    min-width: max-content;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--goalm-surface-soft);
    color: var(--goalm-text);
    font-size: 11.5px;
    font-weight: 620;
    cursor: pointer;
  }

  .mv7-goals-mobile-filters button.is-active {
    border-color: var(--goalm-text);
    background: var(--goalm-text);
    color: var(--goalm-bg);
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.13);
  }

  .mv7-goals-mobile-list-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-goals-mobile-list-heading h3 {
    margin: 0;
    color: var(--goalm-text);
    font-size: 17px;
    font-weight: 680;
    letter-spacing: -0.03em;
  }

  .mv7-goals-mobile-list-heading button {
    display: inline-flex;
    min-height: 42px;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 0 17px;
    border: 0;
    border-radius: 999px;
    background: var(--goalm-text);
    color: var(--goalm-bg);
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
  }

  .mv7-goals-mobile-list-heading svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.9;
  }

  .mv7-goals-mobile-list {
    overflow: hidden;
    border: 1px solid var(--goalm-line);
    border-radius: 22px;
    background: var(--goalm-surface);
  }

  .mv7-goals-mobile-row {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 91px;
    grid-template-columns: 50px minmax(0, 1fr) minmax(75px, auto) 14px;
    align-items: center;
    gap: 11px;
    padding: 12px 13px;
    border: 0;
    border-bottom: 1px solid var(--goalm-line);
    background: var(--goalm-surface);
    color: var(--goalm-text);
    text-align: left;
    cursor: pointer;
  }

  .mv7-goals-mobile-row:last-child {
    border-bottom: 0;
  }

  .mv7-goals-mobile-row:active {
    background: var(--goalm-surface-soft);
  }

  .mv7-goals-mobile-row.is-archived {
    opacity: 0.62;
  }

  .mv7-goals-mobile-row-icon {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 14px;
    background: var(--goal-mobile-tint, var(--goalm-surface-soft));
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
    font-size: 24px;
  }

  .mv7-goals-mobile-row-copy {
    display: grid;
    min-width: 0;
    gap: 5px;
  }

  .mv7-goals-mobile-row-copy > strong,
  .mv7-goals-mobile-row-copy > small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-goals-mobile-row-copy > strong {
    color: var(--goalm-text);
    font-size: 13px;
    font-weight: 680;
    letter-spacing: -0.025em;
  }

  .mv7-goals-mobile-row-copy > small {
    color: var(--goalm-muted);
    font-size: 10.5px;
  }

  .mv7-goals-mobile-row-track {
    display: block;
    width: 100%;
    height: 5px;
    overflow: hidden;
    margin-top: 2px;
    border-radius: 999px;
    background: var(--goalm-track);
  }

  .mv7-goals-mobile-row-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--goalm-accent);
  }

  .mv7-goals-mobile-row.is-completed .mv7-goals-mobile-row-track i {
    background: #27a966;
  }

  .mv7-goals-mobile-row-figures {
    display: grid;
    min-width: 0;
    justify-items: end;
    gap: 5px;
  }

  .mv7-goals-mobile-row-figures strong {
    max-width: 105px;
    overflow: hidden;
    color: var(--goalm-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-goals-mobile-row-figures small {
    color: var(--goalm-accent);
    font-size: 11px;
    font-weight: 670;
  }

  .mv7-goals-mobile-row > svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: var(--goalm-muted);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .mv7-goals-mobile-empty {
    display: grid;
    min-height: 220px;
    place-content: center;
    justify-items: center;
    gap: 10px;
    padding: 28px 22px;
    text-align: center;
  }

  .mv7-goals-mobile-empty strong {
    color: var(--goalm-text);
    font-size: 17px;
  }

  .mv7-goals-mobile-empty p {
    max-width: 280px;
    margin: 0;
    color: var(--goalm-muted);
    font-size: 12px;
    line-height: 1.55;
  }

  .mv7-goals-mobile-empty button {
    min-height: 40px;
    margin-top: 5px;
    padding: 0 17px;
    border: 0;
    border-radius: 999px;
    background: var(--goalm-text);
    color: var(--goalm-bg);
    font-size: 12px;
    font-weight: 650;
  }

  .mv7-goal-mobile-actions {
    width: min(390px, calc(100% - 24px));
    max-width: none;
    margin: auto auto max(12px, env(safe-area-inset-bottom));
    padding: 0;
    border: 1px solid var(--goalm-line);
    border-radius: 25px;
    background: var(--goalm-surface);
    color: var(--goalm-text);
  }

  .mv7-goal-mobile-actions::backdrop {
    background: rgba(6, 8, 7, 0.62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  .mv7-goal-mobile-actions .mv7-dialog-body {
    display: grid;
    gap: 12px;
    padding: 18px;
  }

  .mv7-goal-mobile-actions .mv7-dialog-body > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-goal-mobile-actions h2 {
    margin: 2px 0 0;
    color: var(--goalm-text);
    font-size: 19px;
  }

  .mv7-goal-mobile-actions-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--goalm-line);
    border-radius: 17px;
  }

  .mv7-goal-mobile-actions-list > button {
    display: grid;
    min-height: 64px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 10px 13px;
    border: 0;
    border-bottom: 1px solid var(--goalm-line);
    background: transparent;
    color: var(--goalm-text);
    text-align: left;
  }

  .mv7-goal-mobile-actions-list > button:last-child {
    border-bottom: 0;
  }

  .mv7-goal-mobile-actions-list > button:disabled {
    opacity: 0.38;
  }

  .mv7-goal-mobile-actions-list svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
  }

  .mv7-goal-mobile-actions-list span {
    display: grid;
    gap: 3px;
  }

  .mv7-goal-mobile-actions-list strong {
    color: var(--goalm-text);
    font-size: 13px;
  }

  .mv7-goal-mobile-actions-list small {
    color: var(--goalm-muted);
    font-size: 10.5px;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='savings'] #savings-view.mv7-goals-view {
    padding-inline: 13px;
  }

  .mv7-goals-mobile-summary {
    grid-template-columns: minmax(0, 1fr) 72px minmax(76px, 0.8fr);
    gap: 9px;
    padding-inline: 14px;
  }

  .mv7-goals-mobile-ring {
    width: 70px;
    height: 70px;
  }

  .mv7-goals-mobile-filters {
    display: flex;
  }

  .mv7-goals-mobile-row {
    grid-template-columns: 45px minmax(0, 1fr) minmax(70px, auto) 12px;
    gap: 9px;
    padding-inline: 10px;
  }

  .mv7-goals-mobile-row-icon {
    width: 45px;
    height: 45px;
    font-size: 22px;
  }
}

/* Objetivos comparte exactamente el topbar móvil aprobado en Movimientos. */
@media (max-width: 768px) {
  body[data-v2-view='savings'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--goalm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='savings'] :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link) {
    display: none !important;
  }

  body[data-v2-view='savings'] .mv7-mobile-topbar-start,
  body[data-v2-view='savings'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='savings'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='savings'] .mv7-mobile-brand {
    color: var(--goalm-text);
  }

  body[data-v2-view='savings'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='savings'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='savings'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--goalm-line);
    border-radius: 50%;
    background: var(--goalm-surface);
    color: var(--goalm-text);
    box-shadow: none;
  }

  body[data-v2-view='savings'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--goalm-line);
    border-radius: 999px;
    background: var(--goalm-surface);
    box-shadow: none;
  }

  body[data-v2-view='savings'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='savings'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--goalm-text);
    box-shadow: none;
  }

  body[data-v2-view='savings'] #profile-button {
    background: var(--goalm-surface-soft);
    font-size: 12px;
  }
}

/* Calendario móvil 2026: calendario mensual real y agenda conectada. */
.mv7-calendar-mobile-reference {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='calendar'] {
    --calm-bg: #000000;
    --calm-surface: #1c1c1e;
    --calm-surface-soft: #2c2c2e;
    --calm-line: rgba(255, 255, 255, 0.1);
    --calm-text: #f5f5f7;
    --calm-muted: #98989d;
    --calm-income: #3cc780;
    --calm-expense: #f05b4f;
    --calm-transfer: #5585e8;
    --calm-reminder: #f2ad31;
    background: var(--calm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='calendar'] {
    --calm-bg: var(--v2-warm-base);
    --calm-surface: var(--v2-warm-surface);
    --calm-surface-soft: var(--v2-warm-soft);
    --calm-line: rgba(15, 20, 17, 0.09);
    --calm-text: #090a09;
    --calm-muted: #626963;
    --calm-income: #05603a;
    --calm-expense: #c4320a;
    --calm-transfer: #175cd3;
    --calm-reminder: #8a5d00;
  }

  body[data-v2-view='calendar'] .mv7-workspace {
    background: var(--calm-bg);
  }

  body[data-v2-view='calendar'] #calendar-view[hidden] {
    display: none !important;
  }

  body[data-v2-view='calendar'] #calendar-view.mv7-calendar-view {
    position: relative;
    display: block;
    width: 100%;
    max-width: 560px;
    padding: 18px 16px calc(104px + env(safe-area-inset-bottom));
    background: var(--calm-bg);
    color: var(--calm-text);
  }

  body[data-v2-view='calendar']
    #calendar-view
    > :is(.mv7-calendar-heading, .mv7-calendar-horizon, .mv7-calendar-sidebar) {
    display: none !important;
  }

  body[data-v2-view='calendar'] #calendar-view .mv7-calendar-mobile-reference {
    display: grid;
    gap: 20px;
  }

  .mv7-calendar-mobile-heading {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 0 1px;
  }

  .mv7-calendar-mobile-heading > div {
    position: relative;
    z-index: 1;
  }

  .mv7-calendar-mobile-heading > img {
    position: absolute;
    top: -24px;
    right: 3px;
    width: clamp(88px, 25vw, 106px);
    height: auto;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 18px 18px rgba(26, 91, 174, 0.2));
  }

  .mv7-calendar-mobile-heading h2 {
    margin: 0;
    color: var(--calm-text);
    font-size: clamp(32px, 9.5vw, 42px);
    font-weight: 720;
    letter-spacing: -0.055em;
    line-height: 1;
  }

  .mv7-calendar-mobile-heading p {
    margin: 0;
    color: var(--calm-muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .mv7-calendar-mobile-summary {
    position: relative;
    display: grid;
    min-height: 116px;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--calm-line);
    border-radius: 22px;
    background: var(--calm-surface);
  }

  .mv7-calendar-mobile-summary h3 {
    margin: 0;
    padding-right: 44px;
    color: var(--calm-text);
    font-size: 12px;
    font-weight: 650;
  }

  .mv7-calendar-mobile-summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
  }

  .mv7-calendar-mobile-summary dl > div {
    display: grid;
    min-width: 0;
    gap: 6px;
    padding: 0 12px;
    border-left: 1px solid var(--calm-line);
  }

  .mv7-calendar-mobile-summary dl > div:first-child {
    padding-left: 0;
    border-left: 0;
  }

  .mv7-calendar-mobile-summary dt {
    color: var(--calm-muted);
    font-size: 10px;
  }

  .mv7-calendar-mobile-summary dd {
    overflow: hidden;
    margin: 0;
    color: var(--calm-text);
    font-size: clamp(10.5px, 3vw, 13px);
    font-weight: 700;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-calendar-mobile-summary dd.is-income,
  .mv7-calendar-mobile-summary dd.is-balance {
    color: var(--calm-income);
  }

  .mv7-calendar-mobile-summary dd.is-negative {
    color: var(--calm-expense);
  }

  .mv7-calendar-mobile-summary-icon {
    position: absolute;
    top: 15px;
    right: 14px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid var(--calm-line);
    border-radius: 11px;
    background: var(--calm-surface-soft);
  }

  .mv7-calendar-mobile-summary-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: var(--calm-text);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-calendar-mobile-controls {
    display: grid;
    min-width: 0;
    grid-template-columns: 42px minmax(0, 1fr) 42px 82px 46px;
    align-items: center;
    gap: 7px;
  }

  .mv7-calendar-mobile-controls button {
    display: inline-flex;
    min-width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0;
    border: 1px solid var(--calm-line);
    border-radius: 999px;
    background: var(--calm-surface);
    color: var(--calm-text);
    cursor: pointer;
  }

  .mv7-calendar-mobile-controls > button:first-child svg {
    transform: rotate(180deg);
  }

  .mv7-calendar-mobile-controls svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
  }

  .mv7-calendar-mobile-controls > strong {
    overflow: hidden;
    color: var(--calm-text);
    font-size: 16px;
    font-weight: 690;
    letter-spacing: -0.035em;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
  }

  .mv7-calendar-mobile-controls .mv7-calendar-mobile-today {
    min-width: 82px;
    padding: 0 13px;
    font-size: 12px;
    font-weight: 650;
  }

  .mv7-calendar-mobile-month {
    display: grid;
    gap: 8px;
  }

  .mv7-calendar-mobile-weekdays,
  .mv7-calendar-mobile-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .mv7-calendar-mobile-weekdays span {
    color: var(--calm-muted);
    font-size: 9px;
    font-weight: 620;
    text-align: center;
  }

  .mv7-calendar-mobile-grid {
    row-gap: 3px;
  }

  .mv7-calendar-mobile-grid.is-entering-left {
    animation: calendar-month-from-left 240ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .mv7-calendar-mobile-grid.is-entering-right {
    animation: calendar-month-from-right 240ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .mv7-calendar-mobile-day {
    position: relative;
    display: grid;
    min-width: 0;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: var(--calm-text);
    cursor: pointer;
  }

  .mv7-calendar-mobile-day strong {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 580;
  }

  .mv7-calendar-mobile-day.is-outside {
    color: color-mix(in srgb, var(--calm-muted) 48%, transparent);
  }

  .mv7-calendar-mobile-day.is-today strong {
    border-radius: 50%;
    background: color-mix(in srgb, var(--calm-income) 17%, transparent);
    color: var(--calm-income);
  }

  .mv7-calendar-mobile-day.is-selected strong {
    background: color-mix(in srgb, var(--calm-transfer) 12%, var(--calm-surface));
    color: var(--calm-text);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--calm-transfer) 9%, transparent),
      0 6px 15px color-mix(in srgb, var(--calm-transfer) 18%, transparent);
  }

  .mv7-calendar-mobile-ring {
    position: absolute;
    width: 42px;
    height: 42px;
    max-width: 100%;
    fill: none;
    stroke-width: 3.5;
    stroke-linecap: round;
    transform: rotate(-90deg);
    pointer-events: none;
  }

  .mv7-calendar-mobile-ring .is-track {
    stroke: color-mix(in srgb, var(--calm-muted) 10%, transparent);
  }

  .mv7-calendar-mobile-ring .is-income { stroke: var(--calm-income); }
  .mv7-calendar-mobile-ring .is-expense { stroke: var(--calm-expense); }
  .mv7-calendar-mobile-ring .is-transfer { stroke: var(--calm-transfer); }
  .mv7-calendar-mobile-ring .is-reminder { stroke: var(--calm-reminder); }

  .mv7-calendar-mobile-ring circle:not(.is-track) {
    animation: calendar-ring-draw 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .mv7-calendar-mobile-reminder-marker {
    position: absolute;
    right: max(0px, calc(50% - 22px));
    top: 2px;
    width: 7px;
    height: 7px;
    border: 1.5px solid var(--calm-surface);
    border-radius: 50%;
    background: var(--calm-reminder);
    pointer-events: none;
  }

  .mv7-calendar-mobile-reminder-marker.is-important {
    display: grid;
    width: 12px;
    height: 12px;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--calm-reminder);
    font-size: 10px;
    line-height: 1;
  }

  .mv7-calendar-day-peek {
    position: absolute;
    z-index: 8;
    bottom: calc(100% + 7px);
    left: 50%;
    width: max-content;
    max-width: 190px;
    padding: 7px 10px;
    border: 1px solid var(--calm-line);
    border-radius: 10px;
    background: color-mix(in srgb, var(--calm-surface) 92%, transparent);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
    color: var(--calm-text);
    font-size: 9px;
    font-weight: 650;
    transform: translateX(-50%);
    backdrop-filter: blur(18px);
    pointer-events: none;
  }

  .mv7-calendar-mobile-day-dots {
    position: absolute;
    bottom: 2px;
    left: 50%;
    display: flex;
    gap: 2px;
    transform: translateX(-50%);
  }

  .mv7-calendar-mobile-day-dots i,
  .mv7-calendar-mobile-legend i {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--calm-muted);
  }

  .mv7-calendar-mobile-day-dots .is-income,
  .mv7-calendar-mobile-legend .is-income {
    background: var(--calm-income);
  }

  .mv7-calendar-mobile-day-dots .is-expense,
  .mv7-calendar-mobile-legend .is-expense {
    background: var(--calm-expense);
  }

  .mv7-calendar-mobile-day-dots .is-transfer,
  .mv7-calendar-mobile-legend .is-transfer {
    background: var(--calm-transfer);
  }

  .mv7-calendar-mobile-day-dots .is-reminder,
  .mv7-calendar-mobile-legend .is-reminder {
    background: var(--calm-reminder);
  }

  .mv7-calendar-mobile-legend {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 12px 9px;
    border: 1px solid var(--calm-line);
    border-radius: 16px;
    background: var(--calm-surface);
  }

  .mv7-calendar-mobile-legend span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--calm-text);
    font-size: 8.5px;
    white-space: nowrap;
  }

  .mv7-calendar-mobile-legend i {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
  }

  .mv7-calendar-mobile-agenda-section {
    display: grid;
    gap: 12px;
  }

  .mv7-calendar-mobile-agenda-section > header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .mv7-calendar-mobile-agenda-section h3 {
    overflow: hidden;
    margin: 0;
    color: var(--calm-text);
    font-size: 15px;
    font-weight: 680;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-calendar-mobile-agenda-section > header button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 5px 0;
    border: 0;
    background: transparent;
    color: var(--calm-text);
    font-size: 10.5px;
    font-weight: 640;
    cursor: pointer;
  }

  .mv7-calendar-mobile-agenda-section > header svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .mv7-calendar-mobile-day-summary {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--calm-line);
    border-radius: 20px;
    background: var(--calm-surface);
  }

  .mv7-calendar-mobile-day-summary[hidden] { display: none; }

  .mv7-calendar-mobile-total-ring {
    position: relative;
    display: grid;
    width: 104px;
    height: 104px;
    place-items: center;
    border-radius: 50%;
    background: var(--day-ring);
    transform: rotate(-90deg);
  }

  .mv7-calendar-mobile-total-ring::after {
    position: absolute;
    inset: 13px;
    border-radius: 50%;
    background: var(--calm-surface);
    content: '';
  }

  .mv7-calendar-mobile-total-ring > span {
    z-index: 1;
    display: grid;
    justify-items: center;
    transform: rotate(90deg);
  }

  .mv7-calendar-mobile-total-ring strong { font-size: 11px; }
  .mv7-calendar-mobile-total-ring small { color: var(--calm-muted); font-size: 8px; }

  .mv7-calendar-mobile-breakdown { display: grid; gap: 8px; }

  .mv7-calendar-mobile-breakdown > div {
    display: grid;
    grid-template-columns: minmax(64px, 1fr) auto 25px;
    align-items: center;
    gap: 6px;
    color: var(--row-color);
    font-size: 8.5px;
  }

  .mv7-calendar-mobile-breakdown .is-income { --row-color: var(--calm-income); }
  .mv7-calendar-mobile-breakdown .is-expense { --row-color: var(--calm-expense); }
  .mv7-calendar-mobile-breakdown .is-transfer { --row-color: var(--calm-transfer); }
  .mv7-calendar-mobile-breakdown span { color: var(--calm-text); }
  .mv7-calendar-mobile-breakdown strong { font-size: 8px; text-align: right; }
  .mv7-calendar-mobile-breakdown small { color: var(--calm-muted); text-align: right; }

  .mv7-calendar-mobile-breakdown i {
    grid-column: 1 / -1;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--calm-surface-soft);
  }

  .mv7-calendar-mobile-breakdown b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--row-color);
  }

  @keyframes calendar-ring-draw {
    from { stroke-dashoffset: 100; opacity: 0; }
  }

  @keyframes calendar-month-from-left {
    from { opacity: 0; transform: translateX(-14px); }
  }

  @keyframes calendar-month-from-right {
    from { opacity: 0; transform: translateX(14px); }
  }

  @media (max-width: 390px) {
    .mv7-calendar-mobile-day-summary {
      grid-template-columns: 94px minmax(0, 1fr);
      gap: 10px;
      padding: 11px;
    }

    .mv7-calendar-mobile-total-ring {
      width: 88px;
      height: 88px;
    }

    .mv7-calendar-mobile-breakdown > div {
      grid-template-columns: minmax(54px, 1fr) auto 23px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .mv7-calendar-mobile-grid,
    .mv7-calendar-mobile-ring circle:not(.is-track) {
      animation: none !important;
    }
  }

  .mv7-calendar-mobile-agenda {
    overflow: hidden;
    border: 1px solid var(--calm-line);
    border-radius: 20px;
    background: var(--calm-surface);
  }

  .mv7-calendar-mobile-agenda-row {
    display: grid;
    width: 100%;
    min-height: 74px;
    grid-template-columns: 42px minmax(0, 1fr) minmax(78px, auto) 12px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--calm-line);
    background: var(--calm-surface);
    color: var(--calm-text);
    text-align: left;
    cursor: pointer;
  }

  .mv7-calendar-mobile-agenda-row:last-child {
    border-bottom: 0;
  }

  .mv7-calendar-mobile-agenda-row:active {
    background: var(--calm-surface-soft);
  }

  .mv7-calendar-mobile-agenda-token {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: color-mix(in srgb, var(--row-color) 14%, var(--calm-surface));
    color: var(--row-color);
  }

  .mv7-calendar-mobile-agenda-row.is-income {
    --row-color: var(--calm-income);
  }

  .mv7-calendar-mobile-agenda-row.is-expense {
    --row-color: var(--calm-expense);
  }

  .mv7-calendar-mobile-agenda-row.is-transfer {
    --row-color: var(--calm-transfer);
  }

  .mv7-calendar-mobile-agenda-row.is-reminder {
    --row-color: var(--calm-reminder);
  }

  .mv7-calendar-mobile-agenda-token svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-calendar-mobile-agenda-copy,
  .mv7-calendar-mobile-agenda-figures {
    display: grid;
    min-width: 0;
    gap: 5px;
  }

  .mv7-calendar-mobile-agenda-copy > strong,
  .mv7-calendar-mobile-agenda-copy small,
  .mv7-calendar-mobile-agenda-figures > * {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-calendar-mobile-agenda-copy > strong {
    color: var(--calm-text);
    font-size: 12.5px;
    font-weight: 680;
  }

  .mv7-calendar-mobile-agenda-copy small {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
    color: var(--calm-muted);
    font-size: 9.5px;
  }

  .mv7-calendar-mobile-agenda-copy small b {
    color: var(--row-color);
    font-weight: 590;
  }

  .mv7-calendar-mobile-agenda-copy small i {
    font-style: normal;
  }

  .mv7-calendar-mobile-agenda-figures {
    justify-items: end;
  }

  .mv7-calendar-mobile-agenda-figures strong {
    max-width: 122px;
    color: var(--row-color);
    font-size: 11.5px;
    font-weight: 700;
  }

  .mv7-calendar-mobile-agenda-figures small {
    color: var(--calm-muted);
    font-size: 9.5px;
  }

  .mv7-calendar-mobile-agenda-row > svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: var(--calm-muted);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .mv7-calendar-mobile-empty {
    display: grid;
    min-height: 132px;
    place-content: center;
    justify-items: center;
    gap: 7px;
    padding: 22px;
    text-align: center;
  }

  .mv7-calendar-mobile-empty > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: var(--calm-surface-soft);
    color: var(--calm-muted);
  }

  .mv7-calendar-mobile-empty svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
  }

  .mv7-calendar-mobile-empty strong {
    color: var(--calm-text);
    font-size: 13px;
  }

  .mv7-calendar-mobile-empty p {
    max-width: 260px;
    margin: 0;
    color: var(--calm-muted);
    font-size: 10.5px;
    line-height: 1.45;
  }

  .mv7-calendar-mobile-controls .mv7-calendar-mobile-fab {
    position: static;
    z-index: auto;
    display: grid;
    width: 46px;
    min-width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--calm-text) 16%, transparent);
    border-radius: 50%;
    background: var(--calm-text);
    color: var(--calm-bg);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    cursor: pointer;
  }

  .mv7-calendar-mobile-controls .mv7-calendar-mobile-fab svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
  }

  .mv7-calendar-day-events-empty {
    margin: 0;
    padding: 28px 18px;
    color: var(--calm-muted);
    font-size: 12px;
    text-align: center;
  }

  /* Calendario comparte exactamente el topbar móvil aprobado en Movimientos. */
  body[data-v2-view='calendar'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--calm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='calendar'] :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link) {
    display: none !important;
  }

  body[data-v2-view='calendar'] .mv7-mobile-topbar-start,
  body[data-v2-view='calendar'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='calendar'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='calendar'] .mv7-mobile-brand {
    color: var(--calm-text);
  }

  body[data-v2-view='calendar'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='calendar'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='calendar'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--calm-line);
    border-radius: 50%;
    background: var(--calm-surface);
    color: var(--calm-text);
    box-shadow: none;
  }

  body[data-v2-view='calendar'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--calm-line);
    border-radius: 999px;
    background: var(--calm-surface);
    box-shadow: none;
  }

  body[data-v2-view='calendar'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='calendar'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--calm-text);
    box-shadow: none;
  }

  body[data-v2-view='calendar'] #profile-button {
    background: var(--calm-surface-soft);
    font-size: 12px;
  }
}

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

  .mv7-calendar-mobile-summary dl > div {
    padding-inline: 8px;
  }

  .mv7-calendar-mobile-controls {
    grid-template-columns: 38px minmax(0, 1fr) 38px 72px;
    gap: 5px;
  }

  .mv7-calendar-mobile-controls button {
    min-width: 38px;
    height: 38px;
  }

  .mv7-calendar-mobile-controls .mv7-calendar-mobile-today {
    min-width: 72px;
    padding-inline: 9px;
  }

  .mv7-calendar-mobile-legend span {
    font-size: 7.5px;
  }

  .mv7-calendar-mobile-agenda-row {
    grid-template-columns: 39px minmax(0, 1fr) minmax(70px, auto) 10px;
    gap: 8px;
    padding-inline: 9px;
  }

  .mv7-calendar-mobile-agenda-token {
    width: 39px;
    height: 39px;
  }
}

/* Patrimonio móvil 2026: resumen, distribución, capas y evolución reales. */
.mv7-networth-mobile-reference {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='networth'] {
    --netm-bg: #000000;
    --netm-surface: #1c1c1e;
    --netm-surface-soft: #2c2c2e;
    --netm-line: rgba(255, 255, 255, 0.1);
    --netm-text: #f5f5f7;
    --netm-muted: #98989d;
    --netm-green: #3fbc72;
    --netm-red: #ef584d;
    --netm-blue: #4d7fe0;
    --netm-purple: #855bd8;
    --netm-amber: #efa82b;
    background: var(--netm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='networth'] {
    --netm-bg: var(--v2-warm-base);
    --netm-surface: var(--v2-warm-surface);
    --netm-surface-soft: var(--v2-warm-soft);
    --netm-line: rgba(15, 20, 17, 0.09);
    --netm-text: #090a09;
    --netm-muted: #626963;
    --netm-green: #05603a;
    --netm-red: #c4323a;
    --netm-blue: #175cd3;
    --netm-purple: #6938b5;
    --netm-amber: #8a5d00;
  }

  body[data-v2-view='networth'] .mv7-workspace {
    background: var(--netm-bg);
  }

  body[data-v2-view='networth'] .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  body[data-v2-view='networth'] #networth-view[hidden] {
    display: none !important;
  }

  body[data-v2-view='networth'] #networth-view.mv7-networth-view {
    position: relative;
    display: block;
    width: 100%;
    max-width: 560px;
    padding: 18px 16px calc(104px + env(safe-area-inset-bottom));
    background: var(--netm-bg);
    color: var(--netm-text);
  }

  body[data-v2-view='networth'] #networth-view > :is(.mv7-networth-heading, .mv7-networth-section) {
    display: none !important;
  }

  body[data-v2-view='networth'] #networth-view .mv7-networth-mobile-reference {
    display: grid;
    gap: 20px;
  }

  .mv7-networth-mobile-heading {
    display: grid;
    gap: 6px;
    padding: 0 1px;
  }

  .mv7-networth-mobile-heading h2 {
    margin: 0;
    color: var(--netm-text);
    font-size: clamp(32px, 9.5vw, 42px);
    font-weight: 720;
    letter-spacing: -0.055em;
    line-height: 1;
  }

  .mv7-networth-mobile-heading p {
    margin: 0;
    color: var(--netm-muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .mv7-networth-mobile-hero {
    display: grid;
    min-height: 146px;
    grid-template-columns: minmax(0, 1.25fr) minmax(76px, 0.74fr) minmax(76px, 0.7fr);
    align-items: center;
    gap: 8px;
    padding: 17px 15px;
    border: 1px solid var(--netm-line);
    border-radius: 22px;
    background: var(--netm-surface);
  }

  .mv7-networth-mobile-hero-copy {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: 7px;
  }

  .mv7-networth-mobile-hero-copy > button {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--netm-muted);
    font-size: 10px;
    cursor: pointer;
  }

  .mv7-networth-mobile-hero-copy > button svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-networth-mobile-hero-copy > strong {
    overflow: hidden;
    color: var(--netm-text);
    font-size: clamp(15px, 4.2vw, 18px);
    font-weight: 730;
    letter-spacing: -0.055em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-hero-copy > span {
    overflow: hidden;
    color: var(--netm-green);
    font-size: 9.5px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-hero-copy > span.is-negative {
    color: var(--netm-red);
  }

  .mv7-networth-mobile-hero-copy > small {
    color: var(--netm-muted);
    font-size: 9px;
  }

  .mv7-networth-mobile-spark {
    min-width: 0;
    height: 112px;
  }

  .mv7-networth-mobile-spark svg {
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  .mv7-networth-mobile-gridline {
    fill: none;
    stroke: var(--netm-line);
    stroke-dasharray: 5 5;
    stroke-width: 1;
  }

  .mv7-networth-mobile-spark-area {
    fill: url(#networth-mobile-spark-fill);
  }

  .mv7-networth-mobile-spark-path {
    fill: none;
    filter: drop-shadow(0 4px 8px color-mix(in srgb, var(--netm-green) 24%, transparent));
    stroke: var(--netm-green);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
  }

  .mv7-networth-mobile-hero-totals {
    display: grid;
    min-width: 0;
    gap: 12px;
    margin: 0;
  }

  .mv7-networth-mobile-hero-totals > div {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .mv7-networth-mobile-hero-totals dt {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--netm-muted);
    font-size: 8.5px;
  }

  .mv7-networth-mobile-hero-totals dt i {
    display: block;
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--netm-muted);
  }

  .mv7-networth-mobile-hero-totals dt i.is-assets {
    background: var(--netm-green);
  }

  .mv7-networth-mobile-hero-totals dt i.is-liabilities {
    background: var(--netm-red);
  }

  .mv7-networth-mobile-hero-totals dt i.is-net {
    background: color-mix(in srgb, var(--netm-muted) 45%, transparent);
  }

  .mv7-networth-mobile-hero-totals dd {
    overflow: hidden;
    margin: 0;
    color: var(--netm-text);
    font-size: 9.5px;
    font-weight: 680;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-distribution-section,
  .mv7-networth-mobile-evolution {
    display: grid;
    gap: 12px;
  }

  .mv7-networth-mobile-distribution-section > header,
  .mv7-networth-mobile-evolution > header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-networth-mobile-distribution-section h3,
  .mv7-networth-mobile-evolution h3,
  .mv7-networth-mobile-ledger h3 {
    margin: 0;
    color: var(--netm-text);
    font-size: 15px;
    font-weight: 680;
    letter-spacing: -0.03em;
  }

  .mv7-networth-mobile-distribution-section > header button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 5px 0;
    border: 0;
    background: transparent;
    color: var(--netm-muted);
    font-size: 10px;
    font-weight: 610;
    cursor: pointer;
  }

  .mv7-networth-mobile-distribution-section > header svg,
  .mv7-networth-mobile-ledger > button svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .mv7-networth-mobile-distribution {
    display: grid;
    min-height: 184px;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    padding: 16px;
    border: 1px solid var(--netm-line);
    border-radius: 22px;
    background: var(--netm-surface);
  }

  .mv7-networth-mobile-donut {
    position: relative;
    display: grid;
    width: 132px;
    height: 132px;
    place-items: center;
    border-radius: 50%;
  }

  .mv7-networth-mobile-donut::before {
    position: absolute;
    inset: 21px;
    border-radius: inherit;
    background: var(--netm-surface);
    content: '';
  }

  .mv7-networth-mobile-donut > span {
    position: relative;
    z-index: 1;
    display: grid;
    max-width: 82px;
    justify-items: center;
    gap: 4px;
    text-align: center;
  }

  .mv7-networth-mobile-donut small {
    color: var(--netm-muted);
    font-size: 8.5px;
  }

  .mv7-networth-mobile-donut strong {
    overflow: hidden;
    max-width: 100%;
    color: var(--netm-text);
    font-size: 9.5px;
    font-weight: 720;
    letter-spacing: -0.04em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-distribution-list {
    display: grid;
    min-width: 0;
    gap: 8px;
  }

  .mv7-networth-mobile-distribution-list > button:not(.mv7-networth-mobile-distribution-empty) {
    display: grid;
    min-width: 0;
    grid-template-columns: 28px 6px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--netm-text);
    text-align: left;
    cursor: pointer;
  }

  .mv7-networth-mobile-distribution-list > button > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    background: color-mix(in srgb, var(--mobile-layer-tone) 14%, var(--netm-surface));
    color: var(--mobile-layer-tone);
  }

  .mv7-networth-mobile-distribution-list svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-networth-mobile-distribution-list i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mobile-layer-tone);
  }

  .mv7-networth-mobile-distribution-list strong,
  .mv7-networth-mobile-distribution-list b {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-distribution-list strong {
    font-size: 9.5px;
    font-weight: 620;
  }

  .mv7-networth-mobile-distribution-list b,
  .mv7-networth-mobile-distribution-list em {
    font-size: 8.5px;
    font-style: normal;
    font-weight: 680;
  }

  .mv7-networth-mobile-distribution-list em {
    color: var(--mobile-layer-tone);
  }

  .mv7-networth-mobile-distribution-empty {
    min-height: 80px;
    padding: 12px;
    border: 1px dashed var(--netm-line);
    border-radius: 14px;
    background: transparent;
    color: var(--netm-muted);
    font-size: 10px;
  }

  .mv7-networth-mobile-ledgers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
  }

  .mv7-networth-mobile-ledger {
    overflow: hidden;
    border: 1px solid var(--netm-line);
    border-radius: 20px;
    background: var(--netm-surface);
  }

  .mv7-networth-mobile-ledger > header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    padding: 14px 12px 10px;
  }

  .mv7-networth-mobile-ledger > header h3 {
    font-size: 12px;
  }

  .mv7-networth-mobile-ledger > header strong {
    overflow: hidden;
    color: var(--netm-green);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-ledger.is-liabilities > header strong {
    color: var(--netm-red);
  }

  .mv7-networth-mobile-ledger-row {
    display: grid;
    width: 100%;
    min-height: 49px;
    grid-template-columns: 28px minmax(0, 1fr) auto 9px;
    align-items: center;
    gap: 6px;
    padding: 8px 9px;
    border: 0;
    border-top: 1px solid var(--netm-line);
    background: transparent;
    color: var(--netm-text);
    text-align: left;
    cursor: pointer;
  }

  .mv7-networth-mobile-row-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    background: color-mix(in srgb, var(--mobile-layer-tone) 14%, var(--netm-surface));
    color: var(--mobile-layer-tone);
  }

  .mv7-networth-mobile-row-icon svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-networth-mobile-ledger-row > strong,
  .mv7-networth-mobile-ledger-row > span:not(.mv7-networth-mobile-row-icon) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-ledger-row > strong {
    font-size: 8.5px;
    font-weight: 620;
  }

  .mv7-networth-mobile-ledger-row > span:not(.mv7-networth-mobile-row-icon) {
    font-size: 8px;
    font-weight: 670;
  }

  .mv7-networth-mobile-ledger-row > svg {
    width: 9px;
    height: 9px;
    fill: none;
    stroke: var(--netm-muted);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .mv7-networth-mobile-ledger > button:last-child {
    display: flex;
    width: 100%;
    min-height: 39px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 11px;
    border: 0;
    border-top: 1px solid var(--netm-line);
    background: transparent;
    color: var(--netm-text);
    font-size: 8.5px;
    font-weight: 610;
    cursor: pointer;
  }

  .mv7-networth-mobile-ledger > button[hidden] {
    display: none !important;
  }

  .mv7-networth-mobile-ledger-empty {
    display: grid;
    min-height: 104px;
    place-content: center;
    margin: 0;
    padding: 14px;
    border: 0;
    border-top: 1px solid var(--netm-line);
    background: transparent;
    color: var(--netm-muted);
    font-size: 9px;
    text-align: center;
  }

  .mv7-networth-mobile-ledger-empty.is-positive {
    color: var(--netm-green);
  }

  .mv7-networth-mobile-evolution > header label {
    position: relative;
    display: inline-flex;
    min-width: 92px;
    height: 38px;
    flex: 0 0 auto;
    align-items: center;
    border: 1px solid var(--netm-line);
    border-radius: 999px;
    background: var(--netm-surface);
  }

  .mv7-networth-mobile-evolution select {
    width: 100%;
    height: 100%;
    appearance: none;
    padding: 0 30px 0 13px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--netm-text);
    font: inherit;
    font-size: 10px;
    font-weight: 650;
  }

  .mv7-networth-mobile-evolution > header label svg {
    position: absolute;
    right: 11px;
    width: 11px;
    height: 11px;
    fill: none;
    stroke: var(--netm-text);
    pointer-events: none;
  }

  .mv7-networth-mobile-evolution-card {
    display: grid;
    min-height: 208px;
    grid-template-columns: minmax(0, 1fr) 86px;
    align-items: stretch;
    gap: 13px;
    padding: 15px;
    border: 1px solid var(--netm-line);
    border-radius: 22px;
    background: var(--netm-surface);
  }

  .mv7-networth-mobile-evolution-chart {
    position: relative;
    min-width: 0;
    padding: 0 0 20px 28px;
  }

  .mv7-networth-mobile-evolution-chart > svg {
    width: 100%;
    height: 165px;
    overflow: visible;
  }

  .mv7-networth-mobile-evolution-grid {
    fill: none;
    stroke: var(--netm-line);
    stroke-dasharray: 4 4;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
  }

  .mv7-networth-mobile-evolution-area {
    fill: color-mix(in srgb, var(--netm-green) 14%, transparent);
  }

  .mv7-networth-mobile-evolution-path {
    fill: none;
    stroke: var(--netm-green);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
  }

  #networth-mobile-evolution-points circle {
    fill: var(--netm-green);
    stroke: var(--netm-surface);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
  }

  .mv7-networth-mobile-evolution-axis {
    position: absolute;
    inset: 0 auto 20px 0;
    display: flex;
    width: 26px;
    flex-direction: column;
    justify-content: space-between;
  }

  .mv7-networth-mobile-evolution-axis span {
    color: var(--netm-muted);
    font-size: 7.5px;
  }

  .mv7-networth-mobile-evolution-months {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 28px;
    display: flex;
    justify-content: space-between;
  }

  .mv7-networth-mobile-evolution-months span {
    color: var(--netm-muted);
    font-size: 7px;
  }

  .mv7-networth-mobile-evolution-card > dl {
    display: grid;
    align-content: center;
    gap: 15px;
    margin: 0;
  }

  .mv7-networth-mobile-evolution-card > dl > div {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .mv7-networth-mobile-evolution-card dt {
    color: var(--netm-muted);
    font-size: 8px;
  }

  .mv7-networth-mobile-evolution-card dd {
    overflow: hidden;
    margin: 0;
    color: var(--netm-text);
    font-size: 9.5px;
    font-weight: 690;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-networth-mobile-evolution-card #networth-mobile-largest-change,
  .mv7-networth-mobile-evolution-card #networth-mobile-largest-rate {
    color: var(--netm-green);
  }

  .mv7-networth-mobile-evolution-card
    :is(#networth-mobile-largest-change, #networth-mobile-largest-rate).is-negative {
    color: var(--netm-red);
  }

  .mv7-networth-mobile-evolution-card small {
    color: var(--netm-green);
    font-size: 8px;
  }

  .mv7-networth-mobile-fab {
    position: fixed;
    z-index: 25;
    right: 18px;
    bottom: max(18px, env(safe-area-inset-bottom));
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--netm-text);
    color: var(--netm-bg);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
    cursor: pointer;
  }

  .mv7-networth-mobile-fab svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
  }

  /* Patrimonio comparte exactamente el topbar móvil aprobado en Movimientos. */
  body[data-v2-view='networth'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--netm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='networth'] :is(.mv7-page-identity, #conn-status-chip, #whatsapp-quick-link) {
    display: none !important;
  }

  body[data-v2-view='networth'] .mv7-mobile-topbar-start,
  body[data-v2-view='networth'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='networth'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='networth'] .mv7-mobile-brand {
    color: var(--netm-text);
  }

  body[data-v2-view='networth'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='networth'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='networth'] .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--netm-line);
    border-radius: 50%;
    background: var(--netm-surface);
    color: var(--netm-text);
    box-shadow: none;
  }

  body[data-v2-view='networth'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--netm-line);
    border-radius: 999px;
    background: var(--netm-surface);
    box-shadow: none;
  }

  body[data-v2-view='networth'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='networth'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--netm-text);
    box-shadow: none;
  }

  body[data-v2-view='networth'] #profile-button {
    background: var(--netm-surface-soft);
    font-size: 12px;
  }
}

/* Recurrentes móvil 2026: agenda editorial conectada y separada de escritorio. */
.mv7-recurring-mobile-reference {
  display: none;
}

.mv7-recurring-desktop-legacy {
  display: contents;
}

@media (max-width: 768px) {
  body[data-v2-view='recurring'] {
    --recm-bg: #000000;
    --recm-surface: #1c1c1e;
    --recm-surface-soft: #2c2c2e;
    --recm-line: rgba(255, 255, 255, 0.1);
    --recm-text: #f5f5f7;
    --recm-muted: #98989d;
    --recm-green: #39c67b;
    --recm-amber: #ffb51a;
    background: var(--recm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='recurring'] {
    --recm-bg: var(--v2-warm-base);
    --recm-surface: var(--v2-warm-surface);
    --recm-surface-soft: var(--v2-warm-soft);
    --recm-line: rgba(11, 15, 13, 0.075);
    --recm-text: #080908;
    --recm-muted: #626963;
    --recm-green: #05603a;
    --recm-amber: #8a5d00;
  }

  body[data-v2-view='recurring'] .mv7-workspace {
    background: var(--recm-bg);
  }

  body[data-v2-view='recurring'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--recm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='recurring'] .mv7-topbar::after,
  body[data-v2-view='recurring'] .mv7-page-identity,
  body[data-v2-view='recurring'] #conn-status-chip,
  body[data-v2-view='recurring'] #whatsapp-quick-link {
    display: none !important;
  }

  body[data-v2-view='recurring'] .mv7-mobile-topbar-start,
  body[data-v2-view='recurring'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='recurring'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='recurring'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--recm-line);
    border-radius: 50%;
    background: var(--recm-surface);
    color: var(--recm-text);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='recurring'] .mv7-menu-button svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='recurring'] .mv7-mobile-brand {
    gap: 7px;
    color: var(--recm-text);
  }

  body[data-v2-view='recurring'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='recurring'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='recurring'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--recm-line);
    border-radius: 999px;
    background: var(--recm-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='recurring'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='recurring'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--recm-text) 8%, transparent);
    box-shadow: none;
    color: var(--recm-text);
    font-size: 11px;
  }

  body[data-v2-view='recurring'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='recurring'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--recm-text);
    box-shadow: none;
  }

  body[data-v2-view='recurring'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='recurring'] #profile-button {
    background: var(--recm-surface-soft);
    font-size: 12px;
  }

  body[data-v2-view='recurring'] #recurring-view.mv7-recurring-view {
    display: block !important;
    width: 100%;
    max-width: 560px;
    min-height: 0;
    padding: 18px 16px calc(38px + env(safe-area-inset-bottom));
    margin-inline: auto;
    background: var(--recm-bg);
  }

  body[data-v2-view='recurring'] #recurring-view[hidden] {
    display: none !important;
  }

  body[data-v2-view='recurring'] .mv7-recurring-desktop-legacy {
    display: none !important;
  }

  body[data-v2-view='recurring'] .mv7-recurring-mobile-reference {
    display: grid;
    gap: 20px;
    color: var(--recm-text);
  }

  .mv7-recurring-mobile-heading {
    display: grid;
    gap: 8px;
    padding: 0 4px 2px;
  }

  .mv7-recurring-mobile-heading > span {
    color: var(--recm-muted);
    font-size: 13px;
  }

  .mv7-recurring-mobile-heading h2 {
    margin: 0;
    color: var(--recm-text);
    font-size: clamp(34px, 8.7vw, 39px);
    font-weight: 735;
    letter-spacing: -0.06em;
    line-height: 1.01;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-heading p {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 7px 0 0;
    color: var(--recm-text);
    font-size: 16px;
  }

  .mv7-recurring-mobile-heading p strong {
    font-size: 18px;
    font-weight: 690;
  }

  .mv7-recurring-mobile-heading p em {
    padding: 6px 10px;
    margin-left: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--recm-green) 13%, transparent);
    color: var(--recm-green);
    font-size: 13px;
    font-style: normal;
  }

  .mv7-recurring-mobile-next {
    position: relative;
    display: grid;
    min-height: 216px;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr auto auto;
    align-items: start;
    gap: 8px 14px;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 23px;
    background:
      radial-gradient(circle at 52% 8%, rgba(255, 255, 255, 0.095), transparent 35%),
      linear-gradient(145deg, #171918, #090a09);
    color: #f8faf9;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.15);
    text-align: left;
  }

  .mv7-recurring-mobile-next:disabled {
    opacity: 1;
  }

  .mv7-recurring-mobile-brand {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid color-mix(in srgb, currentColor 34%, transparent);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: #f5f5f5;
    font-size: 25px;
    font-weight: 760;
    line-height: 1;
  }

  .mv7-recurring-mobile-brand[data-brand='netflix'] {
    border-color: rgba(229, 9, 20, 0.5);
    background: rgba(229, 9, 20, 0.11);
    color: #f4252f;
    text-shadow: 0 0 12px rgba(229, 9, 20, 0.45);
  }

  .mv7-recurring-mobile-brand[data-brand='spotify'] {
    background: #13bf62;
    color: #fff;
  }

  .mv7-recurring-mobile-brand[data-brand='internet'] {
    background: #2376ec;
    color: #fff;
  }

  .mv7-recurring-mobile-brand[data-brand='youtube'] {
    background: #f12525;
    color: #fff;
  }

  .mv7-recurring-mobile-brand[data-brand='health'] {
    background: #43bd78;
    color: #fff;
  }

  .mv7-recurring-mobile-next-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
  }

  .mv7-recurring-mobile-next-copy small,
  .mv7-recurring-mobile-next-copy > span {
    color: rgba(255, 255, 255, 0.67);
    font-size: 13px;
  }

  .mv7-recurring-mobile-next-copy strong {
    overflow: hidden;
    font-size: 25px;
    font-weight: 690;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-next > b {
    grid-column: 3;
    grid-row: 2;
    align-self: end;
    font-size: 23px;
    font-weight: 670;
    letter-spacing: -0.035em;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-next > i {
    position: relative;
    height: 3px;
    grid-column: 1 / -1;
    grid-row: 3;
    overflow: visible;
    margin-top: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.25);
  }

  .mv7-recurring-mobile-next > i span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.82);
  }

  .mv7-recurring-mobile-next > i span::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.12);
    content: '';
    transform: translate(50%, -50%);
  }

  .mv7-recurring-mobile-next > small {
    grid-column: 1 / -1;
    grid-row: 4;
    color: rgba(255, 255, 255, 0.68);
    font-size: 13px;
  }

  .mv7-recurring-mobile-week {
    display: grid;
    gap: 13px;
  }

  .mv7-recurring-mobile-week > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px;
  }

  .mv7-recurring-mobile-week h3 {
    margin: 0;
    color: var(--recm-text);
    font-size: 19px;
    font-weight: 690;
    letter-spacing: -0.035em;
  }

  .mv7-recurring-mobile-week > header button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: var(--recm-muted);
    font-size: 13px;
  }

  .mv7-recurring-mobile-week > header svg,
  .mv7-recurring-mobile-row > svg,
  .mv7-recurring-mobile-insight > svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  .mv7-recurring-mobile-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
  }

  .mv7-recurring-mobile-day {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 67px;
    place-content: center;
    gap: 4px;
    padding: 7px 2px;
    border: 0;
    border-radius: 15px;
    background: transparent;
    color: var(--recm-text);
  }

  .mv7-recurring-mobile-day:disabled {
    opacity: 1;
  }

  .mv7-recurring-mobile-day.is-selected {
    background: #111312;
    color: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.13);
  }

  .mv7-recurring-mobile-day span {
    color: currentColor;
    font-size: 11px;
  }

  .mv7-recurring-mobile-day strong {
    font-size: 17px;
    font-weight: 600;
  }

  .mv7-recurring-mobile-day i {
    width: 6px;
    height: 6px;
    justify-self: center;
    border-radius: 50%;
    background: var(--recurring-dot, var(--recm-green));
  }

  .mv7-recurring-mobile-list {
    position: relative;
    display: grid;
  }

  .mv7-recurring-mobile-row {
    position: relative;
    display: grid;
    min-height: 72px;
    grid-template-columns: 46px minmax(0, 1fr) auto auto 13px;
    align-items: center;
    gap: 10px;
    padding: 8px 3px;
    border: 0;
    background: transparent;
    color: var(--recm-text);
    text-align: left;
  }

  .mv7-recurring-mobile-row + .mv7-recurring-mobile-row::before {
    position: absolute;
    top: 0;
    right: 3px;
    left: 59px;
    height: 1px;
    background: var(--recm-line);
    content: '';
  }

  .mv7-recurring-mobile-row .mv7-recurring-mobile-brand {
    width: 42px;
    height: 42px;
    font-size: 21px;
  }

  .mv7-recurring-mobile-row > span:nth-child(2) {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .mv7-recurring-mobile-row strong {
    overflow: hidden;
    color: var(--recm-text);
    font-size: 15px;
    font-weight: 660;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-row small,
  .mv7-recurring-mobile-row time {
    color: var(--recm-muted);
    font-size: 12px;
    font-style: normal;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-row > b {
    min-width: 76px;
    color: var(--recm-text);
    font-size: 15px;
    font-weight: 660;
    text-align: right;
    white-space: nowrap;
  }

  .mv7-recurring-mobile-row > svg {
    color: var(--recm-muted);
  }

  .mv7-recurring-mobile-empty {
    padding: 20px 12px;
    margin: 0;
    border: 1px dashed var(--recm-line);
    border-radius: 16px;
    color: var(--recm-muted);
    font-size: 13px;
    text-align: center;
  }

  .mv7-recurring-mobile-totals {
    display: grid;
    min-height: 92px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    margin: 0;
    border: 1px solid var(--recm-line);
    border-radius: 20px;
    background: var(--recm-surface-soft);
  }

  .mv7-recurring-mobile-totals > div {
    display: grid;
    gap: 4px;
    padding: 14px;
    text-align: center;
  }

  .mv7-recurring-mobile-totals > div + div {
    border-left: 1px solid var(--recm-line);
  }

  .mv7-recurring-mobile-totals dt {
    color: var(--recm-muted);
    font-size: 13px;
  }

  .mv7-recurring-mobile-totals dd {
    margin: 0;
    color: var(--recm-text);
    font-size: 20px;
    font-weight: 690;
    letter-spacing: -0.035em;
  }

  .mv7-recurring-mobile-insight {
    display: grid;
    min-height: 76px;
    grid-template-columns: 46px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid color-mix(in srgb, var(--recm-amber) 13%, var(--recm-line));
    border-radius: 20px;
    background: color-mix(in srgb, var(--recm-amber) 11%, var(--recm-surface));
    color: var(--recm-text);
    text-align: left;
  }

  .mv7-recurring-mobile-insight[hidden] {
    display: none;
  }

  .mv7-recurring-mobile-insight > span:first-child {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--recm-amber);
    color: #fff;
    font-size: 21px;
  }

  .mv7-recurring-mobile-insight > span:nth-child(2) {
    display: grid;
    gap: 2px;
  }

  .mv7-recurring-mobile-insight strong {
    font-size: 14px;
    font-weight: 650;
  }

  .mv7-recurring-mobile-insight small {
    color: var(--recm-muted);
    font-size: 12px;
  }

  .mv7-recurring-mobile-insight > svg {
    color: var(--recm-text);
  }

  .mv7-recurring-mobile-add {
    display: inline-flex;
    width: min(100%, 330px);
    min-height: 62px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    justify-self: start;
    border: 0;
    border-radius: 999px;
    background: #111312;
    color: #fff;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
    font-size: 16px;
    font-weight: 650;
  }

  .mv7-recurring-mobile-add svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }
}

@media (max-width: 430px) {
  .mv7-recurring-mobile-next {
    min-height: 204px;
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 18px;
  }

  .mv7-recurring-mobile-next > b {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    font-size: 20px;
  }

  .mv7-recurring-mobile-row {
    grid-template-columns: 42px minmax(0, 1fr) auto 12px;
    gap: 8px;
  }

  .mv7-recurring-mobile-row > time {
    display: none;
  }

  .mv7-recurring-mobile-row > b {
    min-width: 72px;
    font-size: 14px;
  }
}

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

  .mv7-recurring-mobile-heading h2 {
    font-size: 31px;
  }

  .mv7-recurring-mobile-heading p {
    flex-wrap: wrap;
  }

  .mv7-recurring-mobile-heading p em {
    margin-left: 0;
  }

  .mv7-recurring-mobile-totals dd {
    font-size: 17px;
  }
}

/* Racha móvil 2026: calendario real, separado del workspace de escritorio. */
.mv7-streak-mobile-reference {
  display: none;
}

.mv7-streak-desktop-legacy {
  display: contents;
}

@media (max-width: 768px) {
  body[data-v2-view='streak'] {
    --streakm-bg: #000000;
    --streakm-surface: #1c1c1e;
    --streakm-surface-soft: #2c2c2e;
    --streakm-line: rgba(255, 255, 255, 0.1);
    --streakm-text: #f5f5f7;
    --streakm-muted: #98989d;
    --streakm-amber: #f5ad21;
    --streakm-green: #3ac27a;
    --streakm-pending: #2c2c2e;
    background: var(--streakm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='streak'] {
    --streakm-bg: var(--v2-warm-base);
    --streakm-surface: var(--v2-warm-surface);
    --streakm-surface-soft: var(--v2-warm-soft);
    --streakm-line: rgba(11, 15, 13, 0.075);
    --streakm-text: #080908;
    --streakm-muted: #626963;
    --streakm-amber: #8a5d00;
    --streakm-green: #05603a;
    --streakm-pending: #eff0ef;
  }

  body[data-v2-view='streak'] .mv7-workspace {
    background: var(--streakm-bg);
  }

  body[data-v2-view='streak'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--streakm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='streak'] .mv7-topbar::after,
  body[data-v2-view='streak'] .mv7-page-identity,
  body[data-v2-view='streak'] #conn-status-chip,
  body[data-v2-view='streak'] #whatsapp-quick-link {
    display: none !important;
  }

  body[data-v2-view='streak'] .mv7-mobile-topbar-start,
  body[data-v2-view='streak'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='streak'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='streak'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--streakm-line);
    border-radius: 50%;
    background: var(--streakm-surface);
    color: var(--streakm-text);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='streak'] .mv7-menu-button svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='streak'] .mv7-mobile-brand {
    gap: 7px;
    color: var(--streakm-text);
  }

  body[data-v2-view='streak'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='streak'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='streak'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--streakm-line);
    border-radius: 999px;
    background: var(--streakm-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='streak'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='streak'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--streakm-text) 8%, transparent);
    box-shadow: none;
    color: var(--streakm-text);
    font-size: 11px;
  }

  body[data-v2-view='streak'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='streak'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--streakm-text);
    box-shadow: none;
  }

  body[data-v2-view='streak'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='streak'] #profile-button {
    background: var(--streakm-surface-soft);
    font-size: 12px;
  }

  body[data-v2-view='streak'] #streak-view.mv7-streak-view {
    display: block !important;
    width: 100%;
    max-width: 560px;
    min-height: 0;
    padding: 18px 16px calc(38px + env(safe-area-inset-bottom));
    margin-inline: auto;
    background: var(--streakm-bg);
  }

  body[data-v2-view='streak'] #streak-view[hidden] {
    display: none !important;
  }

  body[data-v2-view='streak'] .mv7-streak-desktop-legacy {
    display: none !important;
  }

  body[data-v2-view='streak'] .mv7-streak-mobile-reference {
    display: grid;
    gap: 20px;
    color: var(--streakm-text);
  }

  .mv7-streak-mobile-heading {
    display: grid;
    gap: 8px;
    padding: 0 4px 2px;
  }

  .mv7-streak-mobile-heading > span {
    color: var(--streakm-muted);
    font-size: 13px;
  }

  .mv7-streak-mobile-heading h2 {
    max-width: 430px;
    margin: 0;
    color: var(--streakm-text);
    font-size: clamp(36px, 10vw, 45px);
    font-weight: 735;
    letter-spacing: -0.06em;
    line-height: 1.02;
  }

  .mv7-streak-mobile-heading h2 strong {
    font-size: 1.42em;
    font-weight: 760;
  }

  .mv7-streak-mobile-heading p {
    margin: 0;
    color: var(--streakm-muted);
    font-size: 15px;
  }

  .mv7-streak-mobile-summary {
    display: grid;
    min-height: 160px;
    grid-template-columns: 84px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 24px;
    border: 1px solid color-mix(in srgb, var(--streakm-amber) 28%, var(--streakm-line));
    border-radius: 23px;
    background:
      radial-gradient(
        circle at 52% 18%,
        color-mix(in srgb, var(--streakm-amber) 15%, transparent),
        transparent 45%
      ),
      var(--streakm-surface);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.055);
  }

  .mv7-streak-mobile-flame {
    display: grid;
    width: 78px;
    height: 78px;
    place-items: center;
    border-radius: 50%;
    background: #111312;
    color: var(--streakm-amber);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
  }

  .mv7-streak-mobile-flame svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }

  .mv7-streak-mobile-summary > div {
    display: grid;
    justify-items: start;
    gap: 7px;
  }

  .mv7-streak-mobile-summary > div > strong {
    color: var(--streakm-text);
    font-size: 20px;
    font-weight: 690;
  }

  .mv7-streak-mobile-summary p {
    margin: 0;
    color: var(--streakm-muted);
    font-size: 14px;
  }

  .mv7-streak-mobile-summary p b {
    color: var(--streakm-text);
    font-weight: 620;
  }

  #streak-mobile-week-gain {
    padding: 7px 11px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--streakm-amber) 15%, transparent);
    color: color-mix(in srgb, var(--streakm-amber) 86%, var(--streakm-text));
    font-size: 12px;
    font-weight: 650;
  }

  .mv7-streak-mobile-calendar {
    display: grid;
    gap: 14px;
    padding: 0 4px;
  }

  .mv7-streak-mobile-calendar > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .mv7-streak-mobile-calendar h3 {
    margin: 0;
    color: var(--streakm-text);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.04em;
  }

  .mv7-streak-mobile-calendar header time {
    color: var(--streakm-muted);
    font-size: 14px;
    text-transform: capitalize;
  }

  .mv7-streak-mobile-weekdays,
  .mv7-streak-mobile-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    justify-items: center;
    gap: 7px 5px;
  }

  .mv7-streak-mobile-weekdays span {
    color: var(--streakm-muted);
    font-size: 12px;
  }

  .mv7-streak-mobile-month-grid > span {
    position: relative;
    z-index: 0;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--streakm-pending);
    color: var(--streakm-muted);
    font-size: 13px;
    font-weight: 570;
  }

  .mv7-streak-mobile-month-grid > span.is-empty {
    visibility: hidden;
  }

  .mv7-streak-mobile-month-grid > span.is-active {
    background: #111312;
    color: #fff;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.13);
  }

  .mv7-streak-mobile-month-grid > span.is-today {
    outline: 3px solid var(--streakm-amber);
    outline-offset: 2px;
  }

  .mv7-streak-mobile-month-grid > span.is-future {
    opacity: 0.63;
  }

  .mv7-streak-mobile-legend {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    color: var(--streakm-muted);
    font-size: 12px;
  }

  .mv7-streak-mobile-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  .mv7-streak-mobile-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #111312;
  }

  .mv7-streak-mobile-legend span:last-child i {
    background: var(--streakm-pending);
  }

  .mv7-streak-mobile-stats {
    display: grid;
    min-height: 92px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    margin: 0;
    border: 1px solid var(--streakm-line);
    border-radius: 20px;
    background: var(--streakm-surface-soft);
  }

  .mv7-streak-mobile-stats > div {
    display: grid;
    gap: 5px;
    padding: 12px 8px;
    text-align: center;
  }

  .mv7-streak-mobile-stats > div + div {
    border-left: 1px solid var(--streakm-line);
  }

  .mv7-streak-mobile-stats dt {
    color: var(--streakm-muted);
    font-size: 12px;
  }

  .mv7-streak-mobile-stats dd {
    margin: 0;
    color: var(--streakm-text);
    font-size: 20px;
    font-weight: 690;
    letter-spacing: -0.035em;
  }

  .mv7-streak-mobile-ritual {
    display: grid;
    min-height: 88px;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px 17px;
    border: 1px solid var(--streakm-line);
    border-radius: 20px;
    background: var(--streakm-surface);
    box-shadow: 0 15px 36px rgba(0, 0, 0, 0.055);
  }

  .mv7-streak-mobile-ritual > span {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--streakm-green) 15%, transparent);
    color: var(--streakm-green);
    font-size: 26px;
    font-weight: 680;
  }

  .mv7-streak-mobile-ritual > div {
    display: grid;
    gap: 4px;
  }

  .mv7-streak-mobile-ritual strong {
    color: var(--streakm-text);
    font-size: 15px;
    font-weight: 670;
  }

  .mv7-streak-mobile-ritual p {
    margin: 0;
    color: var(--streakm-muted);
    font-size: 12px;
  }

  .mv7-streak-mobile-record-copy {
    margin: -4px 0;
    color: var(--streakm-muted);
    font-size: 13px;
    text-align: center;
  }

  .mv7-streak-mobile-record-copy::first-letter {
    color: var(--streakm-amber);
  }
}

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

  .mv7-streak-mobile-heading h2 {
    font-size: 34px;
  }

  .mv7-streak-mobile-summary {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
    padding-inline: 18px;
  }

  .mv7-streak-mobile-flame {
    width: 66px;
    height: 66px;
  }

  .mv7-streak-mobile-weekdays,
  .mv7-streak-mobile-month-grid {
    gap-inline: 2px;
  }

  .mv7-streak-mobile-month-grid > span {
    width: 35px;
    height: 35px;
  }

  .mv7-streak-mobile-stats dd {
    font-size: 17px;
  }
}

/* Comunidad móvil 2026: feed social real sobre el módulo compartido. */
.mv7-community-mobile-reference {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='community'] {
    --comm-bg: #000000;
    --comm-surface: #1c1c1e;
    --comm-soft: #2c2c2e;
    --comm-line: rgba(255, 255, 255, 0.1);
    --comm-text: #f5f5f7;
    --comm-muted: #98989d;
    --comm-green: #43bb82;
    background: var(--comm-bg);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='community'] {
    --comm-bg: var(--v2-warm-base);
    --comm-surface: var(--v2-warm-surface);
    --comm-soft: var(--v2-warm-soft);
    --comm-line: rgba(11, 15, 13, 0.09);
    --comm-text: #080908;
    --comm-muted: #626963;
    --comm-green: #05603a;
  }

  body[data-v2-view='community'] .mv7-workspace {
    background: var(--comm-bg);
  }

  body[data-v2-view='community'] .mv7-topbar {
    position: sticky;
    z-index: 48;
    top: 0;
    display: flex;
    min-height: calc(66px + env(safe-area-inset-top));
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0;
    background: color-mix(in srgb, var(--comm-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='community'] .mv7-topbar::after,
  body[data-v2-view='community'] .mv7-page-identity,
  body[data-v2-view='community'] #conn-status-chip,
  body[data-v2-view='community'] #whatsapp-quick-link {
    display: none !important;
  }

  body[data-v2-view='community'] .mv7-mobile-topbar-start,
  body[data-v2-view='community'] .mv7-mobile-brand {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  body[data-v2-view='community'] .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='community'] .mv7-menu-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid var(--comm-line);
    border-radius: 50%;
    background: var(--comm-surface);
    color: var(--comm-text);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='community'] .mv7-menu-button svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='community'] .mv7-mobile-brand {
    gap: 7px;
    color: var(--comm-text);
  }

  body[data-v2-view='community'] .mv7-mobile-brand-mark {
    display: none;
  }

  body[data-v2-view='community'] .mv7-mobile-brand strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='community'] .mv7-topbar-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 38px);
    gap: 2px;
    padding: 4px;
    border: 1px solid var(--comm-line);
    border-radius: 999px;
    background: var(--comm-surface);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='community'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(2, 38px) auto 38px;
  }

  body[data-v2-view='community'] #topbar-login-button:not([hidden]) {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--comm-text) 8%, transparent);
    box-shadow: none;
    color: var(--comm-text);
    font-size: 11px;
  }

  body[data-v2-view='community'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='community'] #profile-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--comm-text);
    box-shadow: none;
  }

  body[data-v2-view='community'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell) svg {
    width: 18px;
    height: 18px;
  }

  body[data-v2-view='community'] #profile-button {
    background: var(--comm-soft);
    font-size: 12px;
  }

  body[data-v2-view='community'] #community-view.mv7-community-view {
    width: 100%;
    max-width: 620px;
    min-height: 0;
    padding: 12px 16px calc(38px + env(safe-area-inset-bottom));
    margin-inline: auto;
    background: var(--comm-bg);
    color: var(--comm-text);
  }

  body[data-v2-view='community'] #community-feed-panel {
    position: relative;
    width: 100%;
  }

  body[data-v2-view='community'] .mv7-community-mobile-reference {
    display: grid;
    min-height: 58px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    padding: 0 3px 8px;
  }

  .mv7-community-mobile-reference h2 {
    grid-column: 2;
    margin: 0;
    color: var(--comm-text);
    font-size: 21px;
    font-weight: 690;
    letter-spacing: -0.04em;
    text-align: center;
  }

  .mv7-community-mobile-avatar {
    display: grid;
    width: 38px;
    height: 38px;
    grid-column: 1;
    grid-row: 1;
    place-items: center;
    padding: 0;
    border-color: var(--comm-line);
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.08);
  }

  body[data-v2-view='community'] .mv7-community-shell {
    display: flex;
    width: 100%;
    min-height: 0;
    flex-direction: column;
    margin: 0;
  }

  body[data-v2-view='community'] .mv7-community-feed {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 0;
    background: transparent;
  }

  body[data-v2-view='community'] .mv7-community-toolbar {
    position: absolute !important;
    z-index: 4;
    top: 3px;
    right: 3px;
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
  }

  body[data-v2-view='community'] .mv7-community-toolbar .mv7-icon-button {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--comm-line);
    border-radius: 999px;
    background: var(--comm-surface);
    color: var(--comm-text);
    box-shadow: none;
  }

  body[data-v2-view='community'] .mv7-community-toolbar .mv7-icon-button svg {
    width: 16px;
    height: 16px;
  }

  body[data-v2-view='community'] .mv7-community-tool-label {
    display: none;
  }

  body[data-v2-view='community'] #community-view .mv7-community-tabs {
    position: sticky;
    z-index: 12;
    top: calc(66px + env(safe-area-inset-top));
    display: grid;
    height: 58px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    order: 1;
    overflow: visible;
    padding: 0 !important;
    border: 0;
    border-bottom: 1px solid var(--comm-line);
    background: #0a0c0b !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='community']
    #community-view
    .mv7-community-tabs {
    background: color-mix(in srgb, var(--comm-bg) 94%, transparent) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  body[data-v2-view='community'] .mv7-community-tabs button {
    min-width: 0 !important;
    padding: 0 4px !important;
    border: 0;
    color: var(--comm-muted);
    font-size: 13px;
    font-weight: 580;
    white-space: nowrap;
  }

  body[data-v2-view='community']
    .mv7-community-tabs
    button:is([data-community-filter='recent'], [data-community-filter='useful']) {
    display: none;
  }

  body[data-v2-view='community'] .mv7-community-tabs button.is-active {
    color: var(--comm-text);
  }

  body[data-v2-view='community'] .mv7-community-tabs button.is-active::after {
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 3px;
    background: var(--comm-text);
  }

  body[data-v2-view='community'] .mv7-community-mobile-search {
    display: flex;
    height: 44px;
    order: 3;
    margin: 4px 0 10px;
    border-color: var(--comm-line);
    border-radius: 999px;
    background: var(--comm-soft) !important;
  }

  body[data-v2-view='community'] .mv7-community-mobile-search input {
    color: var(--comm-text);
    font-size: 13px;
  }

  body[data-v2-view='community'] .mv7-community-composer {
    display: grid;
    min-height: 150px;
    grid-template-columns: 42px minmax(0, 1fr);
    order: 4;
    gap: 12px;
    padding: 18px 4px 14px;
    border: 0;
    border-bottom: 1px solid var(--comm-line);
    background: transparent;
  }

  body[data-v2-view='community'] .mv7-community-composer .mv7-community-avatar {
    width: 40px;
    height: 40px;
  }

  body[data-v2-view='community'] .mv7-community-compose-body textarea {
    min-height: 62px;
    color: var(--comm-text);
    font-size: 16px;
    font-weight: 450;
  }

  body[data-v2-view='community'] .mv7-community-compose-body textarea::placeholder {
    color: var(--comm-muted);
  }

  body[data-v2-view='community'] .mv7-community-compose-footer {
    align-items: center;
  }

  body[data-v2-view='community'] .mv7-community-private {
    display: none;
  }

  body[data-v2-view='community'] .mv7-community-compose-actions {
    width: 100%;
    justify-content: flex-end;
  }

  body[data-v2-view='community'] .mv7-community-compose-actions > button:not(.mv7-primary-button) {
    width: 38px;
    height: 38px;
    border-color: var(--comm-line);
    border-radius: 50%;
    color: var(--comm-muted);
  }

  body[data-v2-view='community'] .mv7-community-compose-actions .mv7-primary-button {
    min-height: 40px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #111312;
    color: #fff;
    box-shadow: none;
    font-size: 13px;
  }

  body[data-v2-view='community'] .mv7-community-timeline {
    order: 5;
  }

  body[data-v2-view='community'] .mv7-community-post {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 4px 16px;
    border: 0;
    border-bottom: 1px solid var(--comm-line);
    background: transparent;
  }

  body[data-v2-view='community'] .mv7-community-post:hover {
    background: transparent;
  }

  body[data-v2-view='community'] .mv7-community-post > .mv7-community-avatar {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-color: var(--comm-line);
    font-size: 12px;
  }

  body[data-v2-view='community'] .mv7-community-post-body > header {
    position: relative;
    display: flex;
    min-height: 28px;
    align-items: center;
    gap: 5px 7px;
    padding-right: 34px;
  }

  body[data-v2-view='community'] .mv7-community-post-body > header strong {
    color: var(--comm-text);
    font-size: 14px;
    font-weight: 690;
  }

  body[data-v2-view='community'] .mv7-community-post-body > header span,
  body[data-v2-view='community'] .mv7-community-post-body > header em {
    color: var(--comm-muted);
    font-size: 11px;
  }

  body[data-v2-view='community'] .mv7-community-post-body > header em {
    padding: 3px 7px;
    background: color-mix(in srgb, var(--comm-green) 12%, transparent);
    color: var(--comm-green);
  }

  body[data-v2-view='community'] .mv7-community-post-body > header button {
    position: absolute;
    top: -4px;
    right: 0;
    display: grid;
    min-width: 32px;
    min-height: 32px;
    place-items: center;
    color: var(--comm-muted);
  }

  body[data-v2-view='community'] .mv7-community-post-body > p {
    margin: 7px 0 11px;
    color: var(--comm-text);
    font-size: 14px;
    line-height: 1.52;
  }

  body[data-v2-view='community'] .mv7-community-post-image {
    max-height: 460px;
    border-color: var(--comm-line);
    border-radius: 18px;
  }

  body[data-v2-view='community'] .mv7-community-progress-card,
  body[data-v2-view='community'] .mv7-community-reply {
    border-color: var(--comm-line);
    background: var(--comm-soft);
  }

  body[data-v2-view='community'] .mv7-community-poll > button {
    background: var(--comm-soft);
    color: var(--comm-text);
  }

  body[data-v2-view='community'] .mv7-community-post-actions {
    display: flex;
    width: 100%;
    max-width: none;
    align-items: center;
    justify-content: space-between;
    margin-top: 9px;
  }

  body[data-v2-view='community'] .mv7-community-post-actions button {
    min-width: 42px;
    min-height: 38px;
    color: var(--comm-muted);
  }

  body[data-v2-view='community'] .mv7-community-post-actions button.is-active {
    color: var(--comm-green);
  }

  body[data-v2-view='community'] .mv7-community-empty {
    padding: 48px 16px;
    color: var(--comm-muted);
    font-size: 13px;
  }

  body[data-v2-view='community'] .mv7-community-rail {
    position: static;
    display: block !important;
    width: 100%;
    max-width: none;
    order: 2;
    padding: 18px 0 0;
  }

  body[data-v2-view='community']
    .mv7-community-rail
    > :not(.mv7-community-rail-module:has(#community-trending-list)) {
    display: none !important;
  }

  body[data-v2-view='community'] .mv7-community-rail-module:has(#community-trending-list) {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 16px 4px 4px;
    border-top: 1px solid var(--comm-line);
    border-bottom: 1px solid var(--comm-line);
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-v2-view='community'] .mv7-community-rail-module:has(#community-trending-list) h3 {
    margin: 0 0 12px;
    color: var(--comm-muted);
    font-size: 12px;
    font-weight: 520;
  }

  body[data-v2-view='community'] #community-trending-list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: none;
  }

  body[data-v2-view='community'] #community-trending-list::-webkit-scrollbar {
    display: none;
  }

  body[data-v2-view='community'] .mv7-community-rail-module #community-trending-list > a {
    display: flex;
    min-width: max-content;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border: 1px solid var(--comm-line);
    border-radius: 999px;
    background: var(--comm-soft);
  }

  body[data-v2-view='community'] .mv7-community-rail-module #community-trending-list > a i {
    display: none;
  }

  body[data-v2-view='community'] .mv7-community-rail-module #community-trending-list > a span {
    display: flex;
    align-items: center;
    gap: 7px;
  }

  body[data-v2-view='community'] .mv7-community-rail-module #community-trending-list > a strong {
    color: var(--comm-text);
    font-size: 12px;
  }

  body[data-v2-view='community'] .mv7-community-rail-module #community-trending-list > a small {
    color: var(--comm-muted);
    font-size: 11px;
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog {
    width: min(460px, calc(100% - 24px));
    max-height: min(620px, calc(100dvh - 48px));
    overflow: hidden;
    border-color: var(--comm-line);
    border-radius: 22px;
    background: color-mix(in srgb, var(--comm-surface) 94%, transparent);
    color: var(--comm-text);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(24px) saturate(135%);
    -webkit-backdrop-filter: blur(24px) saturate(135%);
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog::backdrop {
    background: rgba(8, 10, 9, 0.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog .mv7-dialog-body {
    display: grid;
    max-height: min(618px, calc(100dvh - 50px));
    grid-template-rows: auto auto minmax(72px, 1fr) auto;
    gap: 8px;
    padding: 14px;
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog .mv7-dialog-body > header {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: space-between;
    margin: 0;
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog .mv7-eyebrow {
    display: none;
  }

  body[data-v2-view='community'] .mv7-community-comments-dialog h2 {
    margin: 0;
    color: var(--comm-text);
    font-size: 18px;
    font-weight: 690;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='community'] #community-comments-close {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    border-color: var(--comm-line);
    border-radius: 50%;
    background: var(--comm-soft);
    color: var(--comm-text);
  }

  body[data-v2-view='community'] .mv7-community-comments-post {
    margin: 0;
    padding: 8px 10px;
    border-color: var(--comm-line);
    border-radius: 10px;
    background: var(--comm-soft);
    color: var(--comm-muted);
    font-size: 11px;
    line-height: 1.4;
    -webkit-line-clamp: 2;
  }

  body[data-v2-view='community'] .mv7-community-comments-list {
    min-height: 72px;
    max-height: min(330px, 42dvh);
    gap: 0;
    padding-right: 2px;
    overscroll-behavior: contain;
  }

  body[data-v2-view='community'] .mv7-community-comment {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    padding: 9px 2px;
    border-color: var(--comm-line);
  }

  body[data-v2-view='community'] .mv7-community-comment > .mv7-community-avatar {
    width: 28px;
    height: 28px;
    border-color: var(--comm-line);
    font-size: 9px;
  }

  body[data-v2-view='community'] .mv7-community-comment header {
    min-height: 24px;
    gap: 6px;
  }

  body[data-v2-view='community'] .mv7-community-comment header strong {
    color: var(--comm-text);
    font-size: 12px;
    font-weight: 680;
  }

  body[data-v2-view='community'] .mv7-community-comment header small {
    color: var(--comm-muted);
    font-size: 9px;
  }

  body[data-v2-view='community'] .mv7-community-comment header button {
    width: 28px;
    height: 28px;
    border-radius: 50%;
  }

  body[data-v2-view='community'] .mv7-community-comment p {
    margin: 2px 0 0;
    color: var(--comm-text);
    font-size: 12px;
    line-height: 1.42;
  }

  body[data-v2-view='community'] .mv7-community-comments-list .mv7-community-empty {
    padding: 24px 10px;
    font-size: 11px;
  }

  body[data-v2-view='community'] .mv7-community-comment-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px;
    padding-top: 9px;
    border-color: var(--comm-line);
  }

  body[data-v2-view='community'] .mv7-community-comment-form textarea {
    min-height: 40px;
    max-height: 88px;
    resize: none;
    padding: 9px 11px;
    border-color: var(--comm-line);
    border-radius: 12px;
    background: var(--comm-soft);
    color: var(--comm-text);
    font-size: 12px;
    line-height: 1.35;
  }

  body[data-v2-view='community'] .mv7-community-comment-form .mv7-primary-button {
    width: auto;
    min-width: 84px;
    min-height: 40px;
    padding: 0 13px;
    border: 0;
    border-radius: 999px;
    background: var(--comm-text);
    color: var(--comm-bg);
    box-shadow: none;
    font-size: 11px;
  }
}

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

  body[data-v2-view='community'] .mv7-community-private {
    font-size: 0;
  }

  body[data-v2-view='community'] .mv7-community-private svg {
    width: 17px;
    height: 17px;
  }

  body[data-v2-view='community'] .mv7-community-post {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 9px;
  }

  body[data-v2-view='community'] .mv7-community-post > .mv7-community-avatar {
    width: 38px;
    height: 38px;
  }
}

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

  .mv7-networth-mobile-hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(68px, 0.68fr) minmax(68px, 0.64fr);
    gap: 8px;
    padding-inline: 12px;
  }

  .mv7-networth-mobile-distribution {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    padding-inline: 12px;
  }

  .mv7-networth-mobile-donut {
    width: 112px;
    height: 112px;
  }

  .mv7-networth-mobile-donut::before {
    inset: 18px;
  }

  .mv7-networth-mobile-ledgers {
    gap: 8px;
  }

  .mv7-networth-mobile-ledger-row {
    grid-template-columns: 25px minmax(0, 1fr) auto 8px;
    gap: 5px;
    padding-inline: 7px;
  }

  .mv7-networth-mobile-row-icon {
    width: 25px;
    height: 25px;
  }

  .mv7-networth-mobile-evolution-card {
    grid-template-columns: minmax(0, 1fr) 76px;
    gap: 9px;
    padding-inline: 11px;
  }
}

/* Compositores móviles 2026: un único sistema Zenit, centrado y funcional.
   El markup y los handlers existentes siguen siendo la fuente de verdad;
   esta capa no cambia los diálogos de escritorio ni inventa campos. */
.mv7-create-dialog-mark {
  display: none;
}

@media (max-width: 768px) {
  .mv7-create-dialog {
    --create-accent: #2dde98;
    --create-accent-soft: rgba(45, 222, 152, 0.13);
    width: min(430px, calc(100% - 28px));
    max-width: none;
    max-height: calc(100dvh - 28px);
    margin: auto;
    padding: 0;
    overflow: auto;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    background:
      radial-gradient(circle at 50% 0%, var(--create-accent-soft), transparent 29%),
      linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.012)),
      rgba(28, 28, 30, 0.94);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      0 34px 90px rgba(0, 0, 0, 0.58);
    color: #f5f5f7;
    overscroll-behavior: contain;
    scrollbar-width: none;
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
  }

  .mv7-create-dialog::-webkit-scrollbar {
    display: none;
  }

  .mv7-create-dialog::backdrop {
    background: rgba(0, 0, 0, 0.56);
    backdrop-filter: blur(10px) saturate(90%);
    -webkit-backdrop-filter: blur(10px) saturate(90%);
  }

  .mv7-create-dialog[open] {
    animation: mv7-create-dialog-in 210ms cubic-bezier(0.2, 0.82, 0.2, 1) both;
  }

  .mv7-create-dialog[data-create-kind='transaction'] {
    --create-accent: #ff9f0a;
    --create-accent-soft: rgba(255, 159, 10, 0.14);
  }

  .mv7-create-dialog[data-create-kind='transaction']:has(input[value='income']:checked),
  .mv7-create-dialog[data-create-kind='calendar']:has(input[value='income']:checked) {
    --create-accent: #2dde98;
    --create-accent-soft: rgba(45, 222, 152, 0.14);
  }

  .mv7-create-dialog[data-create-kind='transaction']:has(input[value='transfer']:checked) {
    --create-accent: #0a84ff;
    --create-accent-soft: rgba(10, 132, 255, 0.14);
  }

  .mv7-create-dialog[data-create-kind='budget'] {
    --create-accent: #ff9f0a;
    --create-accent-soft: rgba(255, 159, 10, 0.13);
  }

  .mv7-create-dialog[data-create-kind='goal'] {
    --create-accent: #0a84ff;
    --create-accent-soft: rgba(10, 132, 255, 0.14);
  }

  .mv7-create-dialog[data-create-kind='calendar'] {
    --create-accent: #ff453a;
    --create-accent-soft: rgba(255, 69, 58, 0.13);
  }

  .mv7-create-dialog[data-create-kind='account'] {
    --create-accent: #0a84ff;
    --create-accent-soft: rgba(10, 132, 255, 0.13);
  }

  .mv7-create-dialog[data-create-kind='asset'] {
    --create-accent: #2dde98;
    --create-accent-soft: rgba(45, 222, 152, 0.13);
  }

  .mv7-create-dialog[data-create-kind='recurring'] {
    --create-accent: #bf5af2;
    --create-accent-soft: rgba(191, 90, 242, 0.13);
  }

  .mv7-create-dialog form {
    display: grid;
    padding: 18px;
  }

  .mv7-create-dialog header {
    min-height: 42px;
    align-items: center;
    gap: 12px;
    margin: 0 0 11px;
  }

  .mv7-create-dialog header > div {
    min-width: 0;
  }

  .mv7-create-dialog .mv7-eyebrow {
    display: none;
  }

  .mv7-create-dialog h2 {
    overflow: hidden;
    margin: 0;
    color: #f5f5f7;
    font-size: clamp(20px, 5.8vw, 24px);
    font-weight: 690;
    letter-spacing: -0.045em;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-create-dialog header p:not(.mv7-eyebrow) {
    margin: 5px 0 0;
    color: #98989d;
    font-size: 11px;
    line-height: 1.4;
  }

  .mv7-create-dialog header .mv7-icon-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 50%;
    background: rgba(118, 118, 128, 0.18);
    color: #f5f5f7;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
  }

  .mv7-create-dialog header .mv7-icon-button svg {
    width: 19px;
    height: 19px;
  }

  .mv7-create-dialog-mark {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    justify-self: center;
    margin: 0 0 12px;
    border: 1px solid color-mix(in srgb, var(--create-accent) 36%, transparent);
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.12), transparent 42%),
      var(--create-accent-soft);
    color: var(--create-accent);
    box-shadow: 0 12px 30px -20px var(--create-accent);
  }

  .mv7-create-dialog-mark svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .mv7-create-dialog .mv7-type-switch {
    gap: 4px;
    padding: 4px;
    margin: 0 0 11px;
    border-color: rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    background: rgba(44, 44, 46, 0.92);
  }

  .mv7-create-dialog .mv7-type-switch span {
    min-height: 42px;
    border-radius: 10px;
    color: #98989d;
    font-size: 11px;
    font-weight: 610;
  }

  .mv7-create-dialog .mv7-type-switch input:checked + span {
    background: var(--create-accent-soft);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--create-accent) 42%, transparent);
    color: var(--create-accent);
  }

  .mv7-create-dialog .mv7-form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .mv7-create-dialog .mv7-field {
    gap: 5px;
    margin-bottom: 9px;
  }

  .mv7-create-dialog .mv7-field > span {
    color: #98989d;
    font-size: 10.5px;
    font-weight: 540;
  }

  .mv7-create-dialog .mv7-field :is(input, select),
  .mv7-create-dialog .mv7-account-balance-input {
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 13px;
    background: rgba(118, 118, 128, 0.18);
    color: #f5f5f7;
    font-size: 12px;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
  }

  .mv7-create-dialog .mv7-field :is(input, select):focus,
  .mv7-create-dialog .mv7-account-balance-input:focus-within {
    border-color: color-mix(in srgb, var(--create-accent) 58%, transparent);
    background: rgba(118, 118, 128, 0.24);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--create-accent) 10%, transparent);
  }

  .mv7-create-dialog .mv7-account-form-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .mv7-create-dialog .mv7-account-form-fields .mv7-field,
  .mv7-create-dialog .mv7-account-form-fields .mv7-field:nth-last-child(-n + 2) {
    margin-bottom: 9px;
  }

  .mv7-create-dialog .mv7-account-form-fields .mv7-field:last-child {
    margin-bottom: 0;
  }

  .mv7-create-dialog .mv7-account-balance-input input {
    height: 44px;
    border: 0;
    background: #38383a;
    box-shadow: none;
  }

  .mv7-create-dialog .mv7-account-balance-input {
    background: #38383a;
  }

  .mv7-create-dialog .mv7-account-balance-input:focus-within,
  .mv7-create-dialog .mv7-account-balance-input:focus-within input {
    background: #48484a;
  }

  .mv7-create-dialog :is(.mv7-budget-form-note, .mv7-account-form-note) {
    margin: 2px 0 4px;
    padding: 9px 10px;
    border-color: color-mix(in srgb, var(--create-accent) 18%, transparent);
    border-radius: 11px;
    background: color-mix(in srgb, var(--create-accent) 5%, transparent);
    color: #98989d;
    font-size: 10px;
    line-height: 1.45;
  }

  .mv7-create-dialog footer,
  .mv7-budget-dialog.mv7-create-dialog footer,
  .mv7-goal-dialog.mv7-create-dialog footer,
  .mv7-asset-dialog.mv7-create-dialog footer,
  .mv7-recurring-dialog.mv7-create-dialog footer,
  .mv7-account-dialog.mv7-create-dialog footer {
    display: flex;
    width: 100%;
    align-items: stretch;
    flex-direction: column-reverse;
    gap: 8px;
    padding-top: 7px;
  }

  .mv7-create-dialog footer > span,
  .mv7-create-dialog footer .mv7-secondary-button {
    display: none;
  }

  .mv7-account-dialog.mv7-create-dialog footer > div {
    display: block;
    width: 100%;
    margin: 0;
  }

  .mv7-create-dialog footer .mv7-primary-button {
    width: 100%;
    min-height: 48px;
    padding-inline: 18px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    background: #f5f5f7;
    color: #1c1c1e;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.82),
      0 16px 30px -20px rgba(0, 0, 0, 0.72);
    font-size: 12.5px;
    font-weight: 720;
  }

  .mv7-create-dialog footer .mv7-danger-button:not([hidden]) {
    width: 100%;
    min-height: 42px;
    border-radius: 13px;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog {
    border-color: rgba(60, 60, 67, 0.12);
    background:
      radial-gradient(
        circle at 50% 0%,
        color-mix(in srgb, var(--create-accent) 5%, transparent),
        transparent 29%
      ),
      linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.18)),
      rgba(247, 247, 249, 0.96);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.96),
      0 34px 90px rgba(0, 0, 0, 0.2);
    color: #1d1d1f;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog::backdrop {
    background: rgba(0, 0, 0, 0.32);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog h2 {
    color: #1d1d1f;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog header p:not(.mv7-eyebrow),
  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-field > span {
    color: #6e6e73;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog header .mv7-icon-button {
    border-color: rgba(60, 60, 67, 0.08);
    background: rgba(118, 118, 128, 0.12);
    color: #1d1d1f;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-type-switch {
    border-color: rgba(60, 60, 67, 0.08);
    background: #e9e9eb;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-field :is(input, select),
  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-account-balance-input {
    border-color: rgba(60, 60, 67, 0.09);
    background: rgba(118, 118, 128, 0.12);
    color: #1d1d1f;
    color-scheme: light;
    -webkit-text-fill-color: #1d1d1f;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-account-balance-input input {
    background: #e5e5ea;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-account-balance-input {
    background: #e5e5ea;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-field :is(input, select):focus,
  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-account-balance-input:focus-within {
    background: rgba(118, 118, 128, 0.18);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog .mv7-account-balance-input:focus-within,
  :root[data-resolved-theme='light']
    .mv7-create-dialog
    .mv7-account-balance-input:focus-within
    input {
    background: #d1d1d6;
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog footer .mv7-primary-button {
    border-color: #1d1d1f;
    background: #1d1d1f;
    color: #fff;
    box-shadow: 0 15px 28px -20px rgba(0, 0, 0, 0.72);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog {
    --create-accent: #067647;
    --create-accent-soft: rgba(8, 127, 91, 0.12);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='transaction'] {
    --create-accent: #ff9500;
    --create-accent-soft: rgba(255, 149, 0, 0.12);
  }

  :root[data-resolved-theme='light']
    .mv7-create-dialog[data-create-kind='transaction']:has(input[value='income']:checked),
  :root[data-resolved-theme='light']
    .mv7-create-dialog[data-create-kind='calendar']:has(input[value='income']:checked) {
    --create-accent: #067647;
    --create-accent-soft: rgba(8, 127, 91, 0.12);
  }

  :root[data-resolved-theme='light']
    .mv7-create-dialog[data-create-kind='transaction']:has(input[value='transfer']:checked),
  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='goal'],
  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='account'] {
    --create-accent: #007aff;
    --create-accent-soft: rgba(0, 122, 255, 0.12);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='budget'] {
    --create-accent: #ff9500;
    --create-accent-soft: rgba(255, 149, 0, 0.12);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='calendar'] {
    --create-accent: #ff3b30;
    --create-accent-soft: rgba(255, 59, 48, 0.12);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='asset'] {
    --create-accent: #067647;
    --create-accent-soft: rgba(8, 127, 91, 0.12);
  }

  :root[data-resolved-theme='light'] .mv7-create-dialog[data-create-kind='recurring'] {
    --create-accent: #af52de;
    --create-accent-soft: rgba(175, 82, 222, 0.12);
  }
}

@media (max-width: 370px), (max-width: 768px) and (max-height: 700px) {
  .mv7-create-dialog form {
    padding: 15px;
  }

  .mv7-create-dialog-mark {
    width: 42px;
    height: 42px;
    margin-bottom: 9px;
  }

  .mv7-create-dialog-mark svg {
    width: 20px;
    height: 20px;
  }

  .mv7-create-dialog .mv7-field {
    margin-bottom: 7px;
  }

  .mv7-create-dialog .mv7-field :is(input, select),
  .mv7-create-dialog .mv7-account-balance-input {
    height: 42px;
  }
}

@keyframes mv7-create-dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.975);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Inicio móvil claro — material óptico en capas.
   La profundidad sigue la guía de material-preview.html: blur + saturación,
   highlight superior, sombra de contacto y sombra ambiental. La composición
   y los datos no cambian; esta capa solo existe en Inicio, móvil y tema claro. */
@media (max-width: 768px) {
  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --home-bg: var(--v2-warm-base);
    --home-surface: rgba(255, 253, 248, 0.7);
    --home-surface-soft: rgba(250, 247, 241, 0.78);
    --home-surface-raised: rgba(255, 253, 248, 0.82);
    --home-line: rgba(31, 43, 35, 0.085);
    --home-text: #0a0d0b;
    --home-muted: #5f675f;
    --home-dim: #667085;
    --home-accent: #05603a;
    --home-accent-soft: rgba(33, 155, 111, 0.105);
    --home-expense: #b54735;
    --home-material-border: rgba(255, 253, 248, 0.9);
    --home-material-background:
      radial-gradient(130% 100% at 14% -28%, rgba(255, 253, 248, 0.98), rgba(255, 253, 248, 0) 54%),
      linear-gradient(155deg, rgba(255, 253, 248, 0.84), rgba(250, 247, 241, 0.62));
    --home-material-shadow:
      inset 0 1px 0 rgba(255, 253, 248, 0.98), inset 0 0 0 1px rgba(21, 31, 24, 0.018),
      0 1px 2px rgba(26, 39, 30, 0.075), 0 12px 28px -18px rgba(26, 39, 30, 0.24),
      0 30px 58px -38px rgba(26, 39, 30, 0.28);
    background: var(--v2-warm-base) !important;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-workspace {
    background:
      radial-gradient(circle at 7% 2%, rgba(42, 174, 125, 0.075), transparent 34rem),
      radial-gradient(circle at 96% 30%, rgba(103, 132, 218, 0.05), transparent 25rem),
      linear-gradient(180deg, #fffaf4 0%, #faf6ef 58%, #f6f0e7 100%) !important;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] #overview-view.mv7-content {
    background: transparent;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-topbar {
    border-bottom: 1px solid rgba(255, 253, 248, 0.72) !important;
    background: rgba(250, 247, 241, 0.7) !important;
    box-shadow:
      inset 0 -1px 0 rgba(25, 39, 29, 0.025),
      0 12px 34px -31px rgba(25, 39, 29, 0.36) !important;
    backdrop-filter: blur(28px) saturate(1.45);
    -webkit-backdrop-filter: blur(28px) saturate(1.45);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-topbar-actions) {
    border-color: var(--home-material-border) !important;
    background: var(--home-material-background) !important;
    box-shadow: var(--home-material-shadow) !important;
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] #profile-button {
    border: 0 !important;
    background: linear-gradient(
      155deg,
      rgba(238, 242, 239, 0.96),
      rgba(225, 231, 227, 0.82)
    ) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      inset 0 0 0 1px rgba(25, 39, 29, 0.045) !important;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    .mv7-topbar-actions
    :is(#privacy-toggle, #notification-bell) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #topbar-login-button:not([hidden]) {
    background: rgba(16, 22, 18, 0.055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary
    .mv7-change {
    border: 1px solid rgba(33, 155, 111, 0.1);
    background: linear-gradient(155deg, rgba(46, 179, 130, 0.12), rgba(46, 179, 130, 0.065));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.72),
      0 6px 14px -11px rgba(27, 135, 96, 0.52);
    backdrop-filter: blur(16px) saturate(1.35);
    -webkit-backdrop-filter: blur(16px) saturate(1.35);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-insight
    .mv7-overview-insight-icon {
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: linear-gradient(155deg, rgba(51, 180, 133, 0.17), rgba(51, 180, 133, 0.075));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      inset 0 0 0 1px rgba(33, 155, 111, 0.055),
      0 7px 15px -11px rgba(33, 155, 111, 0.5);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-mobile-section-count {
    border: 1px solid rgba(255, 253, 248, 0.9);
    background: linear-gradient(155deg, rgba(255, 253, 248, 0.9), rgba(250, 247, 241, 0.68));
    box-shadow:
      inset 0 1px 0 var(--v2-warm-surface),
      0 6px 15px -12px rgba(22, 34, 26, 0.4);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-accounts
    .mv7-account-item {
    position: relative;
    isolation: isolate;
    border-color: var(--home-material-border);
    border-radius: 22px;
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-accounts
    .mv7-account-token {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.78),
      inset 0 0 0 1px color-mix(in srgb, var(--token-color) 6%, transparent),
      0 8px 18px -13px color-mix(in srgb, var(--token-color) 48%, transparent);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-accounts
    .mv7-empty-state {
    border-color: rgba(36, 52, 41, 0.1);
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-activity
    .mv7-transaction-list {
    position: relative;
    isolation: isolate;
    border-color: var(--home-material-border);
    border-radius: 22px;
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-activity
    .mv7-transaction-row {
    border-bottom-color: rgba(32, 45, 36, 0.065);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-activity
    .mv7-transaction-token {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.82),
      inset 0 0 0 1px color-mix(in srgb, var(--token-color) 6%, transparent),
      0 7px 16px -12px color-mix(in srgb, var(--token-color) 48%, transparent);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense) {
    border-color: var(--home-material-border);
    border-radius: 22px;
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-income {
    margin-right: 4px;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-expense {
    margin-left: 4px;
    border-left: 1px solid var(--home-material-border);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-icon {
    border: 1px solid rgba(255, 255, 255, 0.86);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 7px 16px -12px currentColor;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-mobile-home-actions {
    background: linear-gradient(
      to top,
      rgba(242, 245, 242, 0.995) 52%,
      rgba(242, 245, 242, 0.92) 74%,
      rgba(242, 245, 242, 0)
    );
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-mobile-home-actions button {
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(165deg, #171a18, #070908);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.16),
      inset 0 0 0 1px rgba(0, 0, 0, 0.22),
      0 1px 2px rgba(20, 29, 23, 0.18),
      0 12px 28px -15px rgba(20, 29, 23, 0.52),
      0 28px 52px -34px rgba(20, 29, 23, 0.52);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    :is(.is-expense, .is-transfer) {
    border-color: var(--home-material-border);
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-topbar-actions, .mv7-account-item, .mv7-transaction-list) {
    transform: translateZ(0);
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-mobile-home-actions button, .mv7-account-item) {
    transition:
      transform 160ms ease,
      box-shadow 160ms ease;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-mobile-home-actions button, .mv7-account-item):active {
    transform: translateY(1px) scale(0.992);
  }
}

/* Lienzo claro móvil unificado — todas las secciones comparten el mismo
   blanco frío y luminoso de Ajustes. Las superficies y acentos propios de
   cada vista se conservan para no aplanar su jerarquía visual. */
@media (max-width: 768px) {
  :root[data-resolved-theme='light']
    body:is(
      [data-v2-view='overview'],
      [data-v2-view='transactions'],
      [data-v2-view='accounts'],
      [data-v2-view='budgets'],
      [data-v2-view='savings'],
      [data-v2-view='calendar'],
      [data-v2-view='networth'],
      [data-v2-view='recurring'],
      [data-v2-view='streak'],
      [data-v2-view='community'],
      [data-v2-view='profile'],
      [data-v2-view='settings']
    ) {
    --mv7-mobile-light-canvas: #f2f4f2;
    --mv7-mobile-light-canvas-background:
      radial-gradient(circle at 12% 7%, rgba(255, 255, 255, 0.96) 0 11%, transparent 36%),
      radial-gradient(circle at 88% 20%, rgba(214, 232, 220, 0.34), transparent 34%),
      linear-gradient(145deg, #f8f9f8 0%, #eef2ef 54%, #f5f6f5 100%);
    --mv7-mobile-light-surface: #ffffff;
    --mv7-mobile-light-surface-soft: #f7f9f7;
    --v2-warm-base: var(--mv7-mobile-light-canvas);
    --v2-warm-surface: var(--mv7-mobile-light-surface);
    --v2-warm-soft: var(--mv7-mobile-light-surface-soft);
    --v2-canvas: var(--mv7-mobile-light-canvas);
    --v2-sidebar: var(--mv7-mobile-light-surface);
    --v2-surface: var(--mv7-mobile-light-surface);
    --v2-surface-raised: var(--mv7-mobile-light-surface-soft);
    --v2-surface-hover: #f1f4f2;
    --v2-glass-fill: rgba(255, 255, 255, 0.78);
    --v2-glass-fill-strong: rgba(255, 255, 255, 0.94);
    --v2-glass-shine: rgba(255, 255, 255, 0.98);
    --home-bg: var(--mv7-mobile-light-canvas);
    --home-surface: var(--mv7-mobile-light-surface);
    --home-surface-soft: var(--mv7-mobile-light-surface-soft);
    --home-surface-raised: var(--mv7-mobile-light-surface);
    --txm-bg: var(--mv7-mobile-light-canvas);
    --txm-surface: var(--mv7-mobile-light-surface);
    --txm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --acctm-bg: var(--mv7-mobile-light-canvas);
    --acctm-surface: var(--mv7-mobile-light-surface);
    --acctm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --budgetm-bg: var(--mv7-mobile-light-canvas);
    --budgetm-surface: var(--mv7-mobile-light-surface);
    --budgetm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --goalm-bg: var(--mv7-mobile-light-canvas);
    --goalm-surface: var(--mv7-mobile-light-surface);
    --goalm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --calm-bg: var(--mv7-mobile-light-canvas);
    --calm-surface: var(--mv7-mobile-light-surface);
    --calm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --netm-bg: var(--mv7-mobile-light-canvas);
    --netm-surface: var(--mv7-mobile-light-surface);
    --netm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --recm-bg: var(--mv7-mobile-light-canvas);
    --recm-surface: var(--mv7-mobile-light-surface);
    --recm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --streakm-bg: var(--mv7-mobile-light-canvas);
    --streakm-surface: var(--mv7-mobile-light-surface);
    --streakm-surface-soft: var(--mv7-mobile-light-surface-soft);
    --comm-bg: var(--mv7-mobile-light-canvas);
    --comm-surface: var(--mv7-mobile-light-surface);
    --comm-soft: var(--mv7-mobile-light-surface-soft);
    background: var(--mv7-mobile-light-canvas) !important;
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --home-material-border: rgba(255, 255, 255, 0.9);
    --home-material-background:
      radial-gradient(130% 100% at 14% -28%, rgba(255, 255, 255, 0.98), transparent 54%),
      linear-gradient(155deg, rgba(255, 255, 255, 0.88), rgba(244, 248, 245, 0.66));
  }

  :root[data-resolved-theme='light']
    body:is(
      [data-v2-view='overview'],
      [data-v2-view='transactions'],
      [data-v2-view='accounts'],
      [data-v2-view='budgets'],
      [data-v2-view='savings'],
      [data-v2-view='calendar'],
      [data-v2-view='networth'],
      [data-v2-view='recurring'],
      [data-v2-view='streak'],
      [data-v2-view='community'],
      [data-v2-view='profile'],
      [data-v2-view='settings']
    )
    .mv7-workspace {
    background: var(--mv7-mobile-light-canvas-background) !important;
  }

  :root[data-resolved-theme='light']
    body:is(
      [data-v2-view='overview'],
      [data-v2-view='transactions'],
      [data-v2-view='accounts'],
      [data-v2-view='budgets'],
      [data-v2-view='savings'],
      [data-v2-view='calendar'],
      [data-v2-view='networth'],
      [data-v2-view='recurring'],
      [data-v2-view='streak'],
      [data-v2-view='community'],
      [data-v2-view='profile']
    )
    .mv7-topbar {
    border-bottom-color: rgba(255, 255, 255, 0.72) !important;
    background: color-mix(in srgb, var(--mv7-mobile-light-canvas) 82%, transparent) !important;
  }

  :root[data-resolved-theme='light'] .mv7-sidebar {
    --mv7-drawer-bg: #f2f4f2;
    --mv7-drawer-surface: #ffffff;
    --mv7-drawer-surface-soft: #f7f9f7;
  }
}

/* La capa de referencia de Inicio queda al final para ganar la cascada de los
   estilos móviles históricos que este archivo reúne. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar {
    min-height: calc(74px + env(safe-area-inset-top));
    padding: max(10px, env(safe-area-inset-top)) 18px 8px;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    gap: 1px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    display: block;
    grid-row: 1;
    font-size: 18px;
    font-weight: 730;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong::after {
    margin-left: 5px;
    color: #16aa70;
    content: '✦';
    font-size: 13px;
    vertical-align: 2px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: block;
    grid-row: 2;
    color: #89908b;
    font-size: 8px;
    line-height: 1.2;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #topbar-login-button:not([hidden]) {
    display: none !important;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: repeat(3, 36px);
    gap: 0;
    padding: 3px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions :is(#privacy-toggle, #notification-bell),
  body[data-v2-view='overview'] #profile-button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
  }

  body[data-v2-view='overview'] #profile-button {
    position: relative;
    background: linear-gradient(145deg, #536887, #daa276) !important;
    color: #fff;
  }

  body[data-v2-view='overview'] #profile-button::after {
    position: absolute;
    right: -1px;
    bottom: 0;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #0aa667;
    content: '';
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    width: min(100%, 520px);
    margin-inline: auto;
    row-gap: 12px;
    padding: 8px 18px calc(80px + env(safe-area-inset-bottom));
    background: transparent;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 220px !important;
    padding: 27px 24px 22px !important;
    overflow: hidden;
    border: 1px solid var(--home-line);
    border-radius: 23px;
    background: var(--home-surface) !important;
    box-shadow: 0 15px 34px -27px rgba(18, 38, 27, 0.36) !important;
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary {
    border-color: rgba(255, 255, 255, 0.92);
    background:
      radial-gradient(circle at 88% 48%, rgba(156, 221, 189, 0.25), transparent 43%),
      rgba(255, 255, 255, 0.82) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.98),
      0 15px 34px -27px rgba(18, 38, 27, 0.36) !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    position: relative;
    z-index: 2;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    font-size: 12px;
    font-weight: 540;
    letter-spacing: 0.01em;
    text-transform: uppercase;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    width: calc(100% - 32px);
    font-size: clamp(34px, 10.8vw, 48px);
    font-weight: 700;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-compact-value {
    font-size: clamp(29px, 8.9vw, 41px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    font-size: clamp(24px, 7.2vw, 34px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline {
    position: absolute;
    z-index: 0;
    top: 48px;
    right: -16px;
    bottom: auto;
    display: block !important;
    width: 68%;
    height: 150px;
    opacity: 0.62;
    pointer-events: none;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-spark-line {
    fill: none;
    stroke: color-mix(in srgb, var(--home-accent) 58%, transparent);
    stroke-width: 1.2;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    margin-top: 15px;
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-privacy {
    position: absolute;
    z-index: 3;
    top: 66px;
    right: 22px;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--home-line);
    border-radius: 50%;
    background: var(--home-surface-raised);
    box-shadow: 0 8px 20px -14px rgba(11, 35, 22, 0.5);
    color: var(--home-text);
  }

  body[data-v2-view='overview'] .mv7-mobile-balance-privacy svg {
    width: 15px;
    height: 15px;
  }

  body[data-v2-view='overview'] #overview-insight {
    z-index: 3;
    min-height: 28px;
    margin: -62px 24px 30px;
    padding: 0;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header {
    margin: 0 5px 9px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header h3,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header h3 {
    font-size: 17px;
    font-weight: 700;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a {
    color: var(--home-muted);
    font-size: 11px;
    font-weight: 500;
  }

  body[data-v2-view='overview'] .mv7-mobile-section-count {
    display: none;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a::before {
    content: 'Ver todas';
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-list {
    display: block;
    overflow: visible;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-overview {
    display: grid;
    min-height: 78px;
    grid-template-columns: minmax(74px, auto) minmax(0, 1fr) auto 14px;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid var(--home-line);
    border-radius: 21px;
    background: var(--home-surface);
    box-shadow: 0 15px 32px -28px rgba(18, 38, 27, 0.4);
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-item {
    display: none !important;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens {
    display: flex;
    min-width: 0;
    align-items: center;
    padding-left: 2px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span {
    display: grid;
    width: 35px;
    min-width: 35px;
    height: 35px;
    place-items: center;
    margin-left: -9px;
    border: 2px solid var(--home-surface-raised);
    border-radius: 50%;
    background: var(--token-bg);
    color: var(--token-color);
    font-size: 9px;
    font-weight: 760;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span:first-child {
    margin-left: 0;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens .is-more {
    background: var(--home-surface-soft);
    color: var(--home-muted);
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy strong {
    overflow: hidden;
    color: var(--home-text);
    font-size: 12px;
    font-weight: 680;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy span {
    overflow: hidden;
    color: var(--home-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-value {
    color: var(--home-text);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-account-overview-arrow {
    width: 14px;
    height: 14px;
    color: var(--home-muted);
  }

  body[data-v2-view='overview'] #widget-activity {
    margin-top: 5px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row {
    min-height: 56px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 8px 12px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(3) {
    display: grid;
    border-bottom: 0;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-row:nth-child(2) {
    border-bottom: 1px solid var(--home-line);
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-token {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 11px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy strong {
    font-size: 12px;
  }

  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy span,
  body[data-v2-view='overview'] #widget-activity .mv7-transaction-amount {
    font-size: 9px;
  }

  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) {
    min-height: 88px;
    margin-top: 28px;
    padding: 10px 13px;
    overflow: hidden;
    border-radius: 20px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-head {
    margin-bottom: 4px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income {
    margin-right: 5px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-expense {
    margin-left: 5px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income::before {
    inset: auto auto calc(100% + 8px) 1px;
    font-size: 17px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-sparkline {
    position: absolute;
    top: 2px;
    right: -14px;
    display: block;
    width: 65%;
    height: 54px;
    opacity: 0.18;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    :is(.mv7-metric-head, .mv7-change),
  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    > strong {
    position: relative;
    z-index: 2;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-change {
    display: flex;
    gap: 3px;
    margin-top: 3px;
    color: var(--home-muted);
    font-size: 8px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-change
    b {
    color: inherit;
    font-size: inherit;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    width: min(100%, 520px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding-inline: 18px;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions .is-transfer {
    width: auto;
    padding-inline: 9px;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: none;
  }

  body[data-v2-view='overview'] #overview-view.mv7-content {
    padding-inline: 13px;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-overview {
    grid-template-columns: 62px minmax(0, 1fr) auto 12px;
    gap: 7px;
    padding-inline: 11px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-tokens span:nth-child(n + 3) {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-account-overview-value {
    font-size: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-home-actions button strong {
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline {
    top: 58px;
    right: -2px;
    width: 58%;
    height: 104px;
    opacity: 0.24;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a {
    white-space: nowrap;
  }

  body[data-v2-view='overview'] #overview-view .mv7-mobile-month-title {
    display: block;
    grid-column: 1 / -1;
    order: 5;
    margin: 7px 1px -3px;
    color: var(--home-text);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) {
    margin-top: 0;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-income::before {
    display: none;
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    #widget-accounts
    .mv7-account-overview {
    border-color: var(--home-material-border);
    background: var(--home-material-background);
    box-shadow: var(--home-material-shadow);
    backdrop-filter: blur(28px) saturate(1.5);
    -webkit-backdrop-filter: blur(28px) saturate(1.5);
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-account-overview {
    width: 100%;
    font: inherit;
    text-align: left;
    cursor: pointer;
  }

  body[data-v2-view='overview'] :is(.mv7-mobile-balance-privacy svg, .mv7-account-overview-arrow) {
    fill: currentColor;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline {
    opacity: 0.18;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-sparkline {
    top: 10px;
    height: 38px;
    opacity: 0.12;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] {
    --home-bg: #000;
    --home-surface: #111512;
    --home-surface-soft: #0d110e;
    --home-surface-raised: #181d19;
    --home-line: rgba(255, 255, 255, 0.085);
    --home-text: #f4f7f5;
    --home-muted: #8e9791;
    --home-accent: #50d5a4;
    --home-accent-soft: rgba(80, 213, 164, 0.13);
    --home-expense: #f1836f;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-workspace {
    background:
      radial-gradient(circle at 92% 17%, rgba(35, 116, 81, 0.1), transparent 25rem), #000 !important;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-topbar {
    border-bottom-color: rgba(255, 255, 255, 0.045) !important;
    background: rgba(0, 0, 0, 0.82) !important;
    box-shadow: none !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-topbar-actions) {
    border-color: rgba(255, 255, 255, 0.09) !important;
    background: rgba(18, 23, 20, 0.92) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.045),
      0 12px 28px -22px rgba(0, 0, 0, 0.8) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary {
    border-color: rgba(255, 255, 255, 0.085);
    background:
      radial-gradient(circle at 88% 44%, rgba(38, 145, 99, 0.12), transparent 42%),
      linear-gradient(155deg, #141815, #0d110e) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.035),
      0 18px 38px -29px rgba(0, 0, 0, 0.95) !important;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-mobile-balance-privacy {
    border-color: rgba(255, 255, 255, 0.09);
    background: rgba(23, 28, 24, 0.92);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 10px 22px -16px rgba(0, 0, 0, 0.9);
    color: #f4f7f5;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #overview-insight
    .mv7-overview-insight-copy
    p {
    color: #a4aca7;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    :is(
      #widget-accounts .mv7-account-overview,
      #widget-activity .mv7-transaction-list,
      #overview-view .mv7-metric-income,
      #overview-view .mv7-metric-expense
    ) {
    border-color: rgba(255, 255, 255, 0.085);
    background: linear-gradient(155deg, rgba(20, 25, 21, 0.98), rgba(14, 18, 15, 0.98));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.035),
      0 16px 34px -27px rgba(0, 0, 0, 0.94);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-account-overview-arrow {
    color: #a2aaa5;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-mobile-home-actions {
    background: linear-gradient(to top, #000 58%, rgba(0, 0, 0, 0.9) 76%, transparent);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    :is(.is-expense, .is-transfer) {
    border-color: rgba(255, 255, 255, 0.085);
    background: #171c18;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.035),
      0 12px 28px -20px rgba(0, 0, 0, 0.9);
  }
}

/* Inicio móvil: legibilidad final, gastos en ámbar y espacio seguro para
   que las acciones fijas no tapen contenido. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view.mv7-content {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  body[data-v2-view='overview'] #overview-view .mv7-mobile-month-title,
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) {
    order: 5;
  }

  body[data-v2-view='overview'] #widget-accounts {
    order: 3;
  }

  body[data-v2-view='overview'] #widget-activity {
    order: 4;
  }

  body[data-v2-view='overview'] #widget-accounts .mv7-panel-header a,
  body[data-v2-view='overview'] #widget-activity .mv7-panel-header a {
    font-size: 13px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy strong,
  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy strong {
    font-size: 14px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-copy span,
  body[data-v2-view='overview'] #widget-activity .mv7-transaction-copy span,
  body[data-v2-view='overview'] #widget-activity .mv7-transaction-amount {
    font-size: 11px;
  }

  body[data-v2-view='overview'] .mv7-account-overview-value,
  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-metric-head
    h3 {
    font-size: 13px;
  }

  body[data-v2-view='overview']
    #overview-view
    :is(.mv7-metric-income, .mv7-metric-expense)
    .mv7-change {
    font-size: 9px;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-icon {
    background: color-mix(in srgb, var(--home-expense) 14%, transparent);
    color: var(--home-expense);
  }

  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --home-expense: #a95f00;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] {
    --home-bg: #000000;
    --home-surface: #1c1c1e;
    --home-surface-soft: #141416;
    --home-surface-raised: #2c2c2e;
    --home-line: rgba(255, 255, 255, 0.1);
    --home-text: #f5f5f7;
    --home-muted: #98989d;
    --home-dim: #6e6e73;
    --home-expense: #ffb340;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-workspace {
    background: #000 !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    :is(.mv7-menu-button, .mv7-topbar-actions) {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(28, 28, 30, 0.92) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary {
    border-color: rgba(255, 255, 255, 0.1);
    background:
      radial-gradient(circle at 88% 42%, rgba(255, 255, 255, 0.035), transparent 42%),
      linear-gradient(155deg, #202022, #121214) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    :is(
      #widget-accounts .mv7-account-overview,
      #widget-activity .mv7-transaction-list,
      #overview-view .mv7-metric-income,
      #overview-view .mv7-metric-expense
    ) {
    border-color: rgba(255, 255, 255, 0.1);
    background: linear-gradient(155deg, rgba(28, 28, 30, 0.98), rgba(20, 20, 22, 0.98));
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    :is(.is-expense, .is-transfer) {
    border-color: rgba(255, 255, 255, 0.1);
    background: #1c1c1e;
  }

  :root[data-resolved-theme='dark'] .mv7-sidebar {
    --mv7-drawer-bg: rgba(18, 18, 20, 0.94);
    --mv7-drawer-surface: rgba(255, 255, 255, 0.055);
    --mv7-drawer-surface-soft: rgba(255, 255, 255, 0.1);
    --mv7-drawer-text: #f5f5f7;
    --mv7-drawer-muted: #98989d;
    --mv7-drawer-line: rgba(255, 255, 255, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--mv7-drawer-bg);
    box-shadow:
      inset -1px 0 0 rgba(255, 255, 255, 0.025),
      28px 0 74px rgba(0, 0, 0, 0.58);
    backdrop-filter: blur(36px) saturate(1.22);
    -webkit-backdrop-filter: blur(36px) saturate(1.22);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-sparkline {
    display: none !important;
  }
}

/* Ajustes finales de composición para la tarjeta de racha. Deben quedar al
   final porque este archivo conserva varios bloques históricos de Inicio. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: 57px repeat(3, 36px);
    width: auto;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 202px !important;
    padding: 22px 22px 20px !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > p,
  body[data-v2-view='overview'] .mv7-mobile-balance-privacy,
  body[data-v2-view='overview'] .mv7-mobile-balance-orbit {
    display: none !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    width: 54%;
    max-width: 220px;
    margin-top: 14px;
    font-size: clamp(25px, 7vw, 34px);
    line-height: 1.02;
    letter-spacing: -0.052em;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-compact-value,
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong.is-extra-compact-value {
    font-size: clamp(23px, 6.5vw, 31px);
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    width: 52%;
    margin-top: 17px;
  }

  body[data-v2-view='overview'] #overview-insight {
    width: calc(53% - 24px);
    max-width: 210px;
    margin: -62px auto 30px 24px;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy {
    min-width: 0;
  }

  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.22;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 430px) {
  body[data-v2-view='overview'] .mv7-mobile-brand-subtitle {
    display: none;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview'] .mv7-topbar-actions,
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: 48px repeat(3, 34px);
  }

  body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary
    > strong.is-extra-compact-value {
    font-size: clamp(12px, 4vw, 16px);
    letter-spacing: -0.035em;
  }
}

/* La declaración final preserva el AssistiveTouch sobre las capas heredadas
   de Inicio que todavía definen la antigua tercera acción rectangular. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-right: 84px;
  }

  body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch {
    position: fixed;
    z-index: 55;
    right: max(17px, calc((100vw - 520px) / 2 + 17px));
    bottom: max(10px, env(safe-area-inset-bottom));
    left: auto;
    width: 60px;
    min-width: 60px;
    height: 60px;
    min-height: 60px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch.is-positioned {
    top: var(--assistive-y);
    right: auto;
    bottom: auto;
    left: var(--assistive-x);
  }

  :root[data-resolved-theme='light']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch,
  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-mobile-home-actions
    .mv7-assistive-touch {
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-mobile-home-actions {
    padding-right: 0;
  }
}

/* Topbar de Inicio para visitantes: la llamada de autenticación reemplaza
   los controles privados de una cuenta conectada. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar:has(.mv7-topbar-actions.has-guest-login) {
    top: max(7px, env(safe-area-inset-top));
    width: calc(100% - 20px);
    min-height: 68px;
    margin: 0 10px 8px;
    padding: 6px 7px;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 999px;
    background: rgba(245, 248, 247, 0.7) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      0 18px 42px -28px rgba(28, 44, 36, 0.42) !important;
    backdrop-filter: blur(30px) saturate(1.45);
    -webkit-backdrop-filter: blur(30px) saturate(1.45);
  }

  body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-mobile-topbar-start {
    min-width: 0;
    flex: 1 1 auto;
    gap: 8px;
  }

  body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-menu-button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    border-color: rgba(255, 255, 255, 0.76) !important;
    background: rgba(255, 255, 255, 0.54) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 10px 24px -17px rgba(28, 44, 36, 0.45) !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-mobile-brand {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0;
  }

  body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-mobile-brand
    strong {
    overflow: hidden;
    font-size: 20px;
    font-weight: 740;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-mobile-brand-subtitle {
    display: block;
    overflow: hidden;
    max-width: 142px;
    color: #7c8580;
    font-size: 8px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    display: grid;
    width: auto;
    flex: 0 0 auto;
    grid-template-columns: minmax(104px, auto);
    gap: 7px;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    :is(#privacy-toggle, #notification-bell, #profile-button) {
    display: none !important;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login .mv7-topbar-pro {
    display: inline-flex;
    width: 52px;
    height: 44px;
    margin: 0;
    border-color: rgba(210, 145, 37, 0.18);
    background: linear-gradient(145deg, rgba(255, 251, 242, 0.9), rgba(249, 234, 205, 0.72));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      0 10px 22px -17px rgba(174, 105, 9, 0.56);
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    #topbar-login-button:not([hidden]) {
    display: inline-flex !important;
    min-width: 104px;
    height: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 13px 0 15px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: linear-gradient(145deg, #242a2e, #15191c);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.13),
      0 12px 24px -17px rgba(10, 15, 18, 0.78);
    color: #fff;
    font-size: 11.5px;
    font-weight: 650;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    #topbar-login-button
    svg {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    #topbar-login-button:active {
    transform: scale(0.97);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login) {
    border-color: rgba(255, 255, 255, 0.11) !important;
    background: rgba(28, 28, 30, 0.8) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 18px 42px -25px rgba(0, 0, 0, 0.88) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-menu-button {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.065) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:has(.mv7-topbar-actions.has-guest-login)
    .mv7-mobile-brand-subtitle {
    color: #98989d;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    .mv7-topbar-pro {
    border-color: rgba(255, 184, 77, 0.16);
    background: linear-gradient(145deg, rgba(82, 56, 21, 0.72), rgba(52, 38, 20, 0.58));
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login {
    grid-template-columns: minmax(96px, auto);
    gap: 5px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions.has-guest-login .mv7-topbar-pro {
    width: 46px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions.has-guest-login
    #topbar-login-button:not([hidden]) {
    min-width: 96px;
    padding-inline: 10px;
    font-size: 10.5px;
  }
}

/* Inicio sin el adelanto visual de Racha: el balance vuelve a ocupar la
   tarjeta completa. La experiencia dedicada permanece disponible en Racha. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 172px !important;
    padding: 22px 22px 20px !important;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong,
  body[data-v2-view='overview']
    #overview-view
    .mv7-metric-primary
    > strong:is(.is-compact-value, .is-extra-compact-value) {
    width: 100%;
    max-width: 100%;
    margin-top: 14px;
  }

  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    width: 100%;
    margin-top: 17px;
  }

  body[data-v2-view='overview'] #overview-insight {
    width: calc(100% - 48px);
    max-width: none;
    margin: -48px 24px 27px;
  }
}

.mv7-topbar-streak,
.mv7-profile-chevron {
  display: none;
}

/* Topbar conectado: conserva la misma cápsula del estado visitante y muestra
   solamente estado de racha, Pro, notificaciones y perfil. */
@media (max-width: 768px) {
  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login)) {
    top: max(7px, env(safe-area-inset-top));
    width: calc(100% - 20px);
    min-height: 68px;
    margin: 0 10px 8px;
    padding: 6px 7px;
    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 999px;
    background: rgba(245, 248, 247, 0.7) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.94),
      0 18px 42px -28px rgba(28, 44, 36, 0.42) !important;
    backdrop-filter: blur(30px) saturate(1.45);
    -webkit-backdrop-filter: blur(30px) saturate(1.45);
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-topbar-start {
    min-width: 0;
    flex: 1 1 auto;
    gap: 8px;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-menu-button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    border-color: rgba(255, 255, 255, 0.76) !important;
    background: rgba(255, 255, 255, 0.54) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.92),
      0 10px 24px -17px rgba(28, 44, 36, 0.45) !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand
    strong {
    overflow: hidden;
    font-size: 20px;
    font-weight: 740;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand-subtitle {
    display: block;
    overflow: hidden;
    max-width: 132px;
    color: #7c8580;
    font-size: 8px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    display: grid;
    width: auto;
    flex: 0 0 auto;
    grid-template-columns: 46px 42px 58px;
    gap: 5px;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #privacy-toggle {
    display: none !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-streak {
    display: inline-flex;
    width: 46px;
    height: 42px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.46);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 9px 20px -16px rgba(28, 44, 36, 0.5);
    color: #151917;
    cursor: pointer;
    font: inherit;
  }

  body[data-v2-view='overview'] .mv7-topbar-streak > span {
    font-size: 17px;
    line-height: 1;
  }

  body[data-v2-view='overview'] .mv7-topbar-streak > strong {
    font-size: 12px;
    font-weight: 720;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-pro {
    display: inline-flex;
    width: 48px;
    height: 42px;
    margin: 0;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #notification-bell {
    display: grid;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.46);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 9px 20px -16px rgba(28, 44, 36, 0.5);
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button {
    position: relative;
    display: flex;
    width: 58px;
    min-width: 58px;
    height: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    padding: 3px 7px 3px 4px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.46) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 9px 20px -16px rgba(28, 44, 36, 0.5);
    color: #5e6661;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: rgba(222, 228, 225, 0.9);
  }

  body[data-v2-view='overview'] #profile-button #profile-initial img {
    position: static;
    inset: auto;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: inherit;
    object-fit: cover;
  }

  body[data-v2-view='overview'] #profile-button .mv7-profile-chevron {
    display: block;
    width: 11px;
    height: 11px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    transform: rotate(90deg);
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button::after {
    right: auto;
    bottom: 3px;
    left: 28px;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    background: #21c67a;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login)) {
    border-color: rgba(255, 255, 255, 0.11) !important;
    background: rgba(28, 28, 30, 0.8) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 18px 42px -25px rgba(0, 0, 0, 0.88) !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-menu-button,
  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.065) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
    color: #f5f5f7;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand-subtitle {
    color: #98989d;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    #profile-button
    #profile-initial {
    background: rgba(255, 255, 255, 0.1);
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button::after {
    border-color: #232326;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 40px 38px 50px;
    gap: 3px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-streak {
    width: 40px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    .mv7-topbar-pro {
    width: 42px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #notification-bell {
    width: 38px;
    min-width: 38px;
  }

  body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login)
    #profile-button {
    width: 50px;
    min-width: 50px;
    padding-right: 5px;
  }

  body[data-v2-view='overview'] .mv7-topbar-streak > span {
    font-size: 15px;
  }
}

/* Final cascade guard for the dedicated Settings detail layouts. */
@media (max-width: 780px) {
  body[data-v2-view='settings'] .mv7-settings-stage,
  body[data-v2-view='settings'] .mv7-settings-stage * {
    box-sizing: border-box;
  }

  body[data-v2-view='settings']
    :is(
      .mv7-reports-mobile-benefits,
      .mv7-reports-mobile-art,
      .mv7-security-mobile-recommendation,
      .mv7-settings-mobile-danger-backup,
      .mv7-settings-mobile-danger-help,
      .mv7-danger-row-icon,
      .mv7-settings-mobile-danger-warning
    )
    svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-reports-header {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 0 0 16px;
  }

  body[data-v2-view='settings'] .mv7-report-options {
    display: block;
    padding: 0;
  }

  body[data-v2-view='settings'] .mv7-report-option,
  body[data-v2-view='settings'] .mv7-report-option:is(.is-excel, .is-pdf, .is-image) {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 48px;
    min-height: 112px;
    padding: 15px 0;
    border: 0;
    border-top: 1px solid rgba(36, 54, 82, 0.1);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='settings'] .mv7-report-option::before {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-report-option:hover,
  body[data-v2-view='settings'] .mv7-report-option:active {
    background: rgba(120, 135, 160, 0.06);
    transform: none;
  }

  body[data-v2-view='settings'] :is(.mv7-reports-workspace, .mv7-security-workspace, [data-settings-panel='danger']) > * {
    max-width: 100%;
  }

  body[data-v2-view='settings'] .mv7-security-hero {
    display: block;
    margin: 0 2px 22px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='settings'] .mv7-security-access-row,
  body[data-v2-view='settings'] .mv7-security-access-row.is-visual-only {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto auto;
    min-height: 88px;
    gap: 10px;
    padding: 12px 0;
  }

  body[data-v2-view='settings'] .mv7-security-access-row > button,
  body[data-v2-view='settings'] .mv7-security-access-row > select {
    grid-column: auto;
    width: auto;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 15px;
    min-height: 0;
    padding: 20px;
    border-radius: 20px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-danger-warning svg {
    width: 42px;
    height: 42px;
  }

  body[data-v2-view='settings'] .mv7-danger-card {
    display: block;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    margin-inline: 4px;
    padding: 0 18px;
  }

  body[data-v2-view='settings'] .mv7-danger-card .mv7-settings-row {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 13px;
    padding: 24px 0;
  }
}

@media (max-width: 460px) {
  body[data-v2-view='settings'] .mv7-security-access-row,
  body[data-v2-view='settings'] .mv7-security-access-row.is-visual-only {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-security-access-row > button,
  body[data-v2-view='settings'] .mv7-security-access-row > select,
  body[data-v2-view='settings'] .mv7-security-access-row > .mv7-switch {
    grid-column: 3;
    width: auto;
  }
}

/* Final cascade guard: the legacy mobile profile block sits earlier in this file. */
@media (max-width: 768px) {
  body[data-v2-view='profile'] .mv7-page-identity h1 { font-size: 27px; }
  #profile-view .mv7-profile-mobile-verified[hidden] { display: none !important; }
  #profile-view.mv7-profile-view { padding: 24px 14px calc(34px + env(safe-area-inset-bottom)); }
  #profile-view .mv7-profile-editor-shell { position: relative; width: min(100%, 680px); }
  #profile-view .mv7-profile-preview-toggle {
    position: absolute;
    top: -72px;
    right: 0;
    width: auto;
    min-height: 42px;
    margin: 0;
    padding: 0 17px;
    border-radius: 999px;
    background: rgba(255,255,255,.68);
    color: #47546a;
  }
  #profile-view .mv7-profile-editor-card {
    display: block;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  #profile-view .mv7-profile-editor-hero {
    display: grid;
    min-height: 194px;
    grid-template-columns: 112px minmax(0, 1fr) 18px;
    grid-template-rows: auto auto;
    gap: 10px 17px;
    margin: 0 0 22px;
    padding: 24px 20px;
    border-radius: 24px;
  }
  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar { width: 110px; height: 110px; }
  #profile-view .mv7-profile-avatar-camera { width: 42px; height: 42px; }
  #profile-view .mv7-profile-hero-copy > strong { font-size: clamp(25px, 8vw, 32px); }
  #profile-view .mv7-profile-hero-copy > span { font-size: 16px; }
  #profile-view .mv7-profile-social-line { gap: 14px; margin-top: 10px; font-size: 11px; }
  #profile-view .mv7-profile-photo-button {
    grid-column: 2;
    grid-row: 2;
    min-height: 38px;
    margin: 0;
    padding: 0 20px;
    font-size: 12px;
  }
  #profile-view .mv7-profile-fields { display: block; margin: 0 0 22px; padding: 0 14px; }
  #profile-view .mv7-profile-field input,
  #profile-view .mv7-profile-field textarea {
    min-height: 27px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
  }
  #profile-view .mv7-profile-field textarea {
    height: 31px;
    min-height: 31px;
    padding-right: 45px;
    resize: none;
  }
  #profile-view #profile-username,
  #profile-view .mv7-profile-field input[readonly] { padding-right: 85px; font-size: 14px; }
  #profile-view .mv7-profile-field-state,
  #profile-view .mv7-profile-email-state { right: 0; padding: 0; font-size: 10px; }
  #profile-view .mv7-profile-editor-actions {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 17px;
    border-radius: 22px;
  }
  #profile-view .mv7-profile-editor-actions > div {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr);
    gap: 10px;
  }
  #profile-view .mv7-profile-editor-actions button { width: 100%; min-height: 48px; }
  #profile-view .mv7-profile-preview-card { margin-top: 14px; border-radius: 22px; }
  #profile-view .mv7-profile-field-hint > svg {
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
  }
  :root[data-resolved-theme='dark'] #profile-view .mv7-profile-preview-toggle {
    background: rgba(31,31,34,.76);
    color: #d1d1d6;
  }
}

@media (max-width: 390px) {
  #profile-view .mv7-profile-editor-hero {
    grid-template-columns: 92px minmax(0,1fr) 14px;
    gap: 9px 13px;
    padding: 20px 15px;
  }
  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar { width: 92px; height: 92px; }
  #profile-view .mv7-profile-hero-copy > strong { font-size: 24px; }
}

/* Ajustes móviles — Apariencia, Privacidad y Notificaciones. */
.mv7-appearance-mobile-orb,
.mv7-appearance-mobile-effects-title,
.mv7-appearance-row-icon,
.mv7-privacy-mobile-hero,
.mv7-privacy-row-icon,
.mv7-notifications-master > i,
.mv7-notification-channels button > i,
.mv7-notification-channels button > b,
.mv7-notification-channels button span small,
.mv7-notification-autosave-note > svg {
  display: none;
}

@media (max-width: 780px) {
  body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) {
    position: relative;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }

  body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) > .mv7-settings-title {
    margin: 2px 10px 22px;
  }

  body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) > .mv7-settings-title h3 {
    color: #101522;
    font-size: clamp(35px, 10vw, 50px);
    font-weight: 750;
    letter-spacing: -.045em;
    line-height: 1;
  }

  body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) > .mv7-settings-title p {
    margin-top: 9px;
    color: #667187;
    font-size: 15px;
    line-height: 1.4;
  }

  /* Appearance */
  body[data-v2-view='settings'] .mv7-appearance-mobile-orb {
    position: absolute;
    z-index: -1;
    top: -96px;
    right: 0;
    display: block;
    width: 150px;
    height: 150px;
    overflow: hidden;
    color: #68758a;
  }

  body[data-v2-view='settings'] .mv7-appearance-mobile-orb i {
    position: absolute;
    top: -35px;
    right: -22px;
    width: 130px;
    height: 160px;
    border: 1px solid rgba(118,163,221,.24);
    border-radius: 48% 52% 45% 55%;
    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(184,216,255,.26) 48%, rgba(255,255,255,.08) 70%);
    box-shadow: inset 18px 12px 30px rgba(255,255,255,.82), 0 24px 50px -24px rgba(66,118,186,.4);
    transform: rotate(-18deg);
  }

  body[data-v2-view='settings'] .mv7-appearance-mobile-orb span {
    position: absolute;
    right: 8px;
    bottom: 12px;
    font-size: 10px;
    line-height: 1.35;
    text-align: right;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-tab-layout,
  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-tab-main {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace :is(.mv7-appearance-themes-card,.mv7-appearance-controls-card,.mv7-appearance-effects-card,.mv7-appearance-accessibility) {
    margin: 0 2px;
    padding: 16px;
    border: 1px solid rgba(44,67,102,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.7);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 45px -36px rgba(34,52,83,.46);
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-settings-card > h4 {
    margin: 0 0 12px;
    color: #141b2b;
    font-size: 17px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 9px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button {
    display: grid;
    min-width: 0;
    min-height: 136px;
    grid-template-columns: 1fr !important;
    align-content: start;
    gap: 8px;
    padding: 9px;
    border: 1px solid rgba(44,67,102,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.42);
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button.is-selected {
    border-color: #1682f3;
    box-shadow: inset 0 0 0 1px #1682f3, 0 11px 25px -20px rgba(15,119,235,.72);
  }

  body[data-v2-view='settings'] .mv7-theme-preview {
    width: 100%;
    height: 84px !important;
    min-height: 84px;
    border-radius: 10px;
  }

  body[data-v2-view='settings'] .mv7-theme-option-copy { padding: 0; text-align: center; }
  body[data-v2-view='settings'] .mv7-theme-option-copy strong { font-size: 12px; }
  body[data-v2-view='settings'] .mv7-theme-option-copy small { display: none; }
  body[data-v2-view='settings'] .mv7-theme-option-state { top: 13px; right: 13px; width: 24px; height: 24px; background: #1682f3; }

  body[data-v2-view='settings'] .mv7-appearance-themes-card { order: 1; }
  body[data-v2-view='settings'] .mv7-appearance-controls-card { order: 2; }
  body[data-v2-view='settings'] .mv7-appearance-effects-card { order: 3; }
  body[data-v2-view='settings'] .mv7-accent-swatches {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 10px;
    padding: 3px 2px 1px;
  }
  body[data-v2-view='settings'] .mv7-accent-swatches button { width: 46px; height: 46px; max-width: 100%; justify-self: center; border-width: 5px; }
  body[data-v2-view='settings'] .mv7-accent-swatches button.is-selected { outline: 3px solid rgba(22,130,243,.24); outline-offset: 3px; }

  body[data-v2-view='settings'] .mv7-appearance-mobile-effects-title { display: block; }
  body[data-v2-view='settings'] .mv7-appearance-effects-card,
  body[data-v2-view='settings'] .mv7-appearance-accessibility { padding-block: 8px !important; }
  body[data-v2-view='settings'] .mv7-appearance-effects-card > h4,
  body[data-v2-view='settings'] .mv7-appearance-accessibility > h4 { margin: 8px 0 6px !important; }
  body[data-v2-view='settings'] .mv7-appearance-effects-card > .mv7-settings-row,
  body[data-v2-view='settings'] .mv7-appearance-accessibility > .mv7-settings-row {
    display: grid;
    min-height: 64px;
    grid-template-columns: 44px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid rgba(44,67,102,.09);
  }
  body[data-v2-view='settings'] .mv7-appearance-row-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: rgba(235,239,246,.76);
    color: #4f5d72;
    font-style: normal;
    font-size: 20px;
  }
  body[data-v2-view='settings'] .mv7-appearance-row-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  body[data-v2-view='settings'] .mv7-appearance-effects-card .mv7-settings-row > span { font-size: 13px; }

  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-tab-rail {
    display: block !important;
    grid-row: auto;
  }
  body[data-v2-view='settings'] .mv7-appearance-preview-panel { display: none !important; }
  body[data-v2-view='settings'] .mv7-appearance-accessibility { display: block !important; margin-top: 14px !important; }
  body[data-v2-view='settings'] .mv7-appearance-accessibility > p { display: none; }
  body[data-v2-view='settings'] .mv7-settings-row-slider { grid-template-columns: 44px minmax(0,1fr) !important; }
  body[data-v2-view='settings'] .mv7-settings-row-slider > span { display: flex; justify-content: space-between; align-items: center; }
  body[data-v2-view='settings'] .mv7-settings-row-slider .mv7-appearance-font-range { grid-column: 2; width: 100%; }

  /* Privacy */
  body[data-v2-view='settings'] .mv7-privacy-mobile-hero {
    position: relative;
    display: flex;
    min-height: 74px;
    align-items: flex-end;
    margin: -10px 2px 12px;
  }
  body[data-v2-view='settings'] .mv7-privacy-mobile-hero > span {
    position: absolute;
    right: 14px;
    bottom: -4px;
    display: grid;
    width: 116px;
    height: 116px;
    place-items: center;
    border: 1px solid rgba(105,157,220,.18);
    border-radius: 42% 58% 50% 50%;
    background: radial-gradient(circle at 34% 28%, rgba(255,255,255,.98), rgba(177,215,255,.3) 56%, rgba(255,255,255,.16));
    color: rgba(255,255,255,.95);
    box-shadow: inset 12px 10px 24px rgba(255,255,255,.8), 0 25px 45px -22px rgba(48,110,184,.48);
    transform: rotate(-10deg);
  }
  body[data-v2-view='settings'] .mv7-privacy-mobile-hero > span svg { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.7; filter: drop-shadow(0 5px 10px rgba(61,112,175,.35)); }
  body[data-v2-view='settings'] .mv7-privacy-mobile-hero > b {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(37,188,121,.1);
    color: #14965e;
    font-size: 12px;
  }
  body[data-v2-view='settings'] .mv7-privacy-mobile-hero > b svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

  body[data-v2-view='settings'] .mv7-privacy-workspace .mv7-tab-layout,
  body[data-v2-view='settings'] .mv7-privacy-workspace .mv7-tab-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  body[data-v2-view='settings'] .mv7-privacy-analytics { order: 1; }
  body[data-v2-view='settings'] .mv7-privacy-visibility { order: 2; }
  body[data-v2-view='settings'] #privacy-community-section { order: 3; }
  body[data-v2-view='settings'] #privacy-community-section[hidden] { display: none !important; }
  body[data-v2-view='settings'] .mv7-privacy-workspace .mv7-tab-rail { display: block !important; order: 4; }
  body[data-v2-view='settings'] .mv7-privacy-section {
    position: relative;
    overflow: visible;
    margin: 26px 2px 0;
    padding: 0 16px;
    border: 1px solid rgba(44,67,102,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.7);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 45px -36px rgba(34,52,83,.46);
  }
  body[data-v2-view='settings'] .mv7-privacy-section > h4 {
    position: absolute;
    bottom: calc(100% + 9px);
    left: 7px;
    margin: 0;
    color: #667187;
    font-size: 12px;
    font-weight: 680;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  body[data-v2-view='settings'] .mv7-privacy-section > p { display: none; }
  body[data-v2-view='settings'] .mv7-privacy-section .mv7-settings-row {
    display: grid;
    min-height: 86px;
    grid-template-columns: 48px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 13px 0;
  }
  body[data-v2-view='settings'] .mv7-privacy-row-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 13px;
    background: rgba(235,239,246,.8);
    color: #667187;
  }
  body[data-v2-view='settings'] .mv7-privacy-row-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  body[data-v2-view='settings'] .mv7-privacy-section .mv7-settings-row > span strong { color: #151c2c; font-size: 15px; }
  body[data-v2-view='settings'] .mv7-privacy-section .mv7-settings-row > span small { margin-top: 4px; color: #68758a; font-size: 11px; line-height: 1.4; }
  body[data-v2-view='settings'] .mv7-privacy-section select { max-width: 105px; padding: 7px 22px 7px 7px; border: 0; background-color: transparent; color: #667187; }
  body[data-v2-view='settings'] .mv7-privacy-workspace .mv7-tab-rail { margin-top: 12px; }
  body[data-v2-view='settings'] .mv7-privacy-policy {
    display: grid;
    min-height: 82px;
    grid-template-columns: 48px minmax(0,1fr) 18px;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.7);
  }
  body[data-v2-view='settings'] .mv7-privacy-policy > svg { width: 44px; height: 44px; padding: 10px; border-radius: 13px; background: rgba(35,188,120,.1); color: #14965e; }
  body[data-v2-view='settings'] .mv7-privacy-policy h4 { font-size: 15px; }
  body[data-v2-view='settings'] .mv7-privacy-policy p { margin-top: 3px; color: #68758a; font-size: 11px; }

  /* Notifications */
  body[data-v2-view='settings'] .mv7-notifications-layout,
  body[data-v2-view='settings'] .mv7-notifications-main { display: grid; grid-template-columns: 1fr; gap: 14px; }
  body[data-v2-view='settings'] .mv7-notifications-master {
    display: grid;
    min-height: 78px;
    grid-template-columns: 48px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0 2px;
    padding: 14px 16px;
    border: 1px solid rgba(44,67,102,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.7);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 45px -36px rgba(34,52,83,.46);
  }
  body[data-v2-view='settings'] .mv7-notifications-master > i { display: grid; }
  body[data-v2-view='settings'] .mv7-notifications-master > span strong { color: #151c2c; font-size: 15px; }
  body[data-v2-view='settings'] .mv7-notifications-master > span small { margin-top: 4px; color: #68758a; font-size: 11px; }
  body[data-v2-view='settings'] #notif-enabled-count { color: #2b73d2; font-weight: 500; }
  body[data-v2-view='settings'] .mv7-notification-group { display: grid; gap: 8px; margin: 0 2px; }
  body[data-v2-view='settings'] .mv7-notification-group > h4 { margin: 5px 7px 0; color: #667187; font-size: 12px; }
  body[data-v2-view='settings'] .mv7-notification-group > p { display: none; }
  body[data-v2-view='settings'] .mv7-notification-list { overflow: hidden; padding: 0 16px; border-radius: 22px; background: rgba(255,255,255,.7); }
  body[data-v2-view='settings'] .mv7-notification-row,
  body[data-v2-view='settings'] .mv7-notification-row:not(:has(select)) {
    display: grid;
    min-height: 92px;
    grid-template-columns: 48px minmax(0,1fr) auto;
    grid-template-rows: auto auto;
    gap: 5px 12px;
    align-content: center;
    padding: 13px 0;
    border-bottom: 1px solid rgba(44,67,102,.09);
  }
  body[data-v2-view='settings'] .mv7-notification-row:last-child { border-bottom: 0; }
  body[data-v2-view='settings'] .mv7-notification-icon { width: 44px; height: 44px; grid-row: 1 / span 2; border-radius: 13px; background: rgba(235,239,246,.8); color: #526077; }
  body[data-v2-view='settings'] .mv7-notification-icon svg { width: 22px; height: 22px; }
  body[data-v2-view='settings'] .mv7-notification-row > span:nth-child(2) { align-self: end; }
  body[data-v2-view='settings'] .mv7-notification-row > span:nth-child(2) strong { color: #151c2c; font-size: 14px; }
  body[data-v2-view='settings'] .mv7-notification-row > span:nth-child(2) small { margin-top: 3px; color: #68758a; font-size: 10.5px; line-height: 1.35; }
  body[data-v2-view='settings'] .mv7-notification-row > .mv7-switch { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
  body[data-v2-view='settings'] .mv7-notification-row select {
    display: block;
    width: auto;
    min-width: 100px;
    min-height: 32px;
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    padding: 5px 28px 5px 10px;
    border: 1px solid rgba(44,67,102,.12);
    border-radius: 999px;
    background-color: rgba(255,255,255,.5);
    color: #263146;
    font-size: 10px;
  }
  body[data-v2-view='settings'] .mv7-notification-row:has(#notif-pref-weekly) select[disabled] { display: none; }
  body[data-v2-view='settings'] .mv7-notification-channels {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    padding: 0 16px;
    border: 1px solid rgba(44,67,102,.1);
    border-radius: 22px;
    background: rgba(255,255,255,.7);
  }
  body[data-v2-view='settings'] .mv7-notification-channels button {
    display: grid;
    min-height: 70px;
    grid-template-columns: 42px minmax(0,1fr) 26px;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid rgba(44,67,102,.09);
    background: transparent;
    box-shadow: none;
    color: #151c2c;
    outline: 0;
    text-align: left;
  }
  body[data-v2-view='settings'] .mv7-notification-channels button:last-child { border-bottom: 0; }
  body[data-v2-view='settings'] .mv7-notification-channels button:nth-child(3) { order: 2; }
  body[data-v2-view='settings'] .mv7-notification-channels button:nth-child(2) { order: 3; }
  body[data-v2-view='settings'] .mv7-notification-channels button > i,
  body[data-v2-view='settings'] .mv7-notification-channels button > b { display: grid; }
  body[data-v2-view='settings'] .mv7-notification-channels button > i { width: 38px; height: 38px; place-items: center; border-radius: 11px; background: rgba(235,239,246,.8); color: #526077; }
  body[data-v2-view='settings'] .mv7-notification-channels button > i svg { width: 20px; height: 20px; }
  body[data-v2-view='settings'] .mv7-notification-channels button span strong,
  body[data-v2-view='settings'] .mv7-notification-channels button span small { display: block; }
  body[data-v2-view='settings'] .mv7-notification-channels button span strong { font-size: 13px; }
  body[data-v2-view='settings'] .mv7-notification-channels button span small { margin-top: 3px; color: #68758a; font-size: 10px; }
  body[data-v2-view='settings'] .mv7-notification-channels button > b { width: 22px; height: 22px; place-items: center; border: 1px solid #2d84ec; border-radius: 50%; color: #2d84ec; }
  body[data-v2-view='settings'] .mv7-notification-channels button.is-selected > b { background: #2d84ec; color: white; }
  body[data-v2-view='settings'] .mv7-notification-channels button > b svg { width: 13px; height: 13px; }
  body[data-v2-view='settings'] .mv7-notification-autosave-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 2px;
    padding: 13px 15px;
    border: 1px solid rgba(44,67,102,.1);
    border-radius: 15px;
    color: #68758a;
    font-size: 10px;
    line-height: 1.4;
  }
  body[data-v2-view='settings'] .mv7-notification-autosave-note > svg {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }
  body[data-v2-view='settings'] .mv7-notifications-rail { display: none !important; }

  /* Shared dark appearance for these three panels. */
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) > .mv7-settings-title h3 { color: #f5f5f7; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-appearance-workspace,.mv7-privacy-workspace,.mv7-notifications-workspace) > .mv7-settings-title p { color: #a1a1a8; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-appearance-themes-card,.mv7-appearance-controls-card,.mv7-appearance-effects-card,.mv7-appearance-accessibility,.mv7-privacy-section,.mv7-privacy-policy,.mv7-notifications-master,.mv7-notification-list,.mv7-notification-channels) {
    border-color: rgba(255,255,255,.1);
    background: rgba(31,31,34,.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 20px 45px -32px rgba(0,0,0,.82);
  }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-appearance-workspace .mv7-settings-card > h4,.mv7-privacy-section .mv7-settings-row > span strong,.mv7-notifications-master > span strong,.mv7-notification-row > span:nth-child(2) strong,.mv7-notification-channels button) { color: #f5f5f7; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-privacy-row-icon,.mv7-appearance-row-icon,.mv7-notification-icon,.mv7-notification-channels button > i) { background: rgba(255,255,255,.07); color: #d1d1d6; }
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notification-row select { border-color: rgba(255,255,255,.1); background-color: rgba(255,255,255,.06); color: #e6e6ea; }
}

@media (max-width: 390px) {
  body[data-v2-view='settings'] .mv7-theme-grid { gap: 6px; }
  body[data-v2-view='settings'] .mv7-theme-grid > button { padding: 7px; }
  body[data-v2-view='settings'] .mv7-theme-preview { height: 70px !important; min-height: 70px; }
  body[data-v2-view='settings'] .mv7-accent-swatches { gap: 5px; }
  body[data-v2-view='settings'] .mv7-accent-swatches button { width: 40px; height: 40px; }
}

/* Paleta iOS para las preferencias de Notificaciones en móvil. */
@media (max-width: 780px) {
  body[data-v2-view='settings'] .mv7-notifications-workspace {
    --mv7-notification-blue: #007aff;
    --mv7-notification-label: #1c1c1e;
    --mv7-notification-secondary: #6e6e73;
    --mv7-notification-fill: rgba(120,120,128,.12);
    --mv7-notification-separator: rgba(60,60,67,.14);
    --mv7-notification-surface: rgba(255,255,255,.86);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notifications-master,.mv7-notification-list,.mv7-notification-channels) {
    border-color: rgba(60,60,67,.12);
    background: var(--mv7-notification-surface);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 16px 38px -32px rgba(28,28,30,.48);
    backdrop-filter: blur(30px) saturate(145%);
    -webkit-backdrop-filter: blur(30px) saturate(145%);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notifications-master > span strong,.mv7-notification-row > span:nth-child(2) strong,.mv7-notification-channels button) {
    color: var(--mv7-notification-label);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notifications-master > span small,.mv7-notification-row > span:nth-child(2) small,.mv7-notification-channels button span small,.mv7-notification-autosave-note) {
    color: var(--mv7-notification-secondary);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace #notif-enabled-count,
  body[data-v2-view='settings'] .mv7-notifications-master > .mv7-notification-icon {
    color: var(--mv7-notification-blue);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notification-icon,.mv7-notification-channels button > i) {
    border: 1px solid rgba(255,255,255,.72);
    background: linear-gradient(145deg,rgba(255,255,255,.86),var(--mv7-notification-fill));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px -15px rgba(28,28,30,.42);
    color: #48484a;
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notification-row,.mv7-notification-channels button) {
    border-color: var(--mv7-notification-separator);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-row select {
    border-color: rgba(60,60,67,.16);
    background-color: rgba(242,242,247,.92);
    color: #3a3a3c;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace input.mv7-switch {
    border-color: rgba(60,60,67,.08);
    background: #e5e5ea;
    box-shadow: inset 0 0 0 1px rgba(60,60,67,.04);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace input.mv7-switch:checked {
    border-color: var(--mv7-notification-blue);
    background: var(--mv7-notification-blue);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace input.mv7-switch:focus-visible {
    outline-color: rgba(0,122,255,.68);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-channels button > b {
    border-color: var(--mv7-notification-blue);
    color: var(--mv7-notification-blue);
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-channels button.is-selected > b {
    background: var(--mv7-notification-blue);
    color: #fff;
  }

  body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-autosave-note {
    border-color: rgba(60,60,67,.12);
    background: rgba(242,242,247,.52);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace {
    --mv7-notification-blue: #0a84ff;
    --mv7-notification-label: #f5f5f7;
    --mv7-notification-secondary: #98989d;
    --mv7-notification-fill: rgba(118,118,128,.18);
    --mv7-notification-separator: rgba(84,84,88,.58);
    --mv7-notification-surface: rgba(28,28,30,.82);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notifications-master,.mv7-notification-list,.mv7-notification-channels) {
    border-color: rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px -30px rgba(0,0,0,.88);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace :is(.mv7-notification-icon,.mv7-notification-channels button > i) {
    border-color: rgba(255,255,255,.08);
    background: linear-gradient(145deg,rgba(255,255,255,.09),var(--mv7-notification-fill));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    color: #d1d1d6;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-row select {
    border-color: rgba(255,255,255,.1);
    background-color: #2c2c2e;
    color: #f2f2f7;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace input.mv7-switch {
    border-color: rgba(255,255,255,.08);
    background: #39393d;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-notifications-workspace .mv7-notification-autosave-note {
    border-color: rgba(255,255,255,.1);
    background: rgba(44,44,46,.56);
  }

  /* Las reglas históricas de Ajustes usan un selector con id. Estas
     excepciones mantienen la paleta de Notificaciones independiente del
     acento general, igual que los controles de sistema de iOS. */
  body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace input.mv7-switch {
    border-color: rgba(60,60,67,.08);
    background: #e5e5ea;
  }

  body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace input.mv7-switch:checked {
    border-color: var(--mv7-notification-blue);
    background: var(--mv7-notification-blue);
  }

  body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace .mv7-settings-card {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 16px 38px -32px rgba(28,28,30,.48);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace input.mv7-switch {
    border-color: rgba(255,255,255,.08);
    background: #39393d;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace input.mv7-switch:checked {
    border-color: var(--mv7-notification-blue);
    background: var(--mv7-notification-blue);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] #settings-view .mv7-notifications-workspace .mv7-settings-card {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px -30px rgba(0,0,0,.88);
  }
}

/* Final cascade guard: una sola superficie glass, la del topbar completo. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 44px 42px 48px;
    gap: 0;
    padding: 3px;
    margin-right: -6px;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    height: 48px;
    min-height: 48px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) .mv7-topbar-streak {
    width: 44px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #notification-bell {
    width: 42px;
    min-width: 42px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button {
    width: 48px;
    min-width: 48px;
    justify-content: center;
    padding: 2px;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  body[data-v2-view='overview'] #profile-button .mv7-profile-chevron {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button::after {
    right: 1px;
    left: auto;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 40px 39px 46px;
    gap: 0;
    padding: 3px;
    margin-right: -4px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) .mv7-topbar-streak {
    width: 40px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #notification-bell {
    width: 39px;
    min-width: 39px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button {
    width: 46px;
    min-width: 46px;
    padding: 2px;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }


  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button::after {
    right: 0;
  }
}

/* Inicio conectado adopta la jerarquía compacta de Movimientos: el topbar es
   una franja ligera y solo sus acciones comparten una cápsula pequeña. */
@media (max-width: 768px) {
  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login)) {
    top: 0;
    width: 100%;
    min-height: calc(66px + env(safe-area-inset-top));
    margin: 0;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0 !important;
    border-radius: 0;
    background: color-mix(in srgb, var(--home-bg) 88%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-topbar-start {
    gap: 10px;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--home-line) !important;
    background: var(--home-surface) !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand {
    display: flex;
    align-items: center;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand
    strong {
    font-size: 17px;
    font-weight: 660;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login))
    .mv7-mobile-brand-subtitle {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 42px 38px 46px;
    gap: 2px;
    margin-right: 0;
    padding: 4px;
    border: 1px solid var(--home-line) !important;
    border-radius: 999px;
    background: var(--home-surface) !important;
    box-shadow: none !important;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) :is(.mv7-topbar-streak, #notification-bell, #profile-button) {
    height: 42px;
    min-height: 42px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) .mv7-topbar-streak {
    width: 42px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #notification-bell {
    width: 38px;
    min-width: 38px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button {
    width: 46px;
    min-width: 46px;
    padding: 0 2px;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button::after {
    right: 1px;
    bottom: 0;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login)) {
    border: 0 !important;
    background: color-mix(in srgb, var(--home-bg) 88%, transparent) !important;
    box-shadow: none !important;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='overview']
    .mv7-topbar-actions:not(.has-guest-login) {
    border-color: var(--home-line) !important;
    background: var(--home-surface) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 374px) {
  body[data-v2-view='overview']
    .mv7-topbar:not(:has(.mv7-topbar-actions.has-guest-login)) {
    padding-inline: 10px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) {
    grid-template-columns: 40px 36px 44px;
    gap: 1px;
    margin-right: 0;
    padding: 3px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #notification-bell {
    width: 36px;
    min-width: 36px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions:not(.has-guest-login) #profile-button {
    width: 44px;
    min-width: 44px;
  }

  body[data-v2-view='overview'] #profile-button #profile-initial {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
}

/* Datos y backup: composición móvil inspirada en las tarjetas de iOS. */
.mv7-backup-overview {
  display: contents;
}

@media (max-width: 768px) {
  body[data-v2-view='settings'] [data-settings-panel='backup'],
  body[data-v2-view='settings'] .mv7-backup-card {
    gap: 14px;
  }

  body[data-v2-view='settings'] .mv7-backup-card {
    display: grid;
    padding: 0;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    container-type: normal;
  }

  body[data-v2-view='settings'] .mv7-backup-card::before,
  body[data-v2-view='settings'] .mv7-backup-card::after {
    display: none !important;
    content: none !important;
  }

  body[data-v2-view='settings'] :is(.mv7-backup-overview,.mv7-backup-inventory,.mv7-backup-footer) {
    overflow: hidden;
    border: 1px solid var(--settings-line);
    border-radius: 20px;
    background: var(--settings-surface);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 16px 34px -30px rgba(28,28,30,.44);
  }

  body[data-v2-view='settings'] .mv7-backup-overview {
    display: grid;
  }

  body[data-v2-view='settings'] .mv7-backup-header {
    grid-template-columns: 58px minmax(0,1fr);
    gap: 14px;
    padding: 18px 16px 10px;
  }

  body[data-v2-view='settings'] .mv7-backup-header-icon {
    width: 56px;
    height: 56px;
    border-color: rgba(10,132,255,.12);
    border-radius: 14px;
    background: rgba(10,132,255,.08);
    color: #0a84ff;
  }

  body[data-v2-view='settings'] .mv7-backup-header-icon svg {
    width: 29px;
    height: 29px;
  }

  body[data-v2-view='settings'] .mv7-backup-header-icon i {
    right: 8px;
    bottom: 8px;
    border-color: color-mix(in srgb,var(--settings-surface) 92%,transparent);
    background: #0a84ff;
    box-shadow: 0 0 9px rgba(10,132,255,.42);
  }

  body[data-v2-view='settings'] .mv7-backup-header h4 {
    margin-bottom: 4px;
    font-size: 15px;
    font-weight: 680;
  }

  body[data-v2-view='settings'] .mv7-backup-header p {
    max-width: 27ch;
    color: var(--settings-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-backup-local-badge {
    grid-column: 2;
    min-height: 30px;
    justify-self: start;
    padding: 0 10px;
    border-color: rgba(10,132,255,.12);
    background: rgba(10,132,255,.08);
    color: #0877dc;
    font-size: 11px;
    font-weight: 620;
  }

  body[data-v2-view='settings'] .mv7-backup-local-badge i {
    background: #0a84ff;
    box-shadow: 0 0 8px rgba(10,132,255,.4);
  }

  body[data-v2-view='settings'] .mv7-backup-security-note {
    min-height: 50px;
    gap: 11px;
    margin: 10px 16px 16px;
    padding: 11px 13px;
    border: 0;
    border-left: 2px solid #0a84ff;
    border-radius: 0 11px 11px 0;
    background: color-mix(in srgb,#0a84ff 5%,var(--settings-soft));
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-backup-security-note svg {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
    stroke: #27364a;
  }

  body[data-v2-view='settings'] .mv7-backup-inventory {
    border-block: 1px solid var(--settings-line);
    background: var(--settings-surface);
  }

  body[data-v2-view='settings'] .mv7-backup-inventory-heading {
    padding: 16px;
    border-color: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-backup-inventory-heading strong {
    color: var(--settings-text);
    font-size: 14px;
  }

  body[data-v2-view='settings'] .mv7-backup-inventory-heading small {
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-backup-inventory-heading > strong:last-child {
    color: #0877dc;
    font-size: 13px;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric {
    min-height: 62px;
    padding: 10px 12px;
    border-color: var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric:nth-child(3n) {
    border-right: 1px solid var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric:nth-child(2n) {
    border-right: 0;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric:nth-last-child(-n + 3) {
    border-bottom: 1px solid var(--settings-line);
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric:last-child {
    grid-column: 1/-1;
    border-right: 0;
    border-bottom: 0;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric dt {
    grid-template-columns: 34px minmax(0,1fr);
    gap: 9px;
    color: var(--settings-text);
    font-size: 11px;
    font-weight: 590;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric dt svg {
    width: 34px;
    height: 34px;
    padding: 8px;
    border-color: rgba(10,132,255,.1);
    border-radius: 9px;
    background: rgba(10,132,255,.065);
    stroke: #34649b;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric dd {
    color: var(--settings-text);
    font-size: 16px;
  }

  body[data-v2-view='settings'] .mv7-backup-card .mv7-settings-metric.is-empty dd {
    color: var(--settings-muted);
  }

  body[data-v2-view='settings'] .mv7-backup-footer {
    grid-template-columns: minmax(0,1fr);
    gap: 14px;
    padding: 17px 16px 16px;
  }

  body[data-v2-view='settings'] .mv7-backup-action-copy {
    gap: 4px;
  }

  body[data-v2-view='settings'] .mv7-backup-action-copy strong {
    color: var(--settings-text);
    font-size: 14px;
  }

  body[data-v2-view='settings'] .mv7-backup-action-copy small {
    color: var(--settings-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-backup-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }

  body[data-v2-view='settings'] .mv7-backup-actions button {
    min-height: 46px;
    gap: 8px;
    padding-inline: 8px;
    border-radius: 12px;
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-backup-card #settings-export {
    border-color: #0a84ff;
    background: linear-gradient(180deg,#258cff,#0876ed);
    color: #fff;
    box-shadow: 0 10px 22px -14px rgba(10,132,255,.72);
  }

  body[data-v2-view='settings'] .mv7-backup-card #settings-import-trigger {
    border-color: var(--settings-line-strong);
    background: var(--settings-soft);
    color: var(--settings-text);
  }

  body[data-v2-view='settings'] .mv7-backup-warning {
    min-height: 64px;
    gap: 11px;
    padding: 12px 13px;
    border-color: rgba(245,158,11,.2);
    border-radius: 12px;
    background: rgba(245,158,11,.075);
  }

  body[data-v2-view='settings'] .mv7-backup-warning svg {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
    stroke: #e58c00;
  }

  body[data-v2-view='settings'] .mv7-backup-warning strong {
    color: #b56600;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-backup-overview,.mv7-backup-inventory,.mv7-backup-footer) {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 38px -30px rgba(0,0,0,.9);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-backup-security-note svg {
    stroke: #d6e8ff;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] :is(.mv7-backup-local-badge,.mv7-backup-inventory-heading > strong:last-child) {
    color: #64aaff;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-backup-warning strong {
    color: #ffb340;
  }
}

/* Menú móvil de Ajustes: opciones más livianas y grupos con respiración. */
@media (max-width: 768px) {
  body[data-v2-view='settings'] #settings-view.is-mobile-home .mv7-settings-mobile-home {
    padding-bottom: max(64px, env(safe-area-inset-bottom));
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-home > header {
    margin-bottom: 22px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups {
    gap: 28px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > h3 {
    margin-bottom: 11px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > div {
    border-radius: 20px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button {
    min-height: 60px;
    grid-template-columns: 42px minmax(0, 1fr) auto 14px;
    gap: 10px;
    padding-inline: 14px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:first-child {
    width: 42px;
    height: 42px;
    padding: 10px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:last-child {
    width: 14px;
    height: 14px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button strong {
    font-size: 13px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button em {
    max-width: 118px;
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > div > button:not(:last-child)::after {
    right: 14px;
    left: 66px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups .mv7-settings-mobile-danger-link {
    min-height: 60px;
    border-radius: 20px;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='settings'] .mv7-settings-mobile-groups button {
    min-height: 56px;
    grid-template-columns: 38px minmax(0, 1fr) 14px;
    gap: 9px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups button > svg:first-child {
    width: 38px;
    height: 38px;
    padding: 9px;
  }
}

/* Apariencia en móvil: más aire y controles a todo el ancho de la sección. */
@media (max-width: 780px) {
  body[data-v2-view='settings'] .mv7-appearance-workspace {
    max-width: none;
    padding-inline: 0;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace > .mv7-settings-title {
    margin: 18px 16px 34px;
    padding: 0 0 0 54px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace > .mv7-settings-title h3 {
    font-size: clamp(37px, 10.5vw, 50px);
    line-height: 1.02;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace > .mv7-settings-title p {
    margin-top: 12px;
    font-size: 15px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-tab-layout,
  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-tab-main {
    gap: 20px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace :is(
      .mv7-appearance-themes-card,
      .mv7-appearance-controls-card,
      .mv7-appearance-effects-card,
      .mv7-appearance-accessibility
    ) {
    width: calc(100% - 4px);
    margin-inline: 2px;
    padding: 20px 14px;
    border-radius: 24px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace .mv7-settings-card > h4 {
    margin-bottom: 18px;
    font-size: 18px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid {
    gap: 14px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button {
    min-height: 148px;
    gap: 10px;
    padding: 11px;
    border-radius: 18px;
  }

  body[data-v2-view='settings'] .mv7-theme-preview {
    height: 91px !important;
    min-height: 91px;
    border-radius: 12px;
  }

  body[data-v2-view='settings'] .mv7-accent-swatches {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(10px, 3vw, 18px);
    padding: 4px 0 6px;
  }

  body[data-v2-view='settings'] .mv7-accent-swatches button {
    width: 48px;
    height: 48px;
  }

  body[data-v2-view='settings'] .mv7-appearance-effects-card,
  body[data-v2-view='settings'] .mv7-appearance-accessibility {
    padding-block: 14px !important;
  }

  body[data-v2-view='settings'] .mv7-appearance-effects-card > h4,
  body[data-v2-view='settings'] .mv7-appearance-accessibility > h4 {
    margin: 4px 0 12px !important;
  }

  body[data-v2-view='settings'] .mv7-appearance-effects-card > .mv7-settings-row,
  body[data-v2-view='settings'] .mv7-appearance-accessibility > .mv7-settings-row {
    min-height: 72px;
    gap: 12px;
    padding: 12px 0;
  }
}

@media (max-width: 390px) {
  body[data-v2-view='settings'] .mv7-appearance-workspace > .mv7-settings-title {
    margin-inline: 12px;
    margin-bottom: 30px;
  }

  body[data-v2-view='settings'] .mv7-appearance-workspace :is(
      .mv7-appearance-themes-card,
      .mv7-appearance-controls-card,
      .mv7-appearance-effects-card,
      .mv7-appearance-accessibility
    ) {
    padding-inline: 12px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid {
    gap: 10px;
  }

  body[data-v2-view='settings'] .mv7-theme-grid > button {
    min-height: 136px;
    padding: 9px;
  }

  body[data-v2-view='settings'] .mv7-theme-preview {
    height: 82px !important;
    min-height: 82px;
  }

  body[data-v2-view='settings'] .mv7-accent-swatches {
    gap: 8px;
  }

  body[data-v2-view='settings'] .mv7-accent-swatches button {
    width: 44px;
    height: 44px;
  }
}

/* Jerarquía de títulos del menú de Ajustes, inspirada en iOS. */
@media (max-width: 768px) {
  body[data-v2-view='settings'] .mv7-settings-mobile-home h2 {
    font-size: clamp(38px, 10.2vw, 44px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.052em;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups {
    gap: 30px;
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-groups > section > h3 {
    margin: 0 0 10px 4px;
    color: color-mix(in srgb, var(--settings-muted) 88%, var(--settings-text));
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.018em;
  }
}

/* Encabezado compacto de subsecciones: la flecha y el título comparten
   siempre la misma línea, como una barra de navegación de iOS. Esta regla
   queda al final para unificar también las vistas con composición propia. */
@media (max-width: 768px) {
  body[data-v2-view='settings'] .mv7-settings-mobile-back {
    top: 0;
    left: 0;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-color: var(--settings-material-border);
    background: linear-gradient(
      145deg,
      var(--settings-material-highlight),
      var(--settings-surface)
    );
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
  }

  body[data-v2-view='settings'] .mv7-settings-stage > .mv7-settings-tab > .mv7-settings-title {
    display: block;
    min-height: 58px !important;
    margin: 0 10px 22px 0 !important;
    padding: 2px 0 0 58px !important;
  }

  body[data-v2-view='settings'] .mv7-settings-stage > .mv7-settings-tab > .mv7-settings-title h3 {
    margin: 0 !important;
    color: var(--settings-text) !important;
    font-size: clamp(27px, 8vw, 31px) !important;
    font-weight: 710 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.052em !important;
  }

  body[data-v2-view='settings'] .mv7-settings-stage > .mv7-settings-tab > .mv7-settings-title p {
    max-width: 32rem;
    margin: 4px 0 0 !important;
    color: var(--settings-muted) !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }
}
.mv7-home-glass-only { display: none; }

/* Inicio móvil · referencia de vidrio, septiembre 2026.
   Todos los cambios de composición quedan dentro de la capa móvil. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] {
    --glass-home-card: rgba(38, 41, 45, .76);
    --glass-home-edge: rgba(255, 255, 255, .12);
    --glass-home-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 24px -20px #000;
  }
  :root[data-resolved-theme='light'] body[data-v2-view='overview'] {
    --glass-home-card: rgba(255, 255, 255, .66);
    --glass-home-edge: rgba(255, 255, 255, .86);
    --glass-home-shadow: inset 0 1px 0 #fff, 0 12px 30px -26px rgba(44,63,78,.36);
    --home-muted: #697789;
    --home-text: #111820;
  }
  :root[data-resolved-theme='light'] body[data-v2-view='overview'] .mv7-workspace {
    background: radial-gradient(ellipse at 95% 15%, rgba(204,220,226,.48), transparent 48%), linear-gradient(155deg, #edf1f5, #f1f4f6) !important;
  }
  body[data-v2-view='overview'] #overview-view.mv7-content {
    width: min(100%, 520px);
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 9px;
    row-gap: 12px;
    padding: 8px 18px calc(88px + env(safe-area-inset-bottom));
  }
  body[data-v2-view='overview'] #overview-view .mv7-home-glass-only { display: block; }
  body[data-v2-view='overview'] #overview-view .mv7-section-heading {
    display: block;
    grid-column: 1 / -1;
    order: 0;
    margin: 3px 0 10px;
    padding: 0;
  }
  body[data-v2-view='overview'] #overview-view .mv7-section-heading :is(#current-date, #overview-time-message, .mv7-overview-time-subtitle, .mv7-heading-tools) { display: none !important; }
  body[data-v2-view='overview'] #overview-view #overview-mobile-greeting {
    display: block !important;
    margin: 16px 0 18px;
    color: var(--home-muted);
    font-size: clamp(26px, 6.8vw, 32px) !important;
    font-weight: 440;
    line-height: 1.12 !important;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
  }
  body[data-v2-view='overview'] #overview-view #overview-mobile-greeting strong {
    color: var(--home-text);
    font-weight: 760;
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary {
    min-height: 156px !important;
    padding: 23px 14px !important;
    border: 1px solid var(--glass-home-edge);
    border-radius: 24px;
    background: var(--glass-home-card) !important;
    box-shadow: var(--glass-home-shadow) !important;
    overflow: visible;
    isolation: isolate;
  }
  body[data-v2-view='overview'] #overview-view .mv7-home-wallet {
    position: absolute;
    z-index: -1;
    width: 49%;
    height: auto;
    right: -4px;
    bottom: 0;
    pointer-events: none;
    object-fit: contain;
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    font-size: 12px;
    text-transform: none;
    letter-spacing: -.02em;
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary .mv7-metric-head h3::after { display: none; }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong {
    width: 64%;
    max-width: 64%;
    margin-top: 13px;
    font-size: clamp(21px, 6vw, 30px);
    line-height: 1.16;
    letter-spacing: -.055em;
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary > strong:is(.is-compact-value, .is-extra-compact-value) {
    width: 66%; max-width: 66%; font-size: clamp(13px, 3.9vw, 20px);
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-primary-foot {
    width: 57%; margin-top: 10px;
  }
  body[data-v2-view='overview'] #balance-change { flex-wrap: wrap; gap: 3px; font-size: 11px; }
  body[data-v2-view='overview'] #balance-change span { font-size: 10px; }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-home-actions {
    position: static;
    order: 2;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: auto;
  }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-home-actions button {
    height: 78px;
    padding: 9px 3px;
    flex-direction: column;
    gap: 5px;
    border-radius: 20px;
    border: 1px solid var(--glass-home-edge);
    background: var(--glass-home-card);
    color: var(--home-text);
    box-shadow: var(--glass-home-shadow);
  }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-home-actions button > span {
    display: grid; place-items: center; width: 35px; height: 35px;
    border-radius: 50%; background: var(--glass-home-card); font-size: 29px;
    box-shadow: inset 0 1px 0 var(--glass-home-edge), 0 5px 12px -9px #77818b;
  }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-home-actions svg { width: 22px; height: 22px; }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-home-actions strong { font-size: 11px; font-weight: 500; }
  body[data-v2-view='overview'] #overview-insight {
    grid-column: 1 / -1; order: 3; width: 100%; max-width: none;
    display: flex; align-items: center; gap: 13px;
    min-height: 65px; margin: 0; padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.24); border-radius: 19px;
    background: radial-gradient(ellipse at 85% 0, #53595d, transparent 63%), linear-gradient(120deg,#303538,#171b1d);
    color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
  }
  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-icon {
    display: grid; flex-shrink: 0; place-items: center;
    width: 39px; height: 39px; border-radius: 12px;
    color: #e4fff1; background: rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  }
  body[data-v2-view='overview'] #overview-insight .mv7-overview-insight-copy p {
    display: block; color: #f1f5f4; font-size: 11px; line-height: 1.4; overflow: visible;
  }
  body[data-v2-view='overview'] #overview-view .mv7-mobile-month-title {
    grid-column: 1 / -1; order: 4; margin: 3px 0 -3px;
    color: var(--home-text); font-size: 18px; font-weight: 680; letter-spacing: -.045em;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense, .mv7-home-saving-card) {
    grid-column: span 2; order: 5; min-width: 0; min-height: 119px !important;
    margin: 0; padding: 12px 10px !important; border-radius: 21px;
    border: 1px solid var(--glass-home-edge);
    background: var(--glass-home-card) !important; box-shadow: var(--glass-home-shadow);
    backdrop-filter: blur(28px) saturate(140%);
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense)::before { display: none; }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-metric-head {
    display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin: 0 0 4px;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-metric-icon,
  body[data-v2-view='overview'] .mv7-home-saving-icon {
    display: grid !important; place-items: center; width: 29px; height: 29px; padding: 6px;
    border-radius: 11px; color: #008b5d; background: rgba(57,215,158,.15);
  }
  body[data-v2-view='overview'] #overview-view .mv7-metric-expense .mv7-metric-icon { color: #c16e05; background: rgba(244,174,49,.15); }
  body[data-v2-view='overview'] .mv7-home-saving-icon { color: #2875ec; background: rgba(84,152,255,.14); }
  body[data-v2-view='overview'] .mv7-home-saving-icon svg { width: 19px; height: 19px; }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) h3,
  body[data-v2-view='overview'] .mv7-home-saving-card h3 { margin: 5px 0; color: var(--home-text); font-size: 11px; font-weight: 500; }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-metric-chevron { display: none; }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense, .mv7-home-saving-card) > strong {
    display: block; margin: 0; font-size: clamp(11px, 3.25vw, 16px); font-weight: 700;
    color: var(--home-text); font-family: Inter, -apple-system, sans-serif; letter-spacing: -.05em;
    overflow-wrap: anywhere; white-space: normal;
  }
  body[data-v2-view='overview'] .mv7-home-saving-card a { display: block; margin-top: 7px; color: var(--home-muted); font-size: 10px; text-decoration: none; }
  body[data-v2-view='overview'] #overview-view .mv7-home-goals { grid-column: 1 / -1; order: 6; min-width: 0; }
  body[data-v2-view='overview'] .mv7-home-goals .mv7-panel-header { padding: 3px 0 8px; margin: 0; }
  body[data-v2-view='overview'] .mv7-home-goals h3 { color: var(--home-text); font-size: 18px; font-weight: 680; letter-spacing: -.045em; }
  body[data-v2-view='overview'] .mv7-home-goals .mv7-text-link { color: var(--home-muted); font-size: 12px; }
  body[data-v2-view='overview'] .mv7-home-goal-card,
  body[data-v2-view='overview'] .mv7-home-goal-empty {
    display: flex; align-items: center; gap: 14px; min-height: 78px; padding: 12px 14px;
    margin-bottom: 6px; border-radius: 22px; border: 1px solid var(--glass-home-edge);
    background: var(--glass-home-card); box-shadow: var(--glass-home-shadow); color: var(--home-text); text-decoration: none;
  }
  body[data-v2-view='overview'] .mv7-home-goal-empty { font-size: 13px; }
  body[data-v2-view='overview'] .mv7-home-goal-ring {
    position: relative; isolation: isolate; display: grid; place-items: center; width: 55px; height: 55px;
    flex-shrink: 0; border-radius: 50%; font-size: 14px; font-weight: 700;
    background: conic-gradient(#009866 var(--goal-progress), rgba(125,145,161,.18) 0);
  }
  body[data-v2-view='overview'] .mv7-home-goal-ring::before { content: ''; position: absolute; z-index: -1; inset: 5px; border-radius: 50%; background: var(--home-bg); }
  body[data-v2-view='overview'] .mv7-home-goal-copy { min-width: 0; flex: 1; }
  body[data-v2-view='overview'] .mv7-home-goal-copy .mv7-goal-progress-head { display: grid; gap: 4px; margin-bottom: 9px; font-size: 13px; }
  body[data-v2-view='overview'] .mv7-home-goal-copy .mv7-goal-progress-head > span { overflow-wrap: anywhere; }
  body[data-v2-view='overview'] .mv7-home-goal-copy .mv7-private-value { color: var(--home-muted); font-size: 11px; }
  body[data-v2-view='overview'] .mv7-home-goal-copy .mv7-goal-progress-fill { background: #009866; }
  body[data-v2-view='overview'] #widget-activity { grid-column: 1 / -1; order: 7; }
  body[data-v2-view='overview'] #widget-accounts { grid-column: 1 / -1; order: 8; }
  body[data-v2-view='overview'] #overview-view #widget-activity .mv7-transaction-list {
    background: var(--glass-home-card); border: 1px solid var(--glass-home-edge);
    border-radius: 23px; box-shadow: var(--glass-home-shadow);
  }
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] #overview-view #overview-insight {
    background: radial-gradient(ellipse at 85% 0, #53595d, transparent 63%), linear-gradient(120deg,#303538,#171b1d) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2) !important;
    border-radius: 19px !important;
    padding: 12px 15px !important;
    min-height: 65px;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-mobile-home-actions, .mv7-home-saving-card) svg {
    fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense, .mv7-home-saving-card) {
    height: auto !important; min-height: 125px !important; align-self: stretch;
    box-shadow: var(--glass-home-shadow) !important;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-metric-head h3 {
    font-size: 11px !important; font-weight: 500 !important; margin: 0 !important; letter-spacing: -.02em;
  }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-change { margin-top: 7px; }
  body[data-v2-view='overview'] #overview-view :is(.mv7-metric-income, .mv7-metric-expense) .mv7-change span { display: none; }
  body[data-v2-view='overview'] #overview-view .mv7-home-saving-card > strong { white-space: nowrap; font-size: clamp(10px, 3.1vw, 16px); }
  body[data-v2-view='overview'] #overview-view .mv7-home-goals { margin: 0; padding: 0; }
  body[data-v2-view='overview'] #overview-view .mv7-home-goals .mv7-panel-header {
    min-height: 0; margin: 3px 0 9px; padding: 0; align-items: center;
  }
  body[data-v2-view='overview'] #overview-view .mv7-home-goals .mv7-panel-header h3 { margin: 0; line-height: 1.25; }
  body[data-v2-view='overview'] #overview-view .mv7-home-goal-card { margin: 0 0 6px; }
  body[data-v2-view='overview'] #overview-view :is(#widget-activity, #widget-accounts) { margin-top: 0; }
  body[data-v2-view='overview'] #overview-view :is(#widget-activity, #widget-accounts) .mv7-panel-header { margin: 3px 0 9px; padding: 0; min-height: 0; }
  body[data-v2-view='overview'] #overview-view :is(#widget-activity, #widget-accounts) .mv7-panel-header h3 { font-size: 18px; }
  body[data-v2-view='overview'] #overview-view .mv7-home-goal-copy .mv7-goal-progress-track { height: 6px; }
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] #mv7-v2.mv7-private #overview-view .mv7-private-value {
    color: transparent !important;
    text-shadow: 0 0 12px rgba(128,145,157,.7);
  }
  body[data-v2-view='overview'] #mv7-v2.mv7-private #overview-view .mv7-home-goal-ring { background: rgba(125,145,161,.18); }
  body[data-v2-view='overview'] #mv7-v2.mv7-private #overview-view .mv7-home-goal-copy .mv7-goal-progress-fill { visibility: hidden; }
}

@media (max-width: 768px) {
  /* El gesto comienza sobre las capas del orbe, que tienen overflow propio. */
  body[data-v2-view='overview'] #mobile-assistive-touch,
  body[data-v2-view='overview'] #mobile-assistive-touch * { touch-action: none; }
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] #mobile-assistive-touch * { pointer-events: none; }
}

/* Racha móvil: llama de vidrio y actividad calculada desde movimientos. */
@media (max-width: 768px) {
  body[data-v2-view='streak'] {
    --streakm-bg: #0b0d10;
    --streakm-text: #f4f5f7;
    --streakm-muted: #a0a9b6;
    --streak-glass: rgba(38,43,49,.72);
    --streak-edge: rgba(255,255,255,.12);
    --streak-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 30px -26px #000;
  }
  :root[data-resolved-theme='light'] body[data-v2-view='streak'] {
    --streakm-bg: #edf1f6;
    --streakm-text: #080b10;
    --streakm-muted: #7a879c;
    --streak-glass: rgba(255,255,255,.65);
    --streak-edge: rgba(255,255,255,.88);
    --streak-shadow: inset 0 1px 0 #fff, 0 14px 35px -28px rgba(48,66,85,.3);
  }
  body[data-v2-view='streak'] .mv7-workspace {
    background: radial-gradient(ellipse at 50% 40%, rgba(147,189,180,.1), transparent 50%), var(--streakm-bg) !important;
  }
  body[data-v2-view='streak'] #streak-view.mv7-streak-view {
    width: min(100%, 520px); padding: 22px 18px calc(40px + env(safe-area-inset-bottom)); background: transparent;
  }
  body[data-v2-view='streak'] .mv7-streak-mobile-reference { gap: 14px; }
  body[data-v2-view='streak'] .mv7-streak-glass-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
  body[data-v2-view='streak'] .mv7-streak-glass-heading h2 { margin: 0; font-size: clamp(40px, 11vw, 54px); line-height: 1.08; font-weight: 760; letter-spacing: -.06em; }
  body[data-v2-view='streak'] .mv7-streak-glass-heading p { margin: 8px 0 0; color: var(--streakm-muted); font-size: 14px; line-height: 1.25; font-weight: 500; }
  body[data-v2-view='streak'] .mv7-streak-glass-period { display: flex; flex-shrink: 0; margin-top: 3px; border-radius: 30px; padding: 3px; background: rgba(129,144,165,.08); }
  body[data-v2-view='streak'] .mv7-streak-glass-period button { min-height: 34px; padding: 7px 10px; border-radius: 24px; color: var(--streakm-muted); background: transparent; font-size: 11px; font-weight: 550; }
  body[data-v2-view='streak'] .mv7-streak-glass-period button[aria-pressed='true'] { background: var(--streak-glass); color: var(--streakm-text); box-shadow: var(--streak-shadow); }
  body[data-v2-view='streak'] .mv7-streak-glass-hero { display: grid; justify-items: center; margin: -32px 0 3px; pointer-events: none; }
  body[data-v2-view='streak'] .mv7-streak-glass-art { position: relative; width: min(100%, 380px); aspect-ratio: 1; }
  body[data-v2-view='streak'] .mv7-streak-glass-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
  body[data-v2-view='streak'] .mv7-streak-glass-counter { position: absolute; left: 50%; top: 64%; transform: translate(-50%,-50%); display: grid; justify-items: center; width: 32%; color: #081c15; text-align: center; }
  body[data-v2-view='streak'] .mv7-streak-glass-counter strong { font-size: clamp(44px, 14vw, 68px); line-height: 1; font-weight: 760; letter-spacing: -.055em; }
  body[data-v2-view='streak'] .mv7-streak-glass-counter span { max-width: 85px; margin-top: 2px; font-size: 12px; line-height: 1.15; color: #3e6055; }
  body[data-v2-view='streak'] .mv7-streak-glass-status { display: flex; gap: 8px; align-items: center; margin: -2px 0 0; padding: 8px 15px; border: 1px solid var(--streak-edge); border-radius: 30px; background: var(--streak-glass); box-shadow: var(--streak-shadow); font-size: 12px; font-weight: 550; color: var(--streakm-muted); }
  body[data-v2-view='streak'] .mv7-streak-glass-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #95a0af; }
  body[data-v2-view='streak'] .mv7-streak-glass-status.is-active::before { background: #21ac83; }
  body[data-v2-view='streak'] :is(.mv7-streak-glass-activity, .mv7-streak-glass-stats > div, .mv7-streak-glass-detail) { border: 1px solid var(--streak-edge); background: var(--streak-glass); box-shadow: var(--streak-shadow); backdrop-filter: blur(24px) saturate(140%); border-radius: 24px; }
  body[data-v2-view='streak'] .mv7-streak-glass-activity { display: grid; grid-template-columns: repeat(var(--activity-columns,7),minmax(0,1fr)); gap: 4px; padding: 10px 8px; }
  body[data-v2-view='streak'] .mv7-streak-glass-day { display: grid; justify-items: center; gap: 9px; min-width: 0; padding: 4px 0; border-radius: 24px; }
  body[data-v2-view='streak'] .mv7-streak-glass-day > span { font-size: 11px; color: var(--streakm-muted); text-transform: capitalize; }
  body[data-v2-view='streak'] .mv7-streak-glass-day b { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: rgba(132,149,163,.12); color: var(--streakm-muted); font-size: 13px; font-weight: 500; }
  body[data-v2-view='streak'] .mv7-streak-glass-day.is-active b { color: white; background: #1daa82; box-shadow: 0 0 0 6px rgba(73,214,167,.07), inset 0 1px 2px rgba(255,255,255,.5); }
  body[data-v2-view='streak'] .mv7-streak-glass-day.is-current { background: var(--streak-glass); box-shadow: var(--streak-shadow); }
  body[data-v2-view='streak'] .mv7-streak-glass-day.is-current > span { color: var(--streakm-text); }
  body[data-v2-view='streak'] .mv7-streak-glass-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin: 0; }
  body[data-v2-view='streak'] .mv7-streak-glass-stats > div { min-width: 0; padding: 16px; }
  body[data-v2-view='streak'] .mv7-streak-glass-stats svg { display: block; width: 31px; height: 31px; padding: 7px; margin-bottom: 12px; border-radius: 10px; color: #13a374; background: rgba(53,209,158,.13); }
  body[data-v2-view='streak'] .mv7-streak-glass-stats > div + div svg { color: var(--streakm-text); background: rgba(137,155,178,.15); }
  body[data-v2-view='streak'] .mv7-streak-glass-stats dt { margin-bottom: 5px; color: var(--streakm-muted); font-size: 12px; }
  body[data-v2-view='streak'] .mv7-streak-glass-stats dd { margin: 0; color: var(--streakm-text); font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
  body[data-v2-view='streak'] .mv7-streak-glass-stats strong { font-size: 32px; font-weight: 730; letter-spacing: -.045em; }
  body[data-v2-view='streak'] .mv7-streak-glass-detail { display: grid; grid-template-columns: 43px minmax(0,1fr) 15px; gap: 12px; align-items: center; min-height: 74px; padding: 13px 16px; color: var(--streakm-text); text-align: left; }
  body[data-v2-view='streak'] .mv7-streak-glass-detail-icon { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid var(--streak-edge); border-radius: 50%; box-shadow: var(--streak-shadow); }
  body[data-v2-view='streak'] .mv7-streak-glass-detail strong { display: block; font-size: 14px; font-weight: 650; }
  body[data-v2-view='streak'] .mv7-streak-glass-detail small { display: block; margin-top: 5px; font-size: 11px; color: var(--streakm-muted); overflow-wrap: anywhere; }
  body[data-v2-view='streak'] .mv7-streak-glass-detail svg { width: 21px; height: 21px; }
  body[data-v2-view='streak'] .mv7-streak-glass-detail > svg { width: 14px; }
  body[data-v2-view='streak'] .mv7-streak-mobile-reference svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  body[data-v2-view='streak'] #streak-glass-calendar-detail[hidden] { display: none; }
  body[data-v2-view='streak'] #streak-glass-calendar-detail:not([hidden]) { display: grid; gap: 12px; }
  body[data-v2-view='streak'] #sidebar-open.is-profile-back svg { transform: rotate(180deg); }
}
@media (max-width: 370px) {
  body[data-v2-view='streak'] .mv7-streak-glass-period button { padding-inline: 7px; font-size: 10px; }
  body[data-v2-view='streak'] .mv7-streak-glass-heading p { font-size: 12px; }
  body[data-v2-view='streak'] .mv7-streak-glass-hero { margin-top: -20px; }
  body[data-v2-view='streak'] .mv7-streak-glass-stats > div { padding: 13px; }
}

@media (max-width: 768px) {
  :root[data-resolved-theme='light'] body[data-v2-view='streak'] .mv7-workspace {
    background: radial-gradient(ellipse at 60% 36%, rgba(221,233,237,.65), transparent 52%), #edf1f6 !important;
  }
  body[data-v2-view='streak'] #privacy-toggle { display: none !important; }
  body[data-v2-view='streak'] .mv7-topbar-actions { display: flex; flex-wrap: nowrap; gap: 6px; width: auto; padding: 5px; border: 1px solid var(--streak-edge); border-radius: 36px; background: var(--streak-glass); box-shadow: var(--streak-shadow); }
  body[data-v2-view='streak'] .mv7-topbar-actions.has-guest-login :is(.mv7-topbar-streak, #notification-bell, #profile-button) { display: none !important; }
  body[data-v2-view='streak'] .mv7-topbar-streak { display: flex; gap: 5px; align-items: center; padding: 0 8px; background: transparent; color: var(--streakm-text); font-size: 13px; border: 0; }
  body[data-v2-view='streak'] .mv7-topbar-streak > span { width: 23px; height: 27px; }
  body[data-v2-view='streak'] .mv7-topbar-streak svg { width: 23px; height: 27px; }
  body[data-v2-view='streak'] .mv7-topbar-streak small { display: none; }
  body[data-v2-view='streak'] .mv7-topbar-actions #topbar-login-button:not([hidden]) { min-height: 38px; padding: 8px 12px; font-size: 12px; border-radius: 25px; }
  body[data-v2-view='streak'] #streak-glass-activity-caption { margin: -6px 0 0; text-align: center; color: var(--streakm-muted); font-size: 11px; }
}

.mv7-help-mobile-hero,
.mv7-help-mobile-topics,
.mv7-help-mobile-faq-heading,
.mv7-help-mobile-contact {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    [data-settings-panel='faq'] {
    --help-text: #111318;
    --help-muted: #69717f;
    --help-card: rgba(255, 255, 255, 0.74);
    --help-line: rgba(59, 66, 76, 0.1);
    display: grid;
    gap: 18px;
    padding-bottom: 30px;
    color: var(--help-text);
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    .mv7-settings-title {
    margin: 8px 2px 4px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    .mv7-settings-title h3 {
    color: var(--help-text);
    font-size: clamp(34px, 10vw, 46px);
    font-weight: 750;
    letter-spacing: -0.055em;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    .mv7-settings-title p {
    margin-top: 3px;
    color: var(--help-muted);
    font-size: 14px;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero {
    position: relative;
    display: grid;
    min-height: 250px;
    grid-template-columns: minmax(0, 1.15fr) minmax(128px, 0.85fr);
    align-items: center;
    overflow: hidden;
    padding: 22px 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 26px;
    background:
      radial-gradient(circle at 82% 58%, rgba(210, 218, 226, 0.72), transparent 35%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.91), rgba(242, 244, 246, 0.76));
    box-shadow: 0 24px 60px -42px rgba(22, 28, 34, 0.52);
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero > div {
    position: relative;
    z-index: 2;
    align-self: stretch;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero p {
    margin: 0 0 16px;
    color: #38404a;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: 0.27em;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero h4 {
    margin: 0;
    color: #090b0f;
    font-size: clamp(26px, 7.4vw, 32px);
    font-weight: 760;
    letter-spacing: -0.055em;
    line-height: 1.02;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero h4 span {
    color: #96999e;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero small {
    display: block;
    max-width: 27ch;
    margin-top: 17px;
    color: #4f555d;
    font-size: 12px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-hero img {
    position: absolute;
    right: -30px;
    bottom: -8px;
    width: min(52%, 220px);
    max-width: none;
    filter: drop-shadow(0 22px 20px rgba(22, 27, 32, 0.2));
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-faq-search {
    min-height: 56px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 20px;
    background: var(--help-card);
    box-shadow: 0 14px 38px -34px rgba(20, 28, 36, 0.45);
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
  }

  body[data-v2-view='settings'] .mv7-settings-mobile-faq-search input {
    color: var(--help-text);
    font-size: 15px;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics {
    display: grid;
    gap: 10px;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > header,
  body[data-v2-view='settings'] .mv7-help-mobile-faq-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  body[data-v2-view='settings'] :is(.mv7-help-mobile-topics, .mv7-help-mobile-faq-heading) h4 {
    margin: 0;
    color: var(--help-text);
    font-size: 19px;
    font-weight: 740;
    letter-spacing: -0.035em;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > header button {
    border: 0;
    background: transparent;
    color: var(--help-muted);
    font-size: 12px;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > div {
    display: grid;
    grid-auto-columns: 144px;
    grid-auto-flow: column;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    padding: 2px 0 6px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > div::-webkit-scrollbar { display: none; }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button {
    display: grid;
    min-height: 174px;
    grid-template-rows: 42px auto 1fr auto;
    gap: 7px;
    padding: 13px;
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 21px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(241, 245, 249, 0.72));
    color: var(--help-text);
    text-align: left;
    scroll-snap-align: start;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(2) { background: linear-gradient(145deg, #f3f8ff, #eaf3ff); }
  body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(3) { background: linear-gradient(145deg, #f3fff9, #ebf8f2); }
  body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(4) { background: linear-gradient(145deg, #faf7ff, #f0eaff); }

  body[data-v2-view='settings'] .mv7-help-mobile-topics i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: rgba(221, 234, 251, 0.8);
    font-size: 22px;
    font-style: normal;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-topics strong { font-size: 13px; }
  body[data-v2-view='settings'] .mv7-help-mobile-topics small { color: var(--help-muted); font-size: 10.5px; line-height: 1.35; }
  body[data-v2-view='settings'] .mv7-help-mobile-topics span { padding-top: 8px; border-top: 1px solid var(--help-line); color: #4f5965; font-size: 10px; }

  body[data-v2-view='settings'] .mv7-help-mobile-faq-heading { scroll-margin-top: 80px; }
  body[data-v2-view='settings'] .mv7-help-mobile-faq-heading span {
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--help-card);
    color: var(--help-text);
    font-size: 10px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    .mv7-settings-card {
    display: grid;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='settings'] .mv7-faq-accordion { display: grid; gap: 6px; }

  body[data-v2-view='settings'] .mv7-faq-item {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 16px;
    background: var(--help-card);
  }

  body[data-v2-view='settings'] .mv7-faq-question {
    min-height: 54px;
    padding: 0 14px;
    color: var(--help-text);
    font-size: 13px;
  }

  body[data-v2-view='settings'] .mv7-faq-question::before {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(106, 116, 128, 0.09);
    color: #171a1f;
    content: '?';
    font-size: 15px;
    font-weight: 720;
  }

  body[data-v2-view='settings'] .mv7-faq-item:nth-child(1) .mv7-faq-question::before { content: '↗'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(2) .mv7-faq-question::before { content: '◔'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(3) .mv7-faq-question::before { content: '◇'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(4) .mv7-faq-question::before { content: '⌁'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(5) .mv7-faq-question::before { content: '▥'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(6) .mv7-faq-question::before { content: '♙'; }
  body[data-v2-view='settings'] .mv7-faq-item:nth-child(7) .mv7-faq-question::before { content: '↓'; }

  body[data-v2-view='settings'] .mv7-faq-answer > p {
    padding: 0 14px 15px;
    color: var(--help-muted);
    font-size: 11px;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-contact {
    display: grid;
    min-height: 92px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.86);
    border-radius: 22px;
    background: var(--help-card);
  }

  body[data-v2-view='settings'] .mv7-help-mobile-contact > i {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    background: #f4eee5;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-contact svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: #111318;
  }

  body[data-v2-view='settings'] .mv7-help-mobile-contact > span { display: grid; gap: 4px; }
  body[data-v2-view='settings'] .mv7-help-mobile-contact strong { font-size: 12px; }
  body[data-v2-view='settings'] .mv7-help-mobile-contact small { color: var(--help-muted); font-size: 9.5px; }
  body[data-v2-view='settings'] .mv7-help-mobile-contact a {
    padding: 13px 14px;
    border-radius: 999px;
    background: #171c25;
    color: #fff;
    font-size: 10px;
    text-decoration: none;
    white-space: nowrap;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='faq']
    [data-settings-panel='faq'] {
    --help-text: #f5f5f7;
    --help-muted: #9ca3af;
    --help-card: rgba(25, 27, 31, 0.78);
    --help-line: rgba(255, 255, 255, 0.1);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-hero {
    border-color: rgba(255, 255, 255, 0.12);
    background:
      radial-gradient(circle at 82% 58%, rgba(93, 105, 119, 0.3), transparent 38%),
      linear-gradient(135deg, rgba(35, 38, 43, 0.96), rgba(19, 21, 25, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 24px 60px -36px #000;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-hero p {
    color: #b9c1cc;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-hero h4 {
    color: #f7f7f9;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-hero h4 span {
    color: #8d929a;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-hero small {
    color: #b2b8c1;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-settings-mobile-faq-search,
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-faq-item,
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-contact {
    border-color: rgba(255, 255, 255, 0.11);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 40px -34px #000;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-settings-mobile-faq-search input::placeholder {
    color: #777f8b;
    opacity: 1;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button,
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(2),
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(3),
  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(4) {
    border-color: rgba(255, 255, 255, 0.1);
    background: linear-gradient(145deg, rgba(35, 38, 44, 0.96), rgba(22, 24, 29, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(2) {
    background: linear-gradient(145deg, rgba(29, 39, 52, 0.97), rgba(20, 25, 33, 0.92));
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(3) {
    background: linear-gradient(145deg, rgba(25, 45, 38, 0.96), rgba(19, 29, 27, 0.92));
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics > div > button:nth-child(4) {
    background: linear-gradient(145deg, rgba(40, 32, 53, 0.96), rgba(27, 23, 34, 0.92));
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics i {
    background: rgba(122, 172, 235, 0.14);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-topics span {
    color: #aeb5bf;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-faq-question::before {
    background: rgba(255, 255, 255, 0.07);
    color: #e7e9ed;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-contact > i {
    background: rgba(221, 193, 157, 0.12);
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-contact svg {
    stroke: #f3f3f5;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='settings'] .mv7-help-mobile-contact a {
    background: #f2f3f5;
    color: #111318;
  }
}

/* Categorías con datos: composición móvil de tarjetas y resumen. */
@media (max-width: 768px) {
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-settings-title h3 {
    font-size: clamp(32px, 9vw, 38px) !important;
    letter-spacing: -0.05em;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-settings-title p {
    max-width: 31ch;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-toolbar {
    gap: 12px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters {
    display: flex;
    min-height: 48px;
    gap: 6px;
    overflow-x: auto;
    padding: 0 1px 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    scrollbar-width: none;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters::-webkit-scrollbar {
    display: none;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters button {
    min-width: max-content;
    min-height: 44px;
    flex: 0 0 auto;
    padding: 0 12px;
    border: 1px solid var(--settings-line) !important;
    border-radius: 999px;
    background: color-mix(in srgb, var(--settings-surface) 75%, transparent);
    font-size: 12px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters button.is-selected {
    border-color: color-mix(in srgb, var(--settings-text) 32%, transparent) !important;
    background: var(--settings-text);
    color: var(--settings-surface);
    box-shadow: 0 10px 24px -16px rgba(0, 0, 0, 0.55);
  }

  body[data-v2-view='settings'] .mv7-category-smart-card {
    position: relative;
    display: none;
    min-height: 104px;
    align-items: center;
    overflow: hidden;
    padding: 18px 118px 18px 18px;
    border: 1px solid var(--settings-line-strong);
    border-radius: 22px;
    background:
      radial-gradient(circle at 82% 45%, rgba(181, 166, 255, 0.14), transparent 34%),
      color-mix(in srgb, var(--settings-surface) 78%, transparent);
    box-shadow: var(--settings-material-shadow);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }

  body[data-v2-view='settings']
    [data-settings-panel='categories'].has-categories
    .mv7-category-smart-card {
    display: flex;
  }

  body[data-v2-view='settings'] .mv7-category-smart-copy {
    display: grid;
    min-width: 0;
    grid-template-columns: 23px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
  }

  body[data-v2-view='settings'] .mv7-category-smart-copy > svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
  }

  body[data-v2-view='settings'] .mv7-category-smart-copy > span {
    display: grid;
    gap: 5px;
  }

  body[data-v2-view='settings'] .mv7-category-smart-copy strong {
    color: var(--settings-text);
    font-size: 14px;
    font-weight: 720;
  }

  body[data-v2-view='settings'] .mv7-category-smart-copy small {
    color: var(--settings-muted);
    font-size: 11px;
    line-height: 1.45;
  }

  body[data-v2-view='settings'] .mv7-category-smart-card > img {
    position: absolute;
    top: 50%;
    right: 21px;
    width: 94px;
    height: 94px;
    object-fit: contain;
    pointer-events: none;
    transform: translateY(-50%);
  }

  body[data-v2-view='settings'] .mv7-category-smart-arrow {
    position: absolute;
    right: 13px;
    width: 15px;
    height: 15px;
    fill: none;
    stroke: var(--settings-text);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    #category-new {
    position: relative;
    min-height: 56px;
    gap: 12px;
    border-color: rgba(52, 148, 238, 0.18);
    border-radius: 20px;
    background: linear-gradient(110deg, rgba(79, 170, 255, 0.11), rgba(79, 170, 255, 0.035));
    color: #1676c8;
    font-size: 14px;
    font-weight: 720;
  }

  body[data-v2-view='settings'] #category-new > svg:first-child {
    width: 31px;
    height: 31px;
    padding: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.48);
  }

  body[data-v2-view='settings'] #category-new .mv7-category-new-arrow {
    position: absolute;
    right: 17px;
    width: 16px;
    height: 16px;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-workspace {
    gap: 12px;
    margin-top: 2px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-table-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-v2-view='settings'] .mv7-category-list-table {
    display: grid;
    gap: 7px;
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip {
    display: grid;
    min-height: 66px;
    grid-template-columns: 43px minmax(0, 1fr) auto 33px 18px;
    grid-template-rows: auto auto;
    gap: 2px 10px;
    padding: 9px 13px;
    border: 1px solid var(--settings-line);
    border-radius: 19px;
    background: color-mix(in srgb, var(--settings-surface) 82%, transparent);
    box-shadow: 0 10px 26px -24px rgba(24, 35, 29, 0.35);
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip-dot {
    width: 43px;
    height: 43px;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    border-radius: 14px;
  }

  body[data-v2-view='settings'] .mv7-category-chip-dot svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-category-row-name {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    color: var(--settings-text);
    font-size: 13px;
    font-weight: 720;
  }

  body[data-v2-view='settings'] .mv7-category-row-uses {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    color: var(--settings-muted);
    font-size: 10px;
  }

  body[data-v2-view='settings'] .mv7-category-row-type {
    display: flex;
    min-width: 73px;
    min-height: 27px;
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid rgba(241, 82, 87, 0.15);
    border-radius: 999px;
    background: rgba(241, 82, 87, 0.07);
    color: #e84249;
    font-size: 11px;
    font-weight: 670;
  }

  body[data-v2-view='settings'] .mv7-category-row-type::before {
    margin-right: 5px;
    content: '↓';
    font-size: 14px;
  }

  body[data-v2-view='settings'] .mv7-category-row-type.is-income {
    border-color: rgba(10, 162, 106, 0.16);
    background: rgba(10, 162, 106, 0.07);
    color: #0aa26a;
  }

  body[data-v2-view='settings'] .mv7-category-row-type.is-income::before {
    content: '↑';
  }

  body[data-v2-view='settings'] .mv7-category-row-grip {
    width: 31px;
    height: 31px;
    grid-column: 4;
    grid-row: 1 / 3;
    align-self: center;
    padding: 8px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--settings-soft) 78%, transparent);
    color: var(--settings-text);
  }

  body[data-v2-view='settings'] .mv7-category-row-arrow {
    width: 16px;
    height: 16px;
    grid-column: 5;
    grid-row: 1 / 3;
    align-self: center;
    fill: none;
    stroke: var(--settings-muted);
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-category-summary {
    display: none;
    min-height: 74px;
    grid-template-columns: 44px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid var(--settings-line-strong);
    border-radius: 22px;
    background: color-mix(in srgb, var(--settings-surface) 78%, transparent);
    box-shadow: var(--settings-material-shadow);
  }

  body[data-v2-view='settings']
    [data-settings-panel='categories'].has-categories
    .mv7-category-summary {
    display: grid;
  }

  body[data-v2-view='settings'] .mv7-category-summary > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    background: var(--settings-soft);
  }

  body[data-v2-view='settings'] .mv7-category-summary svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  body[data-v2-view='settings'] .mv7-category-summary p {
    display: grid;
    gap: 3px;
  }

  body[data-v2-view='settings'] .mv7-category-summary strong {
    color: var(--settings-text);
    font-size: 13px;
    font-weight: 720;
  }

  body[data-v2-view='settings'] .mv7-category-summary small {
    color: var(--settings-muted);
    font-size: 10px;
  }

  body[data-v2-view='settings'] .mv7-category-summary > svg {
    color: var(--settings-muted);
  }
}

@media (max-width: 390px) {
  body[data-v2-view='settings'] .mv7-category-smart-card {
    padding-right: 103px;
  }

  body[data-v2-view='settings'] .mv7-category-smart-card > img {
    right: 13px;
    width: 82px;
    height: 82px;
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip {
    grid-template-columns: 40px minmax(0, 1fr) auto 28px 14px;
    gap: 2px 7px;
    padding-inline: 10px;
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip-dot {
    width: 40px;
    height: 40px;
  }

  body[data-v2-view='settings'] .mv7-category-row-type {
    min-width: 64px;
    padding-inline: 7px;
  }

  body[data-v2-view='settings'] .mv7-category-row-grip {
    width: 28px;
    height: 28px;
    padding: 7px;
  }
}

/* Categorías: tipo como punto y alta compacta junto a los filtros. */
@media (max-width: 768px) {
  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters {
    align-items: center;
    gap: 4px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    button[data-category-filter] {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding-inline: 6px;
    font-size: 10.5px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    button[data-category-filter]::after {
    display: grid;
    min-width: 18px;
    height: 18px;
    flex: 0 0 18px;
    place-items: center;
    padding-inline: 4px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--settings-text) 7%, transparent);
    color: var(--settings-muted);
    content: attr(data-count);
    font-size: 9px;
    font-weight: 700;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    button[data-category-filter].is-selected::after {
    background: color-mix(in srgb, var(--settings-surface) 22%, transparent);
    color: inherit;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    .mv7-category-inline-new {
    display: grid;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex: 0 0 38px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--settings-line-strong) !important;
    border-radius: 50%;
    background: color-mix(in srgb, #0a84ff 8%, var(--settings-surface));
    color: #0a84ff;
    box-shadow: var(--settings-material-shadow);
  }

  body[data-v2-view='settings'] .mv7-category-inline-new svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    #category-new {
    display: none;
  }

  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip {
    grid-template-columns: 43px 9px minmax(0, 1fr) 18px;
  }

  body[data-v2-view='settings'] .mv7-category-row-name {
    grid-column: 3;
  }

  body[data-v2-view='settings'] .mv7-category-row-uses {
    grid-column: 3;
  }

  body[data-v2-view='settings'] .mv7-category-row-type,
  body[data-v2-view='settings'] .mv7-category-row-type.is-income {
    display: block;
    width: 9px;
    min-width: 9px;
    height: 9px;
    min-height: 9px;
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ff4d57;
    color: transparent;
    font-size: 0;
    box-shadow: 0 0 10px rgba(255, 77, 87, 0.2);
  }

  body[data-v2-view='settings'] .mv7-category-row-type.is-income {
    background: #12b981;
    box-shadow: 0 0 10px rgba(18, 185, 129, 0.2);
  }

  body[data-v2-view='settings'] .mv7-category-row-type::before,
  body[data-v2-view='settings'] .mv7-category-row-type.is-income::before {
    margin: 0;
    content: '';
  }

  body[data-v2-view='settings'] .mv7-category-row-arrow {
    grid-column: 4;
  }

  :root[data-resolved-theme='dark']
    body[data-v2-view='settings']
    .mv7-category-list-table
    .mv7-category-chip-dot {
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      0 4px 10px color-mix(in srgb, var(--chip-color) 14%, transparent);
  }
}

@media (max-width: 390px) {
  body[data-v2-view='settings'] .mv7-category-list-table .mv7-category-chip {
    grid-template-columns: 40px 8px minmax(0, 1fr) 14px;
  }

  body[data-v2-view='settings']
    #settings-view[data-mobile-settings-detail='categories']
    .mv7-category-filters
    .mv7-category-inline-new {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex-basis: 38px;
  }
}

/* AssistiveTouch: recursos 3D neutros por tema. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-assistive-touch-orb {
    position: relative;
    overflow: visible;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-orb::before,
  body[data-v2-view='overview'] .mv7-assistive-touch-orb::after,
  body[data-v2-view='overview'] .mv7-assistive-touch-core {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-art {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 62px;
    height: 62px;
    max-width: none;
    object-fit: contain;
    pointer-events: none;
    transform: translate(-50%, -50%);
    user-select: none;
    -webkit-user-drag: none;
  }

  body[data-v2-view='overview'] .mv7-assistive-touch-art-dark {
    display: none;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-art-light {
    display: none;
  }

  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-assistive-touch-art-dark {
    display: block;
  }
}

@media (max-width: 390px) {
  body[data-v2-view='settings'] .mv7-help-mobile-hero { min-height: 230px; grid-template-columns: 1fr 116px; }
  body[data-v2-view='settings'] .mv7-help-mobile-hero img { right: -38px; width: 57%; }
  body[data-v2-view='settings'] .mv7-help-mobile-contact { grid-template-columns: 42px minmax(0, 1fr); }
  body[data-v2-view='settings'] .mv7-help-mobile-contact > i { width: 42px; height: 42px; }
  body[data-v2-view='settings'] .mv7-help-mobile-contact a { grid-column: 1 / -1; text-align: center; }
}

/* Inicio sin sesión: controles sueltos, sin una cápsula alrededor del topbar. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar:has(.mv7-topbar-actions.has-guest-login),
  :root[data-resolved-theme='dark'] body[data-v2-view='overview'] .mv7-topbar:has(.mv7-topbar-actions.has-guest-login) {
    top: 0;
    width: 100%;
    min-height: calc(66px + env(safe-area-inset-top));
    margin: 0 0 8px;
    padding: max(8px, env(safe-area-inset-top)) 16px 6px;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* El AssistiveTouch pertenece a la navegación táctil; no ocupa espacio en escritorio. */
@media (min-width: 769px) {
  #mobile-assistive-touch,
  #mobile-assistive-menu {
    display: none !important;
  }
}

/* Cierre de sesión: confirmación breve, sobria y no bloqueante. */
.mv7-signout-confirmation {
  position: fixed;
  z-index: 10020;
  top: 50%;
  left: 50%;
  display: grid;
  min-width: 150px;
  justify-items: center;
  gap: 10px;
  padding: 20px 24px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background: rgba(24, 24, 27, 0.78);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.1);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -47%) scale(0.9);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  transition: opacity 180ms ease, transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mv7-signout-confirmation.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.mv7-signout-confirmation span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: rgba(45, 222, 152, 0.17);
  color: #2dde98;
}

.mv7-signout-confirmation svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.mv7-signout-confirmation strong {
  font-size: 14px;
  font-weight: 650;
  letter-spacing: -0.01em;
}

body.is-signing-out .mv7-workspace {
  filter: blur(2px);
  opacity: 0.82;
  transform: scale(0.994);
  transition: filter 220ms ease, opacity 220ms ease, transform 340ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.is-signing-out :is(#profile-button, .mv7-topbar-actions, .mv7-mobile-drawer-user) {
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 180ms ease, transform 260ms cubic-bezier(0.32, 0, 0.67, 0);
}

@media (prefers-reduced-motion: reduce) {
  .mv7-signout-confirmation,
  body.is-signing-out .mv7-workspace,
  body.is-signing-out :is(#profile-button, .mv7-topbar-actions, .mv7-mobile-drawer-user) {
    transition-duration: 1ms !important;
    transform: none;
    filter: none;
  }
}

/* Perfil móvil: vista pública y editor como estados separados. */
@media (max-width: 768px) {
  #profile-view .mv7-profile-preview-toggle { display: none !important; }
  #profile-view .mv7-profile-editor-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    justify-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 10px 10px 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
  }
  #profile-view .mv7-profile-editor-hero > * { grid-column: 1 !important; }
  #profile-view .mv7-profile-avatar-wrap { grid-row: 1; }
  #profile-view .mv7-profile-hero-copy { grid-row: 2; }
  #profile-view .mv7-profile-photo-button { grid-row: 3; }
  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar { width: 150px; height: 150px; }
  #profile-view .mv7-profile-editor-avatar { border: 5px solid rgba(255,255,255,.86); box-shadow: 0 18px 46px -30px rgba(20,35,58,.5); }
  #profile-view .mv7-profile-avatar-camera { right: -3px; bottom: 5px; width: 46px; height: 46px; background: color-mix(in srgb, var(--v2-surface) 94%, transparent); }
  #profile-view .mv7-profile-hero-copy { justify-items: center; gap: 4px; text-align: center; }
  #profile-view .mv7-profile-hero-copy > strong { font-size: clamp(29px, 9vw, 37px); font-weight: 760; }
  #profile-view .mv7-profile-hero-copy > span { font-size: 16px; }
  #profile-view .mv7-profile-social-line { gap: 24px; margin-top: 12px; font-size: 12px; }
  #profile-view .mv7-profile-social-line span { display: grid; min-width: 72px; gap: 2px; text-align: center; }
  #profile-view .mv7-profile-social-line strong { font-size: 17px; }
  #profile-view .mv7-profile-social-line i { width: 1px; height: 30px; border-radius: 0; }
  #profile-view .mv7-profile-photo-button {
    display: inline-flex;
    width: auto;
    min-width: 168px;
    min-height: 40px;
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: -1px;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
  }
  #profile-view .mv7-profile-photo-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; }
  #profile-view .mv7-profile-mobile-hero-arrow { display: none; }

  #profile-view .mv7-profile-public-summary {
    overflow: hidden;
    margin: 0 0 14px;
    padding: 0 16px;
    border: 1px solid color-mix(in srgb, var(--v2-text) 8%, transparent);
    border-radius: 23px;
    background: color-mix(in srgb, var(--v2-surface) 80%, transparent);
    box-shadow: 0 18px 46px -38px rgba(20,35,58,.5);
  }
  #profile-view .mv7-profile-public-summary button {
    display: grid;
    width: 100%;
    min-height: 76px;
    grid-template-columns: 30px minmax(0,1fr) 18px;
    align-items: center;
    gap: 12px;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--v2-text) 8%, transparent);
    background: transparent;
    color: var(--v2-text);
    text-align: left;
  }
  #profile-view .mv7-profile-public-summary button:first-child { grid-template-columns: minmax(0,1fr) 18px; }
  #profile-view .mv7-profile-public-summary button:last-child { border-bottom: 0; }
  #profile-view .mv7-profile-public-summary button > span { display: grid; min-width: 0; gap: 7px; }
  #profile-view .mv7-profile-public-summary strong { font-size: 13px; }
  #profile-view .mv7-profile-public-summary small,
  #profile-view #profile-public-url { overflow: hidden; color: var(--v2-muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  #profile-view .mv7-profile-public-summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; }

  #profile-view .mv7-profile-public-tabs {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px;
    margin: 0 0 14px;
    padding: 4px;
    border: 1px solid color-mix(in srgb, var(--v2-text) 9%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--v2-surface) 65%, transparent);
  }
  #profile-view .mv7-profile-public-tabs button { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 999px; background: transparent; color: var(--v2-muted); font-weight: 650; }
  #profile-view .mv7-profile-public-tabs button.is-active { background: color-mix(in srgb, var(--v2-surface) 94%, transparent); color: var(--v2-text); box-shadow: 0 8px 22px -18px rgba(0,0,0,.65); }
  #profile-view .mv7-profile-public-tabs svg { width: 18px; height: 18px; fill: none; stroke: currentColor; }
  #profile-view .mv7-profile-public-panel { display: grid; min-height: 180px; place-items: center; align-content: center; gap: 8px; padding: 28px; border: 1px solid color-mix(in srgb, var(--v2-text) 8%, transparent); border-radius: 23px; background: color-mix(in srgb, var(--v2-surface) 70%, transparent); text-align: center; }
  #profile-view .mv7-profile-public-panel[hidden] { display: none; }
  #profile-view .mv7-profile-public-panel > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--v2-text) 6%, transparent); }
  #profile-view .mv7-profile-public-panel svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
  #profile-view .mv7-profile-public-panel small { max-width: 260px; color: var(--v2-muted); line-height: 1.45; }

  #profile-view:not(.is-editor-open) :is(.mv7-profile-mobile-section-title,.mv7-profile-fields,.mv7-profile-mobile-more,.mv7-profile-editor-actions) { display: none !important; }
  #profile-view.is-editor-open :is(.mv7-profile-public-summary,.mv7-profile-public-tabs,.mv7-profile-public-panel) { display: none !important; }
  #profile-view.is-editor-open .mv7-profile-mobile-section-title { display: block; }
  #profile-view.is-editor-open .mv7-profile-fields { display: block; }
  #profile-view.is-editor-open .mv7-profile-mobile-more { display: block; }
  #profile-view.is-editor-open .mv7-profile-editor-actions { display: grid; }
}

@media (max-width: 390px) {
  #profile-view .mv7-profile-avatar-wrap,
  #profile-view .mv7-profile-editor-avatar { width: 138px; height: 138px; }
}
