/* =========================================================
   ME 4.2.6 — RESPONSIVE SYSTEM
   Capa final de adaptación para móvil, tablet, laptop y PC.
   Se carga al final para neutralizar anchos rígidos heredados.
   ========================================================= */

:root{
  --me-r-gutter: clamp(10px,2vw,28px);
  --me-r-content: 1180px;
  --me-r-wide: 1380px;
  --me-r-control: 44px;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
*,*::before,*::after{box-sizing:border-box;}
:is(main,section,article,aside,header,footer,nav,form,fieldset,div,ul,ol,li){min-width:0;}
:is(img,video,canvas,picture,svg){max-width:100%;}
img,video{height:auto;}
canvas{height:auto!important;}
:is(h1,h2,h3,h4,h5,h6,p,small,strong,span,label,a,button,td,th){overflow-wrap:anywhere;}
:is(input,select,textarea,button,.button){min-width:0;max-width:100%;}
:is(input,select,textarea){width:100%;}
pre,code{max-width:100%;overflow-x:auto;}

/* El contenido nunca debe heredar anchos rígidos de versiones previas. */
body.has-me-shell[data-page] > main,
body.has-me-shell[data-page] > main[class],
body.has-me-shell[data-page] > main:not([class]),
body > main[class]{
  width:min(var(--me-r-content),calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
  max-width:var(--me-r-content)!important;
  margin-inline:auto!important;
}

body.has-me-shell > .me-appbar{
  width:min(var(--me-r-content),calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
  max-width:var(--me-r-content)!important;
}

/* Las pantallas que necesitan más espacio lo obtienen solo cuando existe. */
body[data-page="agenda.html"] > main.agenda-page{
  width:min(var(--me-r-wide),calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
  max-width:var(--me-r-wide)!important;
}
body.has-me-shell[data-nav-group="tasks"] > main.task-workspace-page,
body.has-me-shell[data-page="yo.html"] > main.me-profile-page,
body.has-me-shell > main:is(.habits-page,.moto-page,.settings-page,.diary-page,.weekly-page),
body.has-me-shell[data-page="tarjeta.html"] > main.credit-detail-page{
  width:min(var(--me-r-content),calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
  max-width:var(--me-r-content)!important;
}
body.has-me-shell[data-page="tarjeta.html"] > main.credit-detail-page{
  max-width:760px!important;
}

/* Encabezados y acciones: pueden envolver sin salirse. */
:is(.page-header,.me-section-header,.money-header,.settings-header,.compact-page-header,
    .dashboard-section-header,.money-section-heading,.section-heading,.focus-history-header,
    .task-workspace-header,.agenda-day-header,.accounts-header,.goals-header,.moto-header,
    .weekly-header,.habits-header,.wellbeing-header){
  min-width:0!important;
  max-width:100%!important;
}
:is(.page-header-actions,.task-header-actions,.agenda-header-actions,.money-header-actions,
    .me-section-actions,.dashboard-section-header>div:last-child,.modal-actions,
    .settings-panel-actions,.goal-actions,.task-actions,.commitment-actions,
    .habit-card-actions,.routine-actions,.moto-record-actions,.credit-payment-actions){
  min-width:0;
  max-width:100%;
  flex-wrap:wrap;
}

/* Grids heredados: los hijos pueden encogerse de verdad. */
:is(.form-grid,.filter-grid,.task-summary,.money-summary,.money-summary-grid,.settings-grid,
    .settings-columns,.planner-layout,.focus-layout,.moto-layout,.weekly-layout,.diary-layout,
    .habits-layout,.accounts-summary-v29,.money-commitment-summary-v29,.goals-summary-v29,
    .appearance-preview-grid,.home-now-context-grid,.home-now-links,.home-plan-preview-grid,
    .tasks-v401-context-grid,.focus-v401-stats,.agenda-v401-suggestion-grid,
    .credit-v408-info,.credit-advance-preview,.category-editor-grid,.category-group-list){
  max-width:100%!important;
}
:is(.form-grid,.filter-grid,.task-summary,.money-summary,.money-summary-grid,.settings-grid,
    .settings-columns,.planner-layout,.focus-layout,.moto-layout,.weekly-layout,.diary-layout,
    .habits-layout,.accounts-summary-v29,.money-commitment-summary-v29,.goals-summary-v29,
    .appearance-preview-grid,.home-now-context-grid,.home-now-links,.home-plan-preview-grid,
    .tasks-v401-context-grid,.focus-v401-stats,.agenda-v401-suggestion-grid,
    .credit-v408-info,.credit-advance-preview,.category-editor-grid,.category-group-list) > *{
  min-width:0!important;
}

/* Tablas y superficies anchas deben desplazarse internamente, nunca mover toda la página. */
:is(.agenda-week-scroll,.agenda-expanded-scroll,.table-scroll,.table-wrapper,.settings-table-wrap,
    .money-table-wrap,.weekly-table-wrap,.data-table-wrap){
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
table{
  max-width:100%;
  border-collapse:collapse;
}

/* Agenda conserva la vista semanal completa, pero el overflow vive dentro de sus scrollers. */
body[data-page="agenda.html"] :is(.agenda-week-scroll,.agenda-expanded-scroll){
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-gutter:stable both-edges;
}
body[data-page="agenda.html"] :is(.agenda-week-grid,.agenda-snapshot-grid,.agenda-timetable-grid,.agenda-timetable-grid-expanded){
  max-width:none!important;
}
body[data-page="agenda.html"] .agenda-week-view[data-week-layout="columnas"] .agenda-week-grid{
  max-width:none!important;
}

/* Filas de contenido: nunca empujan la página por textos largos. */
:is(.money-ledger-copy,.money-ledger-row>*,.credit-v408-movement>*,.credit-v408-installment>*,
    .account-credit-main>*,.account-manage-row-v29>*,.task-card-header>*,.today-timeline-content,
    .agenda-block-card>*,.agenda-block-card-compact>*,.home-now-option>*,.home-now-signal-card>*,
    .me-profile-links-grid>*,.settings-menu-list>*){min-width:0!important;}
:is(.money-ledger-copy strong,.money-ledger-copy span,.credit-v408-movement strong,
    .credit-v408-movement span,.credit-v408-installment strong,.credit-v408-installment span,
    .account-credit-main strong,.account-credit-main small,.task-card-header h3,
    .task-card-header p,.agenda-block-card strong,.agenda-block-card p,.agenda-block-card span){
  overflow-wrap:anywhere!important;
}

/* Modales: centrados en pantallas amplias, seguros con teclado y viewport dinámico. */
.modal-backdrop{
  width:100vw!important;
  max-width:100vw!important;
  min-height:100dvh!important;
  padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))!important;
  overflow:auto!important;
}
.modal-card,
.me-sheet-panel,
.smart-select-panel,
.settings-panel-card{
  max-width:min(760px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
  overscroll-behavior:contain;
}
.modal-header{
  position:relative;
  min-width:0;
}
.modal-header>div{min-width:0;}
.modal-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  margin-inline:-2px;
  padding-bottom:max(2px,env(safe-area-inset-bottom,0px));
  background:linear-gradient(to bottom,transparent 0,var(--surface) 18px,var(--surface) 100%);
}

/* Controles táctiles: tamaño mínimo consistente sin inflar el diseño de escritorio. */
:is(button,.button,.me-icon-button,.modal-close,.me-nav-create,.smart-select-trigger){
  min-height:var(--me-r-control);
}

/* =============================
   TABLET + LAPTOP COMPACTA
   701 — 1179 px: navegación inferior y layout intermedio.
   ============================= */
@media (min-width:701px) and (max-width:1179px){
  :root{--me-r-gutter:clamp(16px,2.5vw,28px);}
  body.has-me-shell{padding-left:0!important;}

  body.has-me-shell[data-page] > main,
  body.has-me-shell[data-page] > main[class],
  body.has-me-shell[data-page] > main:not([class]),
  body > main[class]{
    width:calc(100% - var(--me-r-gutter) - var(--me-r-gutter))!important;
    max-width:1080px!important;
    padding-bottom:var(--me-shell-bottom-reserve,112px)!important;
  }
  body[data-page="agenda.html"] > main.agenda-page{
    width:calc(100% - var(--me-r-gutter) - var(--me-r-gutter))!important;
    max-width:1120px!important;
  }
  body.has-me-shell[data-nav-group="tasks"] > main.task-workspace-page,
  body.has-me-shell[data-page="yo.html"] > main.me-profile-page,
  body.has-me-shell > main:is(.habits-page,.moto-page,.settings-page,.diary-page,.weekly-page){
    width:calc(100% - var(--me-r-gutter) - var(--me-r-gutter))!important;
    max-width:1080px!important;
  }
  body.has-me-shell[data-page="tarjeta.html"] > main.credit-detail-page{
    width:min(760px,calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
    max-width:760px!important;
  }

  body.has-me-shell > .me-appbar{
    width:calc(100% - var(--me-r-gutter) - var(--me-r-gutter))!important;
    max-width:1080px!important;
  }

  /* Resetea el rail heredado de 1024px: tablet y laptop compacta mantienen bottom nav. */
  .bottom-nav.me-primary-nav,
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode="mobile"],
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode="desktop"]{
    position:fixed!important;
    z-index:1200!important;
    top:auto!important;
    right:50%!important;
    bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
    left:auto!important;
    width:min(620px,calc(100% - 24px))!important;
    max-width:620px!important;
    min-height:70px!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:4px!important;
    padding:6px!important;
    border-radius:23px!important;
    transform:translateX(50%)!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] > :is(a,button){
    width:100%!important;
    min-height:56px!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    margin:0!important;
    padding:5px 4px!important;
    border-radius:16px!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] .me-nav-label{
    display:block!important;
    font-size:9px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  :is(.task-summary,.money-summary,.focus-v401-stats,.money-commitment-summary-v29){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  :is(.settings-grid,.settings-columns,.planner-layout,.moto-layout,.weekly-layout,.diary-layout,.habits-layout){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .focus-layout{grid-template-columns:minmax(0,1fr)!important;}
  .tasks-v401-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}

  body[data-page="dinero.html"] .money-reference-summary-v237,
  body[data-page="dinero.html"] .money-chart-body{
    grid-template-columns:1fr!important;
  }
  body[data-page="tarjeta.html"] .credit-payment-actions{
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;
  }

  body[data-page="agenda.html"] .agenda-week-view[data-week-layout="columnas"] .agenda-week-grid{
    width:max-content!important;
    min-width:max-content!important;
    grid-template-columns:repeat(7,minmax(170px,36vw))!important;
  }
  body[data-page="agenda.html"] .agenda-snapshot-grid{
    width:max-content!important;
    min-width:860px!important;
  }
}

/* =============================
   ESCRITORIO / PC
   Rail solo cuando hay espacio horizontal real.
   ============================= */
@media (min-width:1180px){
  body.has-me-shell{padding-left:96px!important;}
  body.has-me-shell[data-page] > main,
  body.has-me-shell[data-page] > main[class],
  body.has-me-shell[data-page] > main:not([class]){
    width:min(var(--me-r-content),calc(100% - 56px))!important;
    max-width:var(--me-r-content)!important;
    padding-bottom:52px!important;
  }
  body[data-page="agenda.html"] > main.agenda-page{
    width:min(var(--me-r-wide),calc(100% - 48px))!important;
    max-width:var(--me-r-wide)!important;
  }
  body.has-me-shell > .me-appbar{
    width:min(var(--me-r-content),calc(100% - 56px))!important;
    max-width:var(--me-r-content)!important;
  }
  body[data-page="agenda.html"] > .me-appbar{
    width:min(var(--me-r-wide),calc(100% - 48px))!important;
    max-width:var(--me-r-wide)!important;
  }

  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode="desktop"]{
    position:fixed!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    left:12px!important;
    width:76px!important;
    max-width:76px!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:minmax(58px,auto)!important;
    gap:5px!important;
    padding:7px!important;
    transform:translateY(-50%)!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode="desktop"] > :is(a,button){
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
  }

  .settings-panel-card[data-settings-panel],
  .modal-backdrop[data-panel-kind="side"] .modal-card{
    max-width:min(760px,54vw)!important;
  }

  body[data-page="agenda.html"] .agenda-week-view[data-week-layout="columnas"] .agenda-week-grid{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  body[data-page="agenda.html"] .agenda-snapshot-grid,
  body[data-page="agenda.html"] .agenda-timetable-grid-expanded{
    width:100%!important;
    min-width:0!important;
  }
}

/* Escritorio ancho: mejor aprovechamiento sin estirar el texto a lo absurdo. */
@media (min-width:1440px){
  :root{--me-r-content:1240px;--me-r-wide:1480px;}
  body[data-page="agenda.html"] > main.agenda-page{
    max-width:1440px!important;
  }
}

/* =============================
   MÓVIL
   ============================= */
@media (max-width:700px){
  :root{
    --me-r-gutter:10px;
    --me-r-control:44px;
  }
  body.has-me-shell{padding-left:0!important;}
  body.has-me-shell[data-page] > main,
  body.has-me-shell[data-page] > main[class],
  body.has-me-shell[data-page] > main:not([class]),
  body > main[class],
  body[data-page="agenda.html"] > main.agenda-page,
  body.has-me-shell[data-nav-group="tasks"] > main.task-workspace-page,
  body.has-me-shell[data-page="yo.html"] > main.me-profile-page,
  body.has-me-shell > main:is(.habits-page,.moto-page,.settings-page,.diary-page,.weekly-page),
  body.has-me-shell[data-page="tarjeta.html"] > main.credit-detail-page{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-bottom:var(--me-shell-bottom-reserve,108px)!important;
  }
  body.has-me-shell > .me-appbar{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }

  :is(input,select,textarea){font-size:16px!important;}
  select{padding-right:36px!important;}

  :is(.page-header,.me-section-header,.money-header,.settings-header,.compact-page-header,
      .task-workspace-header,.accounts-header){
    width:100%!important;
    max-width:100%!important;
  }
  :is(.page-header-actions,.task-header-actions,.agenda-header-actions,.money-header-actions,
      .me-section-actions,.settings-header-actions){
    width:100%;
    display:flex;
    gap:8px;
  }
  :is(.page-header-actions,.task-header-actions,.agenda-header-actions,.money-header-actions,
      .me-section-actions,.settings-header-actions) > :is(button,.button,a){
    flex:1 1 140px;
    min-width:0!important;
  }

  .form-grid,
  .filter-grid,
  .settings-grid,
  .settings-columns,
  .planner-layout,.focus-layout,.moto-layout,.weekly-layout,.diary-layout,.habits-layout,
  .category-editor-grid,.category-group-list,
  .agenda-v401-suggestion-grid{
    grid-template-columns:1fr!important;
  }
  :is(.task-summary,.money-summary,.accounts-summary-v29,.money-commitment-summary-v29,
      .goals-summary-v29,.appearance-preview-grid,.focus-v401-stats){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .tasks-v401-context-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .dashboard-card,.form-section,.settings-redesign-group,.money-movement-hub-card,
  .money-reference-summary,.focus-selection,.focus-timer-section,.agenda-day-panel{
    max-width:100%!important;
  }

  .modal-backdrop{
    padding:max(6px,env(safe-area-inset-top,0px)) 6px max(0px,env(safe-area-inset-bottom,0px))!important;
    place-items:end center!important;
  }
  .modal-card,
  .me-sheet-panel,
  .smart-select-panel,
  .settings-panel-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top,0px)))!important;
    border-radius:24px 24px 10px 10px!important;
    overflow:auto!important;
  }
  .modal-card{padding:clamp(16px,4vw,20px)!important;}
  .modal-header{gap:12px!important;}
  .modal-close{flex:0 0 44px;width:44px!important;height:44px!important;}
  .modal-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .modal-actions > :is(button,.button,a){
    width:100%!important;
    min-width:0!important;
  }

  /* Movimiento/filas: el importe queda visible y el texto es elástico. */
  body[data-page="dinero.html"] .money-ledger-row{
    grid-template-columns:36px minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  body[data-page="dinero.html"] .money-ledger-amount{
    max-width:34vw!important;
    text-align:right!important;
  }
  body[data-page="dinero.html"] .money-reference-search{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body[data-page="dinero.html"] #panelDineroCuentas .account-filters{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body[data-page="dinero.html"] .money-reference-summary-v237,
  body[data-page="dinero.html"] .money-chart-body{
    grid-template-columns:1fr!important;
  }

  body[data-page="cuentas.html"] :is(.account-v408-credit,button.account-manage-row-v29){
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body[data-page="cuentas.html"] .account-credit-main{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }

  body[data-page="tarjeta.html"] .credit-v408-card{
    width:100%!important;
    max-width:100%!important;
  }
  body[data-page="tarjeta.html"] .credit-v408-info{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body[data-page="tarjeta.html"] .credit-payment-actions{
    grid-template-columns:1fr!important;
  }
  body[data-page="tarjeta.html"] .credit-v408-movement,
  body[data-page="tarjeta.html"] .credit-v408-installment{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  /* Agenda: la semana se desliza dentro del card, la vista diaria siempre ocupa 100%. */
  body[data-page="agenda.html"] .agenda-week-view[data-week-layout="columnas"] .agenda-week-grid{
    width:max-content!important;
    min-width:max-content!important;
    grid-template-columns:repeat(7,minmax(160px,72vw))!important;
  }
  body[data-page="agenda.html"] .agenda-snapshot-grid,
  body[data-page="agenda.html"] .agenda-timetable-grid-expanded{
    width:max-content!important;
    min-width:820px!important;
  }
  body[data-page="agenda.html"] .agenda-toolbar{
    width:100%!important;
    max-width:100%!important;
  }

  .home-now-main-head,.home-now-option,.home-now-signal-card{
    max-width:100%!important;
  }
  .home-now-context-grid{grid-template-columns:1fr!important;}
  .home-now-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  /* La navegación nunca supera el viewport ni la safe-area. */
  .bottom-nav.me-primary-nav,
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode]{
    left:auto!important;
    right:50%!important;
    top:auto!important;
    bottom:max(7px,env(safe-area-inset-bottom,0px))!important;
    width:calc(100% - 12px)!important;
    max-width:560px!important;
    min-height:66px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    padding:5px!important;
    gap:2px!important;
    transform:translateX(50%)!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] > :is(a,button){
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    height:auto!important;
    margin:0!important;
    padding:4px 2px!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] .me-nav-label{
    display:block!important;
    width:100%!important;
    font-size:9px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
}

/* Móviles estrechos */
@media (max-width:380px){
  :root{--me-r-gutter:8px;}
  body.has-me-shell[data-page] > main,
  body.has-me-shell[data-page] > main[class],
  body > main[class],
  body[data-page="agenda.html"] > main.agenda-page,
  body.has-me-shell[data-nav-group="tasks"] > main.task-workspace-page,
  body.has-me-shell[data-page="yo.html"] > main.me-profile-page,
  body.has-me-shell > main:is(.habits-page,.moto-page,.settings-page,.diary-page,.weekly-page),
  body.has-me-shell[data-page="tarjeta.html"] > main.credit-detail-page,
  body.has-me-shell > .me-appbar{
    width:calc(100% - 16px)!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] .me-nav-label{
    font-size:8px!important;
  }
  .tasks-v401-context-grid{grid-template-columns:1fr!important;}
  .home-now-links{grid-template-columns:1fr!important;}
  body[data-page="tarjeta.html"] .credit-v408-info{grid-template-columns:1fr!important;}
  body[data-page="tarjeta.html"] .credit-v408-info > *{
    border-left:0!important;
    border-top:1px solid var(--border)!important;
  }
  body[data-page="tarjeta.html"] .credit-v408-info > *:first-child{border-top:0!important;}
  .modal-actions{grid-template-columns:1fr!important;}
}

/* Landscape bajo: recupera altura útil sin cambiar navegación/estructura. */
@media (max-width:1179px) and (max-height:560px) and (orientation:landscape){
  body.has-me-shell > .me-appbar{
    min-height:48px!important;
    margin-top:4px!important;
    padding-block:4px!important;
  }
  .me-brand{width:36px!important;height:36px!important;}
  .me-brand img{width:28px!important;height:28px!important;}
  .bottom-nav.me-primary-nav,
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode]{
    min-height:56px!important;
    bottom:4px!important;
    padding:3px!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] > :is(a,button){
    min-height:48px!important;
    gap:1px!important;
  }
  .bottom-nav.me-primary-nav.me-primary-nav-v21.me-primary-nav-reference[data-nav-mode] .me-nav-label{
    font-size:8px!important;
  }
  .modal-card,.me-sheet-panel,.smart-select-panel,.settings-panel-card{
    max-height:calc(100dvh - 6px)!important;
  }
}

/* Preferencias de movimiento y contraste del sistema. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Componentes heredados que antes dependían de anchos fijos. */
@media (min-width:701px) and (max-width:1179px){
  .account-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .account-row > .button-remove{align-self:end;}
  :is(.moto-record-card,.goal-history-item,.weekly-day-card,.category-group-card){max-width:100%!important;}
}
@media (max-width:700px){
  .account-row{grid-template-columns:1fr!important;}
  .account-row > .button-remove{width:100%!important;}
  :is(.moto-record-card,.goal-history-item,.weekly-day-card,.category-group-card){
    grid-template-columns:auto minmax(0,1fr)!important;
    max-width:100%!important;
  }
  :is(.moto-record-card,.goal-history-item,.weekly-day-card,.category-group-card) > :is(.moto-record-actions,.goal-history-actions,.habit-card-actions,.category-actions,.button){
    grid-column:1 / -1!important;
    width:100%;
  }
  :is(.button,.task-action,.commitment-actions button,.goal-actions button,.modal-actions button){
    white-space:normal!important;
  }
  :is(.moto-subnav,.agenda-day-tabs,.money-v408-tabs,.credit-v408-tabs,.me-segmented){
    max-width:100%!important;
  }
}

/* Al aparecer el teclado móvil, la barra inferior deja espacio al formulario. */
body.me-keyboard-open{--me-shell-bottom-reserve:24px!important;}
body.me-keyboard-open .bottom-nav.me-primary-nav{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(50%) translateY(120%)!important;
}

/* Neutraliza anchos internos rígidos acumulados por módulo. */
body[data-page="app.html"] :is(.today-layout,.home-day-core,.me-day-intelligence,.today-header,.today-timeline),
body[data-page="dinero.html"] :is(.money-period-card,.money-tab-panel,.money-wallet-overview,.money-context-card,.money-tabs,#panelDineroMovimientosHub,#panelDineroCuentas,#panelDineroCompromisos),
body[data-page="tareas.html"] :is(.task-list,.filter-panel,.task-day-next),
body[data-page="enfoque.html"] :is(.focus-layout,.focus-history-card),
body[data-page="agenda.html"] :is(.agenda-day-view,.agenda-week-view,.agenda-timetable-view,.important-dates-card),
body[data-page="ajustes.html"] .settings-hub,
body[data-page="yo.html"] :is(.me-headspace-card,.me-memory-privacy,.me-profile-tabs),
body[data-page="setup.html"] :is(.setup-container,.setup-header),
body[data-page="papelera.html"] .trash-page{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body[data-page="dinero.html"] .money-donut-chart{
  max-width:100%!important;
}
:is(.agenda-modal-card,.important-date-modal,.task-reschedule-modal,.focus-result-modal,.money-modal,.me-sheet-panel){
  max-width:min(920px,calc(100vw - 24px))!important;
}

/* Navegación contextual y paneles de Ajustes: especificidad alta para ganar a capas 3.x. */
body.has-me-shell[data-nav-group="tasks"] > .me-context-nav,
body[data-nav-group="tasks"] > .me-context-nav{
  width:min(720px,calc(100% - var(--me-r-gutter) - var(--me-r-gutter)))!important;
  max-width:720px!important;
  min-width:0!important;
}
body[data-page="ajustes.html"] .modal-backdrop.settings-panel .settings-panel-card{
  width:min(760px,calc(100vw - 24px))!important;
  max-width:min(760px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
}
@media(max-width:700px){
  body.has-me-shell[data-nav-group="tasks"] > .me-context-nav,
  body[data-nav-group="tasks"] > .me-context-nav{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  body[data-page="ajustes.html"] .modal-backdrop.settings-panel .settings-panel-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top,0px)))!important;
  }
}

/* Me 4.5.0 · El horario completo necesita scroll bidireccional propio. */
body[data-page="agenda.html"] #modalHorarioAmpliado .agenda-expanded-scroll{
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:auto!important;
}
body[data-page="agenda.html"] #modalHorarioAmpliado .agenda-timetable-grid-expanded{
  max-width:none!important;
}
