/* Diseño nuevo (P2): el marco de la aplicación, «Hoy», los avisos y el modo Ajustes. Todo bajo [data-marco="nuevo"]: sin ese atributo (la elección explícita ?diseno=nuevo)
 * nada de este archivo se aplica y la aplicación se ve exactamente como siempre. Las páginas de acceso (P1) siguen oscuras por diseño y no usan estos tokens.
 * Fuente de los valores: la lámina de referencias (escala de Twenty, Notion y Revolut) y las láminas de Guille (págs. 5 y 6). Space Grotesk en todo; Space Mono solo en cifras.
 * Escala: 40 (una vez por pantalla) · 32 título de página · 20 tarjeta o sección · 17 lectura · 15 interfaz y tablas · 13 etiqueta · 12 pie. Base de 4 px. Sin negro puro: la jerarquía sale del peso y del gris. */

/* ---------- tokens ---------- */
[data-marco="nuevo"] {
  --mp-pag: #ffffff; --mp-tarjeta: #f7f6f3; --mp-sutil: #ecebe6; --mp-borde: #dedcd6; --mp-contorno: rgb(26 26 26 / .45); --mp-borde-in: rgb(26 26 26 / .45); --mp-campo: #ffffff; --mp-flota: #ffffff;
  --mp-tinta: #1a1a1a; --mp-tinta2: #5c5c5c; --mp-tinta3: #6b6b6b; --mp-tinta4: #b3b3b3;       /* 17:1 · 6,7:1 · 5:1 sobre blanco; el cuarto solo para iconos y lo desactivado */
  --mp-relleno: rgb(26 26 26 / .06);                                                            /* el 6 % de tinta del elemento activo */
  --mp-rojo: #b42318; --mp-ambar: #1a1a1a; --mp-verde: #1b6e43; --mp-rojo-s: #fbe9e7; --mp-ambar-s: #ecebe6; --mp-verde-s: #e1f0e7;       /* sin amarillo: lo de hoy va en tinta y negrita */
  --mp-sombra: 0 8px 24px rgb(26 26 26 / .1);
  --mp-r: 16px; --mp-r-in: 12px; --mp-pill: 999px; --mp-gap-card: 16px;
  --mp-lat: 216px; --mp-lat-c: 64px; --mp-barra: 56px;
  --mp-ease: cubic-bezier(0.23, 1, 0.32, 1);
  color-scheme: light;
  /* los nombres de siempre, para que lo que no se rediseña en P2 tome el mismo color, tipo de letra y esquinas */
  --bg: var(--mp-pag); --card: var(--mp-tarjeta); --ink: var(--mp-tinta); --muted: var(--mp-tinta2); --soft: var(--mp-tinta3);
  --line: var(--mp-borde); --line2: var(--mp-borde); --tint: var(--mp-sutil); --tint2: var(--mp-pag);
  --blue: var(--mp-tinta); --blue-d: #3a3a3a; --blue-ink: var(--mp-tinta); --wash: var(--mp-relleno); --blue-soft: var(--mp-sutil); --blue-soft-ink: var(--mp-tinta2);
  --deep: var(--mp-tinta); --deep2: #3a3a3a; --red: var(--mp-rojo); --red-ink: var(--mp-rojo); --red-soft: var(--mp-rojo-s);
  --gold: var(--mp-ambar); --gold-ink: var(--mp-ambar); --gold-soft: var(--mp-ambar-s); --green: var(--mp-verde); --green-ink: var(--mp-verde); --green-soft: var(--mp-verde-s);
  --focus: var(--mp-tinta);
  /* --r-in lo usan también documentos, tablas y vistas heredadas: nunca puede
     ser una píldora. Las píldoras usan --mp-pill de forma explícita. */
  --r-card: var(--mp-r); --r-in: var(--mp-r-in); --r-sm: 10px;
  --serif: "Space Grotesk", system-ui, sans-serif; --sans: "Space Grotesk", system-ui, sans-serif;
}
html[data-marco="nuevo"][data-texto="grande"] { font-size: 111.7647%; }
html[data-marco="nuevo"][data-texto="muy-grande"] { font-size: 123.5294%; }
[data-marco="nuevo"][data-tema="oscuro"] {
  --mp-pag: #141414; --mp-tarjeta: #1b1b1b; --mp-sutil: #272727; --mp-borde: #2f2f2f; --mp-contorno: rgb(236 236 236 / .4); --mp-borde-in: rgb(236 236 236 / .42); --mp-campo: #141414; --mp-flota: #222222;
  --mp-tinta: #ececec; --mp-tinta2: #b3b3b3; --mp-tinta3: #8c8c8c; --mp-tinta4: #666666;
  --mp-relleno: rgb(236 236 236 / .09);
  --mp-rojo: #ff9087; --mp-ambar: #ececec; --mp-verde: #6fd09a; --mp-rojo-s: #3b2321; --mp-ambar-s: #272727; --mp-verde-s: #1c3225;
  --mp-sombra: 0 8px 24px rgb(0 0 0 / .5);
  color-scheme: dark;
  --blue-d: #c9c9c9; --deep2: #c9c9c9;
}
/* las páginas de acceso y los textos legales (P1) son oscuros por diseño, con cualquier tema de la aplicación */
[data-diseno="nuevo"] .portada, [data-diseno="nuevo"] .lockscr.acceso-nuevo, [data-diseno="nuevo"] .legal-ov { color-scheme: dark; }

/* ---------- base ---------- */
[data-marco="nuevo"] body { background: var(--mp-pag); color: var(--mp-tinta); font-family: var(--sans); font-size: 1.0625rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
/* Las pantallas de entrada (P1) y los textos legales llevan sus propios colores oscuros: estas reglas generales del marco no las tocan. */
[data-marco="nuevo"] :is(h1, h2, h3):not(.lockscr *, .portada *, .legal-ov *) { font-family: var(--sans); color: var(--mp-tinta); }
[data-marco="nuevo"] :focus-visible { outline: 2px solid var(--mp-tinta); outline-offset: 2px; }
[data-marco="nuevo"] a:not(.lockscr *, .portada *, .legal-ov *) { color: var(--mp-tinta); }
[data-marco="nuevo"] .muted, [data-marco="nuevo"] .soft { color: var(--mp-tinta2); }
[data-marco="nuevo"] ::selection { background: rgb(128 128 128 / .3); }

/* ---------- barra lateral ---------- */
[data-marco="nuevo"] aside { position: relative; width: var(--mp-lat); flex: none; height: 100vh; padding: 10px 10px 12px; background: var(--mp-pag); border-right: 1px solid var(--mp-borde); display: flex; flex-direction: column; gap: 8px; transition: width 200ms var(--mp-ease), padding 200ms var(--mp-ease); z-index: 20; }
[data-marco="nuevo"] aside .brand { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 4px; }
[data-marco="nuevo"] .mp-logo { display: block; max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; object-position: left center; }
[data-marco="nuevo"] .mp-logo-txt { font: 700 1.25rem/1.1 var(--sans); letter-spacing: -.01em; text-transform: uppercase; color: var(--mp-tinta); overflow-wrap: anywhere; }
/* El logo o el nombre del despacho son el botón que lleva a «Hoy»: sin fondo, borde ni relleno, se ve igual que antes y conserva el foco visible de siempre. */
[data-marco="nuevo"] .mp-inicio { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; max-width: 100%; margin: 0; padding: 0; border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
[data-marco="nuevo"] .mp-ico { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--mp-tinta); cursor: pointer; transition: background-color 150ms var(--mp-ease), scale 120ms var(--mp-ease); position: relative; }
[data-marco="nuevo"] .mp-ico svg { width: 22px; height: 22px; }
[data-marco="nuevo"] .mp-ico:active { scale: .94; }
[data-marco="nuevo"] .mp-cajon-cab { display: none; }
[data-marco="nuevo"] .mp-contraer { width: 44px; height: 44px; min-width: 44px; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-contraer svg { width: 20px; height: 20px; }
[data-marco="nuevo"] .side-foot, [data-marco="nuevo"] .tabbar, [data-marco="nuevo"] .sync-row { display: none !important; }
/* el panel redondeado del menú */
[data-marco="nuevo"] #nav { flex: 1; min-height: 0; margin: 0; padding: 8px; overflow: visible; display: flex; flex-direction: column; background: var(--mp-tarjeta); border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); }
[data-marco="nuevo"] .mp-lista { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; scrollbar-width: thin; }
[data-marco="nuevo"] body[data-modo="ajustes"] .mp-lista { gap: 6px; }
[data-marco="nuevo"] .mp-pie { flex: none; padding-top: 8px; margin-top: 8px; border-top: 1px solid var(--mp-borde); }
[data-marco="nuevo"] nav button.mp-it, [data-marco="nuevo"] .mp-it { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 0 10px; border: 0; border-radius: 10px; background: transparent; color: var(--mp-tinta2); font: 500 1rem/1.2 var(--sans); text-align: left; cursor: pointer; transition: background-color 150ms var(--mp-ease), color 150ms var(--mp-ease); }
[data-marco="nuevo"] .mp-it svg { width: 18px; height: 18px; flex: none; opacity: 1; }
[data-marco="nuevo"] .mp-it.on, [data-marco="nuevo"] nav button.mp-it.on { background: var(--mp-relleno); color: var(--mp-tinta); font-weight: 600; }
[data-marco="nuevo"] .mp-it:active { background: var(--mp-relleno); }
[data-marco="nuevo"] .mp-it-t { flex: 1; min-width: 0; line-height: 1.2; overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-chev { display: grid; place-items: center; width: 20px; height: 20px; transition: rotate 200ms var(--mp-ease); }
[data-marco="nuevo"] .mp-chev svg { width: 16px; height: 16px; }
[data-marco="nuevo"] .mp-it.mp-sub { min-height: 38px; padding-left: 22px; font-size: 0.875rem; }
[data-marco="nuevo"] .mp-pestanas { display: flex; flex: none; width: 100%; min-width: 0; min-height: 48px; max-width: 1540px; box-sizing: border-box; gap: 4px; margin: 0 auto 16px; padding: 4px; overflow-x: auto; border: 1px solid var(--mp-borde); border-radius: 12px; background: var(--mp-tarjeta); scrollbar-width: none; }
[data-marco="nuevo"] .mp-pestanas::-webkit-scrollbar, [data-marco="nuevo"] .px-tabs::-webkit-scrollbar { display: none; }
[data-marco="nuevo"] .mp-pestanas button { flex: none; min-height: 38px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; color: var(--mp-tinta2); font: 600 0.875rem var(--sans); cursor: pointer; }
[data-marco="nuevo"] .mp-pestanas button.on { color: var(--mp-tinta); background: var(--mp-relleno); }
/* Las pestañas de Agenda conservan una franja estable aunque la vista no tenga controles propios. */
[data-marco="nuevo"] #mpPestanas { min-height: 48px; align-items: center; }
[data-marco="nuevo"] body[data-view="mes"] .pagehead, [data-marco="nuevo"] body[data-view="citas"] .pagehead, [data-marco="nuevo"] body[data-view="audiencias"] .pagehead { min-height: 46px; }
[data-marco="nuevo"] .mp-pestanas.mp-segmented { display: inline-flex; width: auto; min-width: 0; margin-left: 0; border-radius: var(--mp-r-in); gap: 2px; }
[data-marco="nuevo"] .mp-pestanas.mp-segmented button { min-width: 108px; border-radius: 9px; }
[data-marco="nuevo"] .mp-pestanas.mp-segmented button.on { background: var(--mp-tinta); color: var(--mp-pag); }
[data-marco="nuevo"] .px-invest { display: block; width: 100%; min-height: 44px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--mp-borde); background: transparent; color: var(--mp-tinta); font: 500 0.9375rem var(--sans); text-align: left; cursor: pointer; }
[data-marco="nuevo"] .mp-grupo { padding: 12px 10px 5px; font: 600 0.6875rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--mp-tinta3); }
[data-marco="nuevo"] .mp-bus { position: relative; margin: 2px 0 8px; }
[data-marco="nuevo"] .mp-bus svg { position: absolute; left: 14px; top: 50%; translate: 0 -50%; width: 17px; height: 17px; color: var(--mp-tinta3); pointer-events: none; }
[data-marco="nuevo"] .mp-busca { width: 100%; height: 44px; padding: 0 14px 0 40px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem/1 var(--sans); }
[data-marco="nuevo"] .mp-busca::placeholder { color: var(--mp-tinta3); opacity: 1; }
[data-marco="nuevo"] .mp-busca:focus { outline: none; border-color: var(--mp-tinta); box-shadow: 0 0 0 3px var(--mp-relleno); }
[data-marco="nuevo"] .mp-sin { margin: 8px 14px; color: var(--mp-tinta2); font-size: 0.875rem; }
@media (hover: hover) and (pointer: fine) {
  [data-marco="nuevo"] .mp-it:hover, [data-marco="nuevo"] nav button.mp-it:hover { background: var(--mp-relleno); color: var(--mp-tinta); }
  [data-marco="nuevo"] .mp-ico:hover { background: var(--mp-relleno); }
}
/* barra contraída: solo iconos de 44 px; el nombre sale como globo al pasar o con el teclado */
@media (min-width: 900px) {
  body.mp-col aside { width: var(--mp-lat-c); padding-left: 12px; padding-right: 12px; }
  body.mp-col aside .brand { justify-content: center; }
  body.mp-col aside .brand > :not(.mp-contraer) { display: none; }
  body.mp-col .mp-contraer { position: static; align-self: center; margin-top: 4px; }
  body.mp-col #nav { padding: 8px 6px; align-items: center; }
  body.mp-col .mp-lista { overflow: visible; align-items: center; }
  body.mp-col .mp-it { width: 44px; padding: 0; justify-content: center; }
  body.mp-col .mp-it.on { border: 0; border-radius: 10px; box-shadow: none; }
  body.mp-col .mp-nav-grupo { position: relative; }
  body.mp-col .mp-sublista { position: absolute; left: calc(100% + 10px); top: 0; z-index: 61; display: none; width: 208px; padding: 6px; border: 1px solid var(--mp-borde); border-radius: var(--mp-r-in); background: var(--mp-flota); box-shadow: var(--mp-sombra); }
  body.mp-col .mp-nav-grupo.fly .mp-sublista { display: grid; }
  body.mp-col .mp-sublista .mp-it { width: 100%; justify-content: flex-start; padding: 0 10px; }
  body.mp-col .mp-sublista .mp-it-t { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
  body.mp-col .mp-it-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; flex: none; }
  body.mp-col .mp-chev, body.mp-col .mp-grupo, body.mp-col .mp-bus, body.mp-col .mp-sin { display: none; }
  body.mp-col .mp-pie { width: 100%; display: flex; justify-content: center; }
  body.mp-col .mp-it::after { content: attr(data-tip); position: absolute; left: calc(100% + 14px); top: 50%; translate: -4px -50%; padding: 6px 10px; border-radius: 8px; background: var(--mp-tinta); color: var(--mp-pag); font: 500 0.8125rem/1.2 var(--sans); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 120ms var(--mp-ease), translate 120ms var(--mp-ease); z-index: 60; }
  body.mp-col .mp-it:hover::after, body.mp-col .mp-it:focus-visible::after { opacity: 1; translate: 0 -50%; }
}

/* ---------- barra de arriba ---------- */
[data-marco="nuevo"] main { background: var(--mp-pag); }
[data-marco="nuevo"] .top { min-height: var(--mp-barra); height: var(--mp-barra); padding: 0 20px; gap: 12px; align-items: center; flex: none; border-bottom: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .top-brand { display: none !important; align-items: center; gap: 8px; min-width: 180px; color: var(--mp-tinta); font: 700 0.875rem/1 var(--sans); }
[data-marco="nuevo"] .top-brand .logo { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; font-size: 0.8125rem; }
[data-marco="nuevo"] .crumb { display: none; font-size: 0; }
[data-marco="nuevo"] .mp-menu { display: none; margin-left: -10px; }
[data-marco="nuevo"] .mp-der { display: flex; align-items: center; gap: 4px; flex: none; }
[data-marco="nuevo"] .mp-vista { min-height: 40px; padding: 0 12px; border: 1px solid var(--mp-borde); border-radius: 12px; background: var(--mp-pag); color: var(--mp-tinta); font: 600 .8125rem/1 var(--sans); white-space: nowrap; cursor: pointer; }
[data-marco="nuevo"] .mp-vista:hover { background: var(--mp-sutil); }
[data-marco="nuevo"] .mp-vista[hidden] { display: none !important; }
@media (max-width: 599.98px) {
  [data-marco="nuevo"] .mp-vista-prefix { display: none; }
  [data-marco="nuevo"] .mp-vista { min-height: 36px; padding: 0 9px; }
}
[data-marco="nuevo"] #mpTema { display: none; }
[data-marco="nuevo"] .mp-mobile-brand { display: none; }
[data-marco="nuevo"] #ayudaBtn, [data-marco="nuevo"] #ayudaMenu { display: none !important; }
[data-marco="nuevo"] .mp-avatar { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: 4px; padding: 0; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-sutil); color: var(--mp-tinta); font: 600 0.875rem/1 var(--sans); letter-spacing: .02em; cursor: pointer; transition: border-color 150ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .mp-avatar:active { scale: .94; }
[data-marco="nuevo"] .mp-avatar.grande { width: 44px; height: 44px; margin: 0; cursor: default; }
[data-marco="nuevo"] .mp-avatar img, .perfil-avatar { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.perfil-foto { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }.perfil-foto .perfil-avatar { width: 56px; height: 56px; background: var(--surface, #eee); }.perfil-foto .row-btns { margin-top: 6px; }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .mp-avatar:hover { border-color: var(--mp-tinta); } }
[data-marco="nuevo"] .mp-pun { position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--mp-rojo); color: var(--mp-tarjeta); font: 700 0.6875rem/1.125rem var(--sans); text-align: center; box-shadow: 0 0 0 2px var(--mp-pag); }
[data-marco="nuevo"][data-tema="oscuro"] .mp-pun { color: #1a1a1a; }
[data-marco="nuevo"] .mp-pun[hidden] { display: none; }
/* «Nuevo» y la búsqueda de siempre, con la forma del diseño nuevo */
[data-marco="nuevo"] #gNew, [data-marco="nuevo"] #tmBtn { display: none !important; }       /* «Nuevo» vive en la búsqueda (⌘K) y el cronómetro en el menú del avatar */
[data-marco="nuevo"] .gs { flex: 0 0 auto; order: 2; gap: 0; margin-left: auto; }
[data-marco="nuevo"] .mp-der { order: 3; }
[data-marco="nuevo"] .gs #gsBtn { display: inline-grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--mp-tinta); }
[data-marco="nuevo"] .gs #gsBtn svg { width: 22px; height: 22px; }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .gs #gsBtn:hover { background: var(--mp-relleno); border: 0; } }
[data-marco="nuevo"] .gs-box, [data-marco="nuevo"] .gs input { display: none; }
[data-marco="nuevo"] .gs-scrim { position: fixed; inset: 0; z-index: 47; background: rgb(20 20 20 / .42); }
[data-marco="nuevo"][data-tema="oscuro"] .gs-scrim { background: rgb(0 0 0 / .64); }
[data-marco="nuevo"] body.gs-open .gs #gsBtn { display: none; }
[data-marco="nuevo"] body.gs-open .gs { position: fixed; inset: 0; height: 100dvh; padding: 12vh max(16px, calc((100vw - 640px) / 2)); z-index: 48; background: rgb(0 0 0 / .28); border: 0; align-items:flex-start; }
[data-marco="nuevo"] body.mp-col.gs-open .gs { left: 0; }
[data-marco="nuevo"] body.gs-open .gs-box { display: flex; flex: 1; min-width: 0; max-width: 640px; background:var(--mp-flota); border-radius:var(--mp-r); box-shadow:var(--mp-sombra); }
[data-marco="nuevo"] body.gs-open .gs input { display: block; flex: 1; width: 100%; height: 44px; min-height: 44px; padding: 0 56px 0 42px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem/1 var(--sans); }
[data-marco="nuevo"] body.gs-open .gs .gs-ic { display: block; }
[data-marco="nuevo"] body.gs-open .gs input:focus { outline: none; border-color: var(--mp-tinta); box-shadow: 0 0 0 3px var(--mp-relleno); }
[data-marco="nuevo"] .gs-ic { left: 15px; width: 17px; height: 17px; color: var(--mp-tinta3); }
[data-marco="nuevo"] .gs kbd { right: 16px; font: 500 0.75rem var(--sans); color: var(--mp-tinta3); background: none; border: 0; }
[data-marco="nuevo"] body.gs-open .gs #gsX { display: inline-flex; margin-left: 12px; }
[data-marco="nuevo"] .gsres { z-index:49; top:calc(12vh + 52px); left:50%; translate:-50% 0; width:min(640px,calc(100vw - 32px)); background:var(--mp-flota); border:1px solid var(--mp-contorno); border-radius:var(--mp-r); box-shadow:var(--mp-sombra); }
[data-marco="nuevo"] body.mp-col .gsres { left:50%; width:min(640px,calc(100vw - 32px)); }
[data-marco="nuevo"] .gs-r b { font: 500 0.9375rem/1.25rem var(--sans); }
[data-marco="nuevo"] .gs-r span, [data-marco="nuevo"] .gs-r em { font-size: 0.8125rem; }
[data-marco="nuevo"] .gs-h { color: var(--mp-tinta3); }
[data-marco="nuevo"] .gs-h span, [data-marco="nuevo"] .gs-r span, [data-marco="nuevo"] .gs-r em, [data-marco="nuevo"] .gs-none { color: var(--mp-tinta2); }
[data-marco="nuevo"] .gs-r { color: var(--mp-tinta); }
[data-marco="nuevo"] .gs-hint { margin: 0; padding: 10px 16px; border-top: 1px solid var(--mp-borde); font-size: 0.8125rem; letter-spacing: 0; text-transform: none; }
/* Las filas de identidad conservan los nodos y acciones de la pantalla heredada. */
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-explanation { grid-column: 1; margin: 2px 0 0; font: 400 0.875rem/1.25rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-control { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > :not(.mp-settings-title):not(.mp-settings-explanation):not(.mp-settings-control) { grid-column: 1 / -1; }
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > button { grid-column: 2; justify-self: end; }
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row .row-btns { justify-content: flex-end; }

/* ---------- el contenido: la página no crece ---------- */
[data-marco="nuevo"] .content { padding: 0 24px 24px; display: flex; flex-direction: column; min-height: 0; }
[data-marco="nuevo"] body:not([data-view="inicio"]) #view > :last-child { padding-bottom: 32px; }
[data-marco="nuevo"] #view { width: 100%; max-width: 1540px; flex: 1 1 auto; min-height: 0; }
[data-marco="nuevo"] .pagehead { min-height: 44px; margin: 18px auto 16px; max-width: 1540px; width: 100%; flex: none; }
[data-marco="nuevo"] .pagehead h1, [data-marco="nuevo"] body[data-view="inicio"] .pagehead h1 { font: 700 2rem/2.25rem var(--sans); letter-spacing: -.01em; text-transform: uppercase; color: var(--mp-tinta); }
[data-marco="nuevo"] .pagehead h1 small { font: 400 0.9375rem var(--sans); text-transform: none; color: var(--mp-tinta2); letter-spacing: 0; }
[data-marco="nuevo"] .pagehead .mp-ruta { flex: 1 0 100%; color: var(--mp-tinta2); font-size: .75rem; margin-bottom: -14px; }
[data-marco="nuevo"] body[data-view="inicio"] .pagehead { display: none; }
[data-marco="nuevo"] body[data-view="inicio"] .content { overflow: hidden; }

/* ---------- P3: expedientes ---------- */
/* fila de 52 px, texto de 15, rótulos de 13, pies de 12 (referencias Twenty / Notion); el panel de 480 y expandido al 82 % */
[data-marco="nuevo"] .px-page { min-width: 0; }
[data-marco="nuevo"] .px-head { display: flex; align-items: center; gap: var(--mp-gap-card); margin-bottom: var(--mp-gap-card); }
[data-marco="nuevo"] .px-switch { display: flex; align-items: center; gap: 4px; font-size: 0.8125rem; color: var(--mp-tinta2); }
[data-marco="nuevo"] .px-switch > span { margin-right: 4px; }
[data-marco="nuevo"] .px-switch button, [data-marco="nuevo"] .px-actions button, [data-marco="nuevo"] .px-text, [data-marco="nuevo"] .px-chip { border: 0; background: transparent; color: var(--mp-tinta); font: 600 0.8125rem/1 var(--sans); cursor: pointer; transition: background-color 120ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-switch button { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: var(--mp-tinta2); }
[data-marco="nuevo"] .px-switch button[aria-pressed="true"] { background: var(--mp-relleno); color: var(--mp-tinta); }
[data-marco="nuevo"] .pl-head { display:flex; justify-content:flex-end; margin:0 0 12px; }
[data-marco="nuevo"] .pl-lista { grid-template-columns:minmax(0,1fr); gap:8px; }
[data-marco="nuevo"] .pl-lista .pl-card { display:grid; grid-template-columns:minmax(220px, .85fr) minmax(220px, 1fr) auto; align-items:center; gap:12px 20px; padding:14px 18px; }
[data-marco="nuevo"] .pl-tabla { width:100%; border-collapse:collapse; font-size:0.9375rem; }
[data-marco="nuevo"] .pl-tabla th, [data-marco="nuevo"] .pl-tabla td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--mp-borde); vertical-align:middle; }
[data-marco="nuevo"] .pl-tabla th { color:var(--mp-tinta2); font-size:0.9375rem; font-weight:600; }
[data-marco="nuevo"] .pl-tabla .av-btns { margin:0; justify-content:flex-end; white-space:nowrap; }
[data-marco="nuevo"] .pl-tabla .pl-badges { margin:0; }
[data-marco="nuevo"] .pl-card .pl-info { min-width:0; }
[data-marco="nuevo"] .pl-card h3 { margin:0 0 6px; line-height:1.25; overflow-wrap:normal; word-break:normal; hyphens:none; }
[data-marco="nuevo"] .pl-card .pl-badges { margin:0; }
[data-marco="nuevo"] .pl-lista .pl-card .pl-snip { margin:0; min-width:0; }
[data-marco="nuevo"] .pl-lista .pl-card .av-btns { margin:0; white-space:nowrap; }
[data-marco="nuevo"] .px-actions button, [data-marco="nuevo"] .px-text { min-height: 40px; padding: 0 10px; border-radius: 10px; letter-spacing: .02em; }
[data-marco="nuevo"] .px-actions button { text-transform: uppercase; }
[data-marco="nuevo"] .px-actions { display: flex; gap: 4px; }
[data-marco="nuevo"] .px-switch button:hover, [data-marco="nuevo"] .px-actions button:hover, [data-marco="nuevo"] .px-text:hover, [data-marco="nuevo"] .px-chip:hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .px-switch button:active, [data-marco="nuevo"] .px-actions button:active, [data-marco="nuevo"] .px-text:active, [data-marco="nuevo"] .px-chip:active { scale: .96; }
[data-marco="nuevo"] .px-searchbox { position: relative; flex: 1; min-width: 120px; display: block; }
[data-marco="nuevo"] .px-searchbox svg { position: absolute; left: 16px; top: 50%; translate: 0 -50%; color: var(--mp-tinta); pointer-events: none; }
[data-marco="nuevo"] .px-search { width: 100%; height: 44px; box-sizing: border-box; padding: 0 18px 0 46px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem var(--sans); }
[data-marco="nuevo"] .px-search::placeholder { color: var(--mp-tinta3); opacity: 1; }
[data-marco="nuevo"] .px-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
[data-marco="nuevo"] .px-chip { min-height: 32px; padding: 0 12px; border: 1px solid var(--mp-borde); border-radius: 999px; color: var(--mp-tinta2); }
[data-marco="nuevo"] .px-chip span { margin-left: 4px; color: var(--mp-tinta); }
[data-marco="nuevo"] .px-table-wrap { max-width: 100%; max-height: calc(100dvh - 190px); overflow: auto; border: 1px solid var(--mp-borde); border-radius: var(--mp-r-in); background: var(--mp-campo); }
[data-marco="nuevo"] .px-table { width: 100%; min-width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
[data-marco="nuevo"] .px-table th { position: sticky; top: 0; z-index: 1; height: 40px; background: var(--mp-tarjeta); color: var(--mp-tinta2); font-size: 0.8125rem; font-weight: 600; text-align: left; white-space: nowrap; }
[data-marco="nuevo"] .px-table td, [data-marco="nuevo"] .px-table th { padding: 0 12px; border-bottom: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .px-table th:first-child, [data-marco="nuevo"] .px-table td:first-child { width: 44px; padding-right: 0; }
[data-marco="nuevo"] .px-table td { height: 52px; overflow: hidden; text-overflow: ellipsis; color: var(--mp-tinta2); white-space: nowrap; }
[data-marco="nuevo"] .px-table th[data-k="numero"] { width: 176px; } [data-marco="nuevo"] .px-table th[data-k="vence"] { width: 196px; min-width: 196px; } [data-marco="nuevo"] .px-table th[data-k="estado"] { width: 136px; } [data-marco="nuevo"] .px-table th[data-k="cliente"], [data-marco="nuevo"] .px-table th[data-k="despacho"] { width: 18%; } [data-marco="nuevo"] .px-table th[data-k="materia"] { width: auto; }
[data-marco="nuevo"] .px-table td b { color: var(--mp-tinta); }
[data-marco="nuevo"] .mc-mobile-cases { display: none; }
[data-marco="nuevo"] .px-table input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--mp-tinta); cursor: pointer; }
[data-marco="nuevo"] .px-table td.px-overdue { color: var(--mp-rojo); font-weight: 600; }
[data-marco="nuevo"] .px-table td.px-today { color: var(--mp-tinta); font-weight: 600; }
[data-marco="nuevo"] .px-sortmark { color: var(--mp-tinta); }
[data-marco="nuevo"] .px-table tr[data-px-row] { cursor: pointer; transition: background-color 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-table tr[data-px-row]:hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .px-table tr[data-px-row]:focus-visible { outline-offset: -2px; background: var(--mp-relleno); }
[data-marco="nuevo"] .px-table tbody tr:last-child td { border-bottom: 0; }
[data-marco="nuevo"] .px-table tfoot td { height: 52px; max-width: none; border-top: 1px solid var(--mp-borde); border-bottom: 0; color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .px-table tfoot button { min-height: 40px; margin-right: 12px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--mp-tinta); font: 600 0.9375rem var(--sans); cursor: pointer; }
[data-marco="nuevo"] .px-table tfoot button:hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .px-folders { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 32px 16px; padding-top: 24px; }
[data-marco="nuevo"] .px-list { display: grid; gap: 8px; }
[data-marco="nuevo"] .px-list-row { display: grid; grid-template-columns: minmax(140px, .8fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(190px, auto); gap: 16px; align-items: center; min-width: 0; min-height: 56px; padding: 0 16px; border: 1px solid var(--mp-borde); border-radius: var(--mp-r-in); background: var(--mp-tarjeta); color: var(--mp-tinta2); font: 400 .9375rem var(--sans); text-align: left; cursor: pointer; }
[data-marco="nuevo"] .px-list-row b { color: var(--mp-tinta); } [data-marco="nuevo"] .px-list-row span, [data-marco="nuevo"] .px-list-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-marco="nuevo"] .px-folder { position: relative; display: flex; flex-direction: column; gap: 4px; min-height: 140px; padding: 20px 18px 16px; border: 1px solid var(--mp-borde); border-radius: 0 var(--mp-r-in) var(--mp-r-in) var(--mp-r-in); background: var(--mp-tarjeta); color: var(--mp-tinta); font: inherit; text-align: left; cursor: pointer; transition: border-color 120ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-folder:hover { border-color: var(--mp-borde-in); }
[data-marco="nuevo"] .px-folder:active { scale: .98; }
[data-marco="nuevo"] .px-folder .px-tab { position: absolute; top: -24px; left: -1px; max-width: calc(100% - 24px); padding: 0 12px; height: 24px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 1px solid var(--mp-borde); border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--mp-tarjeta); font: 600 0.75rem/1.4375rem var(--sans); font-variant-numeric: tabular-nums; color: var(--mp-tinta2); }
[data-marco="nuevo"] .px-folder:hover .px-tab { border-color: var(--mp-borde-in); }
[data-marco="nuevo"] .px-folder b { font-size: 0.9375rem; }
[data-marco="nuevo"] .px-folder span:not(.px-tab), [data-marco="nuevo"] .px-folder small { color: var(--mp-tinta2); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }
[data-marco="nuevo"] .px-folder small.px-overdue { color: var(--mp-rojo); font-weight: 600; }
[data-marco="nuevo"] .px-folder em { margin-top: auto; padding-top: 8px; color: var(--mp-tinta3); font: 600 0.75rem var(--sans); font-style: normal; }
[data-marco="nuevo"] .px-split { display: block; }
[data-marco="nuevo"] .px-panel { position: sticky; top: 0; display: flex; flex-direction: column; height: var(--px-h, 70vh); overflow: hidden; background: var(--mp-pag); border: 1px solid var(--mp-borde); border-radius: var(--mp-r-in); }
[data-marco="nuevo"] .px-overlay { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 32px; background: rgb(0 0 0 / .32); backdrop-filter: blur(4px); }
[data-marco="nuevo"][data-tema="oscuro"] .px-overlay { background: rgb(0 0 0 / .5); }
[data-marco="nuevo"] .px-overlay .px-panel { position: static; width: min(82vw, 1120px); max-width: calc(100vw - 64px); height: min(82dvh, 920px); max-height: calc(100dvh - 64px); box-shadow: 0 1px 2px rgb(0 0 0 / .08), 0 18px 56px rgb(0 0 0 / .22); border-radius: 16px; }
[data-marco="nuevo"] .px-overlay .px-panel h2 { text-wrap: balance; }

[data-marco="nuevo"] .px-panel > header { flex: none; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 12px 16px 24px; border-bottom: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .px-back { display: none; }
[data-marco="nuevo"] .px-panel h2 { margin: 0; font-size: 1.25rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; } [data-marco="nuevo"] .px-panel header p { margin: 3px 0 0; color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .px-tabs { flex: none; display: flex; gap: 4px; padding: 8px 16px; border-bottom: 1px solid var(--mp-borde); overflow-x: auto; }
[data-marco="nuevo"] .px-tabs button, [data-marco="nuevo"] .px-more button { flex: none; min-height: 40px; border: 0; border-radius: 10px; background: transparent; color: var(--mp-tinta2); padding: 0 12px; font: 600 0.8125rem var(--sans); cursor: pointer; transition: background-color 120ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-tabs button:hover, [data-marco="nuevo"] .px-more button:hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .px-tabs button:active, [data-marco="nuevo"] .px-more button:active { scale: .96; }
[data-marco="nuevo"] .px-tabs button.on { background: var(--mp-relleno); color: var(--mp-tinta); }
[data-marco="nuevo"] .px-panel-body { flex: 1; min-height: 0; overflow: auto; padding: 8px 24px 32px; }
[data-marco="nuevo"] .px-group { border-bottom: 1px solid var(--mp-borde); } [data-marco="nuevo"] .px-group:last-child { border-bottom: 0; }
[data-marco="nuevo"] .px-group summary { display: flex; align-items: center; min-height: 48px; list-style: none; font-size: 0.9375rem; font-weight: 600; cursor: pointer; }
[data-marco="nuevo"] .px-group summary::-webkit-details-marker { display: none; }
[data-marco="nuevo"] .px-group summary::after { content: ''; width: 7px; height: 7px; margin-right: 4px; border: solid var(--mp-tinta2); border-width: 0 1.75px 1.75px 0; rotate: 45deg; translate: 0 -2px; margin-left: auto; transition: rotate 160ms var(--mp-ease); }
[data-marco="nuevo"] .px-group[open] summary::after { rotate: 225deg; translate: 0 2px; }
[data-marco="nuevo"] .px-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; padding-bottom: 20px; }
[data-marco="nuevo"] .px-field { display: block; } [data-marco="nuevo"] .px-field span { display: block; margin-bottom: 4px; color: var(--mp-tinta2); font-size: 0.75rem; }
[data-marco="nuevo"] .px-field input, [data-marco="nuevo"] .px-field select { width: 100%; height: 40px; box-sizing: border-box; border: 1px solid var(--mp-borde); border-radius: 10px; background: var(--mp-campo); color: var(--mp-tinta); padding: 0 10px; font: 400 0.9375rem var(--sans); font-variant-numeric: tabular-nums; transition: border-color 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-field input:hover, [data-marco="nuevo"] .px-field select:hover { border-color: var(--mp-borde-in); }
[data-marco="nuevo"] .px-people { margin: 0; padding: 0 0 16px; list-style: none; font-size: 0.9375rem; } [data-marco="nuevo"] .px-people li { display: flex; justify-content: space-between; gap: 12px; min-height: 40px; align-items: center; border-bottom: 1px solid var(--mp-borde); } [data-marco="nuevo"] .px-people li:last-child { border-bottom: 0; } [data-marco="nuevo"] .px-people span { color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .px-muted { color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .px-more { display: grid; gap: 4px; } [data-marco="nuevo"] .px-more button { text-align: left; font-size: 0.9375rem; }
[data-marco="nuevo"] .px-options { min-width: min(420px, 75vw); } [data-marco="nuevo"] .px-options > p { margin: 0 0 8px; }
[data-marco="nuevo"] .px-options > div { display: flex; gap: 6px; align-items: center; min-height: 48px; border-bottom: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .px-options label { flex: 1; display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 0.9375rem; cursor: pointer; } [data-marco="nuevo"] .px-options input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--mp-tinta); }
[data-marco="nuevo"] .px-options > div button { width: 40px; height: 40px; border: 1px solid var(--mp-borde); border-radius: 10px; background: var(--mp-campo); color: var(--mp-tinta); font-size: 1rem; cursor: pointer; } [data-marco="nuevo"] .px-options > div button:disabled { color: var(--mp-tinta4); cursor: default; } [data-marco="nuevo"] .px-options > div button:not(:disabled):hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .px-options > .btn { margin-top: 12px; }
[data-marco="nuevo"] .px-filter { display: grid; gap: 14px; min-width: min(320px, 75vw); } [data-marco="nuevo"] .px-filter label { display: grid; gap: 6px; color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .px-filter input, [data-marco="nuevo"] .px-filter select { height: 40px; box-sizing: border-box; padding: 0 10px; border: 1px solid var(--mp-borde-in); border-radius: 10px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem var(--sans); }
@media (max-width: 767px) {
  [data-marco="nuevo"] .px-switch > span { display: none; }
  [data-marco="nuevo"] .px-head { flex-wrap: wrap; gap: 8px; } [data-marco="nuevo"] .px-searchbox { order: 3; flex-basis: 100%; } [data-marco="nuevo"] .px-actions { margin-left: auto; gap: 0; }
  [data-marco="nuevo"] .px-table-wrap { max-height: none; border: 0; border-radius: 0; background: transparent; overflow: visible; }
  [data-marco="nuevo"] .px-table { min-width: 0; display: block; table-layout: auto; } [data-marco="nuevo"] .px-table thead { display: none; } [data-marco="nuevo"] .px-table tbody, [data-marco="nuevo"] .px-table tfoot, [data-marco="nuevo"] .px-table tfoot tr, [data-marco="nuevo"] .px-table tfoot td { display: block; }
  [data-marco="nuevo"] .px-table tr[data-px-row] { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 12px 4px; border-bottom: 1px solid var(--mp-borde); }
  [data-marco="nuevo"] .px-table td { display: none; height: auto; max-width: none; padding: 0; border: 0; white-space: normal; overflow: visible; }
  [data-marco="nuevo"] .px-table td[data-k="numero"], [data-marco="nuevo"] .px-table td[data-k="cliente"], [data-marco="nuevo"] .px-table td[data-k="despacho"], [data-marco="nuevo"] .px-table td[data-k="vence"], [data-marco="nuevo"] .px-table td[data-k="estado"] { display: block; font-size: 0.8125rem; }
  [data-marco="nuevo"] .px-table td[data-k="numero"] { order: 1; font-size: 0.9375rem; } [data-marco="nuevo"] .px-table td[data-k="cliente"] { order: 2; } [data-marco="nuevo"] .px-table td[data-k="despacho"] { order: 3; } [data-marco="nuevo"] .px-table td[data-k="vence"] { order: 4; } [data-marco="nuevo"] .px-table td[data-k="estado"] { order: 5; color: var(--mp-tinta3); }
  [data-marco="nuevo"] .px-table tfoot td { padding: 8px 0; }
  /* P3b Clientes: en el teléfono la lista es una ficha breve, no una tabla
     horizontal: nombre arriba y teléfono + expedientes abajo. */
  [data-marco="nuevo"] .mc-table td[data-k="nombre"], [data-marco="nuevo"] .mc-table td[data-k="telefono"] { display: block; }
  [data-marco="nuevo"] .mc-table td[data-k="nombre"] { order: 1; font-size: 0.9375rem; }
  [data-marco="nuevo"] .mc-table td[data-k="telefono"] { order: 2; color: var(--mp-tinta2); font-size: 0.8125rem; }
  [data-marco="nuevo"] .mc-table .mc-mobile-cases { display: inline; }
  [data-marco="nuevo"] .px-folders { grid-template-columns: 1fr 1fr; gap: 32px 10px; } [data-marco="nuevo"] .px-folder { min-width: 0; padding-left: 12px; padding-right: 12px; }
  [data-marco="nuevo"] .px-panel, [data-marco="nuevo"] .px-panel.px-wide { width: 100vw; max-width: 100vw; } [data-marco="nuevo"] .px-panel > header { padding: calc(12px + env(safe-area-inset-top)) 8px 12px 16px; align-items: center; } [data-marco="nuevo"] .px-back { display: block; margin: 0 0 4px -10px; } [data-marco="nuevo"] [data-px-expand] { display: none; } [data-marco="nuevo"] .px-panel-body { padding: 4px 16px calc(24px + env(safe-area-inset-bottom)); } [data-marco="nuevo"] .px-tabs { padding: 6px 8px; }
}
@media (prefers-reduced-motion: reduce) { [data-marco="nuevo"] .px-switch button, [data-marco="nuevo"] .px-actions button, [data-marco="nuevo"] .px-text, [data-marco="nuevo"] .px-chip, [data-marco="nuevo"] .px-tabs button, [data-marco="nuevo"] .px-folder, [data-marco="nuevo"] .px-group summary::after { transition-duration: .01ms !important; } }
@media (min-width: 901px) {
  [data-marco="nuevo"] .px-split.px-open { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 16px; align-items: start; }
  [data-marco="nuevo"] .px-split.px-open.px-wide { grid-template-columns: minmax(0, 1fr) 480px; }
  [data-marco="nuevo"] .px-open .px-table-wrap { max-height: calc(100dvh - 190px); }
}
[data-marco="nuevo"] .px-htxt { min-width: 0; } [data-marco="nuevo"] .px-hbtns { display: flex; align-items: center; flex: none; }
[data-marco="nuevo"] .px-hchips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
[data-marco="nuevo"] .px-pill { display: inline-flex; align-items: center; max-width: 100%; min-height: 26px; padding: 0 10px; border: 1px solid var(--mp-borde); border-radius: 999px; background: var(--mp-tarjeta); color: var(--mp-tinta); font: 600 0.75rem/1 var(--sans); white-space: nowrap; }
[data-marco="nuevo"] .px-primary { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--mp-tinta); color: var(--mp-pag); font: 600 0.875rem/1 var(--sans); cursor: pointer; white-space: nowrap; }
[data-marco="nuevo"] .pagehead:has(> .px-primary) { display: flex; align-items: center; justify-content: flex-start; gap: 16px; flex-wrap: wrap; }
[data-marco="nuevo"] .pagehead:has(> .px-primary) h1 { flex: 0 1 auto; }
[data-marco="nuevo"] .pagehead:has(> .px-primary) > .actions { margin-left: auto; }
[data-marco="nuevo"] .px-folder .px-empty { color: var(--mp-tinta3); font-weight: 400; }
[data-marco="nuevo"] .mc-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
[data-marco="nuevo"] :is(.mc-quick-action, .mc-recordar) { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 0 9px; border: 1px solid var(--mp-borde); border-radius: 999px; background: var(--mp-tarjeta); color: var(--mp-tinta); font: 600 0.75rem/1 var(--sans); text-decoration: none; }
[data-marco="nuevo"] :is(.mc-quick-action, .mc-recordar) svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[data-marco="nuevo"] :is(.mc-quick-action, .mc-recordar):hover { background: var(--mp-relleno); }
[data-marco="nuevo"] .mc-recordar { color: var(--mp-tinta2); background: transparent; border-style: dashed; cursor: pointer; font: inherit; }          /* recordatorio: misma pastilla, más discreta que las acciones directas */
[data-marco="nuevo"] .px-pill-t { overflow: hidden; text-overflow: ellipsis; display: block; line-height: 24px; max-width: 220px; font-weight: 400; color: var(--mp-tinta2); }
[data-marco="nuevo"] .px-pill.px-overdue { color: var(--mp-rojo); border-color: currentColor; background: transparent; } [data-marco="nuevo"] .px-pill.px-today { font-weight: 700; border-color: var(--mp-tinta); }
[data-marco="nuevo"] .px-kv { display: grid; grid-template-columns: minmax(104px, 36%) minmax(0, 1fr) auto auto; align-items: center; column-gap: 8px; min-height: 40px; }
[data-marco="nuevo"] .px-k { color: var(--mp-tinta2); font-size: 0.8125rem; line-height: 1.3; }
[data-marco="nuevo"] .px-v { min-height: 36px; margin: 2px -8px 2px 0; padding: 6px 8px; border: 0; border-radius: 8px; background: none; color: var(--mp-tinta); font: 400 0.9375rem/1.35 var(--sans); text-align: left; cursor: text; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; transition: background-color 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-v:hover { background: var(--mp-relleno); } [data-marco="nuevo"] .px-v.px-empty { color: var(--mp-tinta3); } [data-marco="nuevo"] .px-static { cursor: default; } [data-marco="nuevo"] .px-static:hover { background: none; }
[data-marco="nuevo"] .px-input { width: 100%; min-width: 0; height: 36px; box-sizing: border-box; margin: 2px 0; border: 1px solid var(--mp-borde-in); border-radius: 8px; background: var(--mp-campo); color: var(--mp-tinta); padding: 0 8px; font: 400 0.9375rem var(--sans); grid-column: 2 / -1; }
[data-marco="nuevo"] .px-go, [data-marco="nuevo"] .px-add { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 8px; background: none; color: var(--mp-tinta2); font: 400 1rem var(--sans); cursor: pointer; transition: background-color 120ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .px-add { width: 40px; height: 40px; margin-left: auto; margin-right: 4px; font-size: 1.25rem; color: var(--mp-tinta); } [data-marco="nuevo"] .px-go:hover, [data-marco="nuevo"] .px-add:hover { background: var(--mp-relleno); color: var(--mp-tinta); } [data-marco="nuevo"] .px-go:active, [data-marco="nuevo"] .px-add:active { scale: .96; }
[data-marco="nuevo"] .px-group .px-muted { margin: 0 0 16px; } [data-marco="nuevo"] .px-count { margin-left: 8px; color: var(--mp-tinta2); font-weight: 400; font-size: 0.8125rem; }
[data-marco="nuevo"] .px-group[open] > :last-child { margin-bottom: 8px; }
[data-marco="nuevo"] .px-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--mp-gap-card); align-items: start; } [data-marco="nuevo"] .px-col { min-width: 0; }
[data-marco="nuevo"] .px-plazos { margin: 0; padding: 0 0 8px; list-style: none; } [data-marco="nuevo"] .px-plazos li { display: grid; gap: 2px; min-height: 48px; padding: 6px 0; border-bottom: 1px solid var(--mp-borde); font-size: 0.9375rem; } [data-marco="nuevo"] .px-plazos li:last-child { border-bottom: 0; } [data-marco="nuevo"] .px-plazos small { color: var(--mp-tinta2); font-size: 0.8125rem; font-variant-numeric: tabular-nums; } [data-marco="nuevo"] .px-plazos .px-overdue small { color: var(--mp-rojo); font-weight: 600; }
[data-marco="nuevo"] .px-table tr[aria-current="true"], [data-marco="nuevo"] .px-folder[aria-current="true"] { background: var(--mp-relleno); } [data-marco="nuevo"] .px-folder[aria-current="true"] { border-color: var(--mp-borde-in); }
[data-marco="nuevo"] .px-group:has(.px-add) summary::after { margin-left: 0; }
[data-marco="nuevo"] .px-col .card { margin: 0; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--mp-borde); border-radius: 0; background: none; box-shadow: none; }
[data-marco="nuevo"] .px-col .card > h3 { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0; font: 600 0.9375rem var(--sans); text-transform: none; letter-spacing: 0; }
[data-marco="nuevo"] .px-col .card > p.muted { display: none; }
[data-marco="nuevo"] .px-col .card .btn { min-height: 40px; }
[data-marco="nuevo"] .px-wide .px-table th:first-child, [data-marco="nuevo"] .px-wide .px-table td:first-child { display: none; }
@media (max-width: 900px) {
  [data-marco="nuevo"] .px-overlay { padding: 0; }
  [data-marco="nuevo"] .px-overlay .px-panel { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; box-shadow: none; }
  [data-marco="nuevo"] .px-panel { position: fixed; inset: 0; z-index: 70; width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  [data-marco="nuevo"] .px-back { display: block; margin: 0 0 4px -10px; } [data-marco="nuevo"] [data-px-expand] { display: none; }
  [data-marco="nuevo"] .px-panel > header { padding: calc(12px + env(safe-area-inset-top)) 8px 12px 16px; align-items: center; }
  [data-marco="nuevo"] .px-panel-body { padding: 4px 16px calc(24px + env(safe-area-inset-bottom)); } [data-marco="nuevo"] .px-tabs { padding: 6px 8px; scroll-snap-type: x proximity; scrollbar-width: none; } [data-marco="nuevo"] .px-tabs button { scroll-snap-align: start; }
  [data-marco="nuevo"] .px-cols { grid-template-columns: 1fr; }
}

/* P3b Clientes: la misma tabla y el mismo panel que Expedientes, sin casilla ni carpetas; la primera columna es el nombre. */
[data-marco="nuevo"] .mc-table th:first-child, [data-marco="nuevo"] .mc-table td:first-child { width: auto; padding-right: 12px; }
[data-marco="nuevo"] .mc-table th[data-k="tipo"] { width: 112px; } [data-marco="nuevo"] .mc-table th[data-k="telefono"] { width: 160px; } [data-marco="nuevo"] .mc-table th[data-k="expedientes"] { width: 128px; } [data-marco="nuevo"] .mc-table th[data-k="actividad"] { width: 168px; }
[data-marco="nuevo"] .mc-table tr[data-mc-row] { cursor: pointer; transition: background-color 120ms var(--mp-ease); }
[data-marco="nuevo"] .mc-table tr[data-mc-row]:hover, [data-marco="nuevo"] .mc-table tr[data-mc-row][aria-current="true"] { background: var(--mp-relleno); }
[data-marco="nuevo"] .mc-table tr[data-mc-row]:focus-visible { outline-offset: -2px; background: var(--mp-relleno); }
[data-marco="nuevo"] .px-wide .mc-table th:first-child, [data-marco="nuevo"] .px-wide .mc-table td:first-child { display: table-cell; }
/* Con la ficha abierta la lista es el índice: nombre y tipo (solo el nombre al expandir), sin barra horizontal. */
@media (min-width: 901px) {
  [data-marco="nuevo"] .px-open .mc-table { min-width: 0; }
  [data-marco="nuevo"] .px-open .mc-table th:nth-child(n+3), [data-marco="nuevo"] .px-open .mc-table td:nth-child(n+3) { display: none; }
  [data-marco="nuevo"] .px-wide .mc-table th:nth-child(n+2), [data-marco="nuevo"] .px-wide .mc-table td:nth-child(n+2) { display: none; }
}
[data-marco="nuevo"] .mc-case { display: grid; gap: 2px; width: calc(100% + 16px); min-height: 48px; margin: 0 -8px; padding: 6px 8px; border: 0; border-radius: 8px; background: none; color: var(--mp-tinta); font: 400 0.9375rem var(--sans); text-align: left; cursor: pointer; transition: background-color 120ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .mc-case b { font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; } [data-marco="nuevo"] .mc-case small { color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .mc-case:hover { background: var(--mp-relleno); } [data-marco="nuevo"] .mc-case:active { scale: .98; }
[data-marco="nuevo"] .px-plazos li:has(.mc-case) { padding: 0; }
[data-marco="nuevo"] .px-panel h2 { text-wrap: balance; }
[data-marco="nuevo"] .mc-table tr[data-mc-row]:active { background: var(--mp-relleno); }
@media (max-width: 900px) { [data-marco="nuevo"] [data-mc-expand] { display: none; } }
@media (max-width: 767px) {
  [data-marco="nuevo"] .mc-table tr[data-mc-row] { display: grid; grid-template-columns: 1fr; gap: 2px; min-height: 64px; align-content: center; padding: 10px 4px; border-bottom: 1px solid var(--mp-borde); }
  [data-marco="nuevo"] .mc-table td:first-child { padding: 0; }
  [data-marco="nuevo"] .mc-table td[data-k="nombre"] { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { [data-marco="nuevo"] .mc-table tr[data-mc-row], [data-marco="nuevo"] .mc-case { transition-duration: .01ms !important; } }

/* ---------- Hoy ---------- */
[data-marco="nuevo"] .mfa-aviso { background: var(--mp-tarjeta); color: var(--mp-tinta); border-color: var(--mp-contorno); }
@media (min-width: 900px) { [data-marco="nuevo"] .mp-hoy > .mfa-aviso { grid-column: 1 / -1; flex-wrap: nowrap; } [data-marco="nuevo"] .mp-hoy > .mfa-aviso p { min-width: 0; } }          /* escritorio (4 nov): el aviso ocupa el ancho de Hoy y la × queda en la misma fila que los botones */
[data-marco="nuevo"] .mp-hoy { height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1.3fr) minmax(0, .9fr) minmax(0, 1fr); gap: 16px; }
[data-marco="nuevo"] .mp-hoy-cab { grid-column: 1 / -1; padding: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
[data-marco="nuevo"] .mp-saludo-linea { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
[data-marco="nuevo"] .mp-prueba { display: inline-flex; align-items: center; margin-left: 10px; padding: 3px 10px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-sutil); color: var(--mp-tinta2); font: 600 .8125rem/1.2 var(--sans); white-space: nowrap; vertical-align: 1px; }          /* píldora legible junto a la fecha, no pegada al saludo (Guille, punto 7) */
[data-marco="nuevo"] .mp-prueba-aviso { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-left: 10px; padding: 2px 4px 2px 12px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-sutil); color: var(--mp-tinta); font: 600 .875rem/1.2 var(--sans); vertical-align: middle; }          /* en el lugar de la píldora, sin sumar altura a «Hoy» */
[data-marco="nuevo"] .mp-prueba-aviso.urgente { border-color: var(--mp-rojo); background: var(--mp-rojo-s); color: var(--mp-rojo); }
[data-marco="nuevo"] .mp-prueba-aviso .btn { min-height: 28px; padding: 3px 12px; font-size: .8125rem; }
[data-marco="nuevo"] .mp-prueba-x { width: 28px; height: 28px; border: 0; border-radius: 999px; background: transparent; color: inherit; font: 400 1.25rem/1 var(--sans); cursor: pointer; }
[data-marco="nuevo"] .mp-prueba-x:hover { background: var(--mp-borde-in); }
[data-marco="nuevo"] .mp-prueba-lanz { font-weight: 500; }
@media (max-width: 600px) { [data-marco="nuevo"] .mp-prueba-aviso { display:inline-flex; flex-wrap:nowrap; max-width:calc(100vw - 28px); margin:4px 0 0 6px; padding:2px 3px 2px 9px; border-radius:999px; vertical-align:middle; } [data-marco="nuevo"] .mp-prueba-aviso > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } [data-marco="nuevo"] .mp-prueba-aviso .btn,[data-marco="nuevo"] .mp-prueba-lanz { display:none; } [data-marco="nuevo"] .mp-prueba-x { flex:none; margin-left:0; } }
@media (max-width: 600px) { [data-marco="nuevo"] .mp-hoy-cab { flex-wrap: wrap; gap: 10px 12px; } [data-marco="nuevo"] .mp-hoy-cab > div:first-child { flex: 1 1 calc(100% - 60px); min-width: 0; } [data-marco="nuevo"] .mp-hoy-cab .mp-neo-hoy { order: 3; margin: 0; } }          /* teléfono (4 nov): el saludo y la prueba ocupan el ancho junto al «+»; «Pregúntele a Neo» baja a su propia línea en vez de estrechar la columna */
/* Hoy en escritorio (Guille, punto 7): el saludo empieza a la altura del nombre del despacho de la barra lateral y queda más sitio abajo.
 * La barra de iconos (buscar, avisos, ayuda, cuenta) flota arriba a la derecha y el botón + baja al pie de la cabecera para no chocar con ella. */
@media (min-width: 1200px) {
  [data-marco="nuevo"] body[data-view="inicio"] main { position: relative; }
  [data-marco="nuevo"] body[data-view="inicio"] .top { position: absolute; top: 0; right: 0; }          /* sin z-index: crearía un contexto y dejaría el velo de la búsqueda (#gs, fijo) por debajo */
  [data-marco="nuevo"] body[data-view="inicio"] #scroll { padding-top: 30px; }
  [data-marco="nuevo"] body[data-view="inicio"] .mp-hoy-cab .mp-mas-btn { align-self: flex-end; }
}
[data-marco="nuevo"] .mp-mas-btn { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; margin-top: 2px; padding: 0; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); cursor: pointer; transition: border-color 150ms var(--mp-ease), scale 120ms var(--mp-ease); }
[data-marco="nuevo"] .mp-mas-btn svg { width: 20px; height: 20px; }
[data-marco="nuevo"] .mp-mas-btn:active { scale: .94; }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .mp-mas-btn:hover { border-color: var(--mp-tinta); } }
[data-marco="nuevo"] .mp-display { margin: 0; font: 700 2.5rem/2.75rem var(--sans); letter-spacing: -.015em; text-transform: uppercase; color: var(--mp-tinta); text-wrap: balance; }
[data-marco="nuevo"] .mp-fecha { margin: 2px 0 0; font: 400 1.0625rem/1.625rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-card { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 18px 20px 4px; background: var(--mp-tarjeta); border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); overflow: hidden; }
[data-marco="nuevo"] .mp-urgente { grid-column: 1; grid-row: 2; }
[data-marco="nuevo"] .mp-aud { grid-column: 2; grid-row: 2; }
[data-marco="nuevo"] .mp-prox { grid-column: 1 / -1; grid-row: 3; }
[data-marco="nuevo"] .mp-tareas { grid-column: 1; grid-row: 4; }
[data-marco="nuevo"] .mp-actividad { grid-column: 2; grid-row: 4; }
[data-marco="nuevo"] .mp-card-t { flex: none; margin: 0 0 6px; font: 700 1.3125rem/1.625rem var(--sans); letter-spacing: -.005em; text-transform: uppercase; color: var(--mp-tinta); }
[data-marco="nuevo"] .mp-card-cuerpo { flex: 1; min-height: 0; overflow-y: auto; margin: 0 -8px; padding: 0 8px 12px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--mp-borde-in) transparent; }
[data-marco="nuevo"] .mp-card-cuerpo.desborda { -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent); }
[data-marco="nuevo"] .mp-card-cuerpo.desborda.fin { -webkit-mask-image: none; mask-image: none; }
[data-marco="nuevo"] .mp-prox .mp-card-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-content: start; }
[data-marco="nuevo"] .mp-prox .mp-vacio { grid-column: 1 / -1; }
[data-marco="nuevo"] .mp-vacio { margin: 0; padding: 4px 0 0; color: var(--mp-tinta2); font-size: 0.9375rem; }
[data-marco="nuevo"] .mp-fila { display: block; padding: 7px 12px; margin: 0 -12px; border-radius: 12px; cursor: pointer; border-top: 1px solid transparent; transition: background-color 120ms var(--mp-ease); }
[data-marco="nuevo"] .mp-fila + .mp-fila, [data-marco="nuevo"] .mp-tarea + .mp-tarea { box-shadow: 0 -1px 0 var(--mp-borde); }
[data-marco="nuevo"] .mp-prox .mp-fila:nth-child(2) { box-shadow: none; }
[data-marco="nuevo"] .mp-fila-t { font: 500 0.9375rem/1.3125rem var(--sans); color: var(--mp-tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-marco="nuevo"] .mp-fila-m { display: flex; align-items: baseline; min-width: 0; font: 400 0.8125rem/1.125rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-fila-s { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-marco="nuevo"] .mp-fila-caso { display: flex; align-items: baseline; }
[data-marco="nuevo"] .mp-fila-cliente { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
[data-marco="nuevo"] .mp-fila-cliente + .mp-fila-num::before { content: "·"; margin: 0 6px; }
[data-marco="nuevo"] .mp-fila-num { flex: none; font-family: "Space Mono", ui-monospace, monospace; letter-spacing: -.01em; white-space: nowrap; }
[data-marco="nuevo"] .mp-fila-e { flex: none; white-space: nowrap; font-weight: 500; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-fila-s + .mp-fila-e::before { content: "·"; margin: 0 6px; font-weight: 400; }
[data-marco="nuevo"] .mp-fila.tres .mp-fila-m { flex-direction: column; align-items: stretch; }
[data-marco="nuevo"] .mp-fila.tres .mp-fila-s + .mp-fila-e::before { content: none; }
[data-marco="nuevo"] .mp-est.rojo { color: var(--mp-rojo); font-weight: 600; }
[data-marco="nuevo"] .mp-est.hoy { color: var(--mp-tinta); font-weight: 700; }
[data-marco="nuevo"] .mp-resta { font-variant-numeric: tabular-nums; color: var(--mp-tinta); font-weight: 600; }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .mp-fila:hover { background: var(--mp-sutil); } }
[data-marco="nuevo"] .mp-fila:focus-visible { outline-offset: -2px; }
[data-marco="nuevo"] .mp-tarea { display: flex; align-items: center; gap: 4px; }
[data-marco="nuevo"] .mp-tarea .mp-fila { flex: 1; min-width: 0; margin-left: 0; padding-left: 8px; }
[data-marco="nuevo"] .mp-chk { flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin: 0 0 0 -12px; padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 12px; flex: none; }
[data-marco="nuevo"] .mp-chk::before { content: ""; width: 20px; height: 20px; border: 1.5px solid var(--mp-tinta3); border-radius: 999px; background: transparent; transition: background-color 150ms var(--mp-ease), border-color 150ms var(--mp-ease); }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .mp-chk:hover::before { background: var(--mp-relleno); border-color: var(--mp-tinta); } }
[data-marco="nuevo"] .mp-act { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; }
[data-marco="nuevo"] .mp-act + .mp-act { box-shadow: 0 -1px 0 var(--mp-borde); }
[data-marco="nuevo"] .mp-act-c { min-width: 0; }
[data-marco="nuevo"] .mp-act-t { font: 400 0.9375rem/1.375rem var(--sans); color: var(--mp-tinta); overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-act-t b { font-weight: 600; }
[data-marco="nuevo"] .mp-act-f { margin-top: 2px; font: 400 0.8125rem/1.125rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-num { font-family: "Space Mono", ui-monospace, monospace; font-size: 0.8125rem; letter-spacing: -.01em; white-space: nowrap; }
[data-marco="nuevo"] .mp-av { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 999px; background: var(--mp-sutil); border: 1px solid var(--mp-borde-in); color: var(--mp-tinta); font: 600 0.75rem/1 var(--sans); }
[data-marco="nuevo"] .mp-av.gris svg { width: 18px; height: 18px; color: var(--mp-tinta2); }


/* ---------- desplegables: avisos y cuenta ---------- */
[data-marco="nuevo"] .mp-flota { position: fixed; z-index: 70; top: calc(var(--mp-barra) + 8px); right: 32px; width: 400px; max-width: calc(100vw - 24px); max-height: min(72vh, 600px); display: flex; flex-direction: column; background: var(--mp-flota); color: var(--mp-tinta); border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); box-shadow: var(--mp-sombra); opacity: 0; scale: .97; translate: 0 -6px; transform-origin: top right; transition: opacity 150ms var(--mp-ease), scale 150ms var(--mp-ease), translate 150ms var(--mp-ease); overflow: hidden; }
[data-marco="nuevo"] .mp-flota[hidden] { display: none; }
[data-marco="nuevo"] .mp-flota.abre { opacity: 1; scale: 1; translate: 0 0; }
[data-marco="nuevo"] .mp-flota:focus { outline: none; }
[data-marco="nuevo"] .mp-fl-cab { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 12px; border-bottom: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .mp-fl-t { margin: 0; font: 700 1.25rem/1.625rem var(--sans); letter-spacing: -.005em; text-transform: uppercase; }
[data-marco="nuevo"] .mp-lnk { min-height: 44px; padding: 0 12px; margin: -8px -12px -8px 0; border: 0; border-radius: 999px; background: transparent; color: var(--mp-tinta); font: 500 0.875rem/1 var(--sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
[data-marco="nuevo"] .mp-lnk:disabled { color: var(--mp-tinta3); text-decoration: none; cursor: default; }
[data-marco="nuevo"] .mp-fl-cuerpo { flex: 1; min-height: 0; overflow-y: auto; padding: 8px; overscroll-behavior: contain; }
[data-marco="nuevo"] .mp-aviso { display: flex; align-items: flex-start; gap: 12px; width: 100%; padding: 12px; border: 0; border-radius: 14px; background: transparent; color: var(--mp-tinta); text-align: left; cursor: pointer; font: inherit; }
[data-marco="nuevo"] .mp-aviso-i { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 999px; background: var(--mp-sutil); color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-aviso.nuevo .mp-aviso-i { background: var(--mp-tinta); color: var(--mp-pag); }
[data-marco="nuevo"] .mp-aviso-i svg { width: 18px; height: 18px; }
[data-marco="nuevo"] .mp-aviso-c { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
[data-marco="nuevo"] .mp-aviso-c b { font: 500 0.9375rem/1.25rem var(--sans); overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-aviso.nuevo .mp-aviso-c b { font-weight: 700; }
[data-marco="nuevo"] .mp-aviso-c span { font: 400 0.875rem/1.25rem var(--sans); color: var(--mp-tinta2); overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-aviso-f { flex: none; display: flex; align-items: center; gap: 8px; font: 400 0.75rem/1rem var(--sans); color: var(--mp-tinta3); white-space: nowrap; padding-top: 2px; }
[data-marco="nuevo"] .mp-aviso-p { width: 8px; height: 8px; border-radius: 999px; background: var(--mp-rojo); }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .mp-aviso:hover, [data-marco="nuevo"] .mp-opc:hover { background: var(--mp-sutil); } }
[data-marco="nuevo"] .mp-aviso:focus-visible, [data-marco="nuevo"] .mp-opc:focus-visible { outline-offset: -2px; }
[data-marco="nuevo"] .mp-fl-cuerpo .mp-vacio { padding: 20px 12px; }
[data-marco="nuevo"] .mp-flota.mp-cuenta { width: 320px; padding: 8px; max-height: none; }
[data-marco="nuevo"] .mp-flota.mp-ayuda { width: 280px; padding: 8px; max-height: none; }
[data-marco="nuevo"] .mp-cu-quien { display: flex; align-items: center; gap: 12px; padding: 12px; }
[data-marco="nuevo"] .mp-cu-n { display: flex; flex-direction: column; min-width: 0; }
[data-marco="nuevo"] .mp-cu-n b { font: 600 0.9375rem/1.25rem var(--sans); overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-cu-n span { font: 400 0.875rem/1.25rem var(--sans); color: var(--mp-tinta2); overflow-wrap: anywhere; }
[data-marco="nuevo"] .mp-cu-sync { padding: 0 12px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--mp-borde); color: var(--mp-tinta2); font-size: 0.8125rem; }
[data-marco="nuevo"] .mp-cu-sync .sync { font-size: 0.8125rem; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-opc { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 0 12px; border: 0; border-radius: 12px; background: transparent; color: var(--mp-tinta); font: 500 0.9375rem/1.2 var(--sans); text-align: left; cursor: pointer; }
[data-marco="nuevo"] .mp-opc svg { width: 20px; height: 20px; flex: none; color: var(--mp-tinta2); }

[data-marco="nuevo"] .mp-aviso-fila { display: flex; flex-direction: column; }
[data-marco="nuevo"] .mp-ahora { align-self: flex-start; margin: -4px 0 4px 60px; min-height: 36px; padding: 0 12px; font-size: 0.8125rem; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-qc { display: flex; align-items: center; gap: 12px; }
[data-marco="nuevo"] .mp-qc svg { width: 20px; height: 20px; flex: none; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-qc > span { display: flex; flex-direction: column; min-width: 0; }
[data-marco="nuevo"] .mp-reco { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
[data-marco="nuevo"] .mp-reco p { margin: 2px 0 0; }
[data-marco="nuevo"] #mpRecoMfa { background: var(--mp-tarjeta); }

/* ---------- modo Ajustes: una columna de 720 px, filas sencillas ---------- */
[data-marco="nuevo"] body[data-modo="ajustes"] #view { max-width: 960px; margin: 0; }
[data-marco="nuevo"] body[data-modo="ajustes"] .pagehead { max-width: 960px; margin-left: 0; margin-right: auto; }
[data-marco="nuevo"] body[data-modo="ajustes"] .content { padding-left: 40px; }
[data-marco="nuevo"] body[data-modo="ajustes"] .actions { display: none; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .grid, [data-marco="nuevo"] body[data-modo="ajustes"] #view .grid.g2 { display: flex; flex-direction: column; gap: 24px; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .stack { display: flex; flex-direction: column; gap: 24px; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .card:not([data-mp]) { display: none; }
[data-marco="nuevo"] body[data-cat="general"] #view .card:not([data-mp="general"]),
[data-marco="nuevo"] body[data-cat="practica"] #view .card:not([data-mp="practica"]),
[data-marco="nuevo"] body[data-cat="portalClientes"] #view .card:not([data-mp="portalClientes"]),
[data-marco="nuevo"] body[data-cat="cobrosHoras"] #view .card:not([data-mp="cobrosHoras"]),
[data-marco="nuevo"] body[data-cat="equiposSesiones"] #view .card:not([data-mp="equiposSesiones"]),
[data-marco="nuevo"] body[data-cat="respaldos"] #view .card:not([data-mp="respaldos"]),
[data-marco="nuevo"] body[data-cat="modulos"] #view .card:not([data-mp="modulos"]),
[data-marco="nuevo"] body[data-cat="ia"] #view .card:not([data-mp="ia"]),
[data-marco="nuevo"] body[data-cat="apariencia"] #view .card:not([data-mp="apariencia"]),
[data-marco="nuevo"] body[data-cat="navegacion"] #view .card:not([data-mp="navegacion"]),
[data-marco="nuevo"] body[data-cat="notificaciones"] #view .card:not([data-mp="notificaciones"]),
[data-marco="nuevo"] body[data-cat="perfil"] #view .card:not([data-mp="perfil"]),
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .card:not([data-mp="identidadAcceso"]),
[data-marco="nuevo"] body[data-cat="registroActividad"] #view .card:not([data-mp="registroActividad"]),
[data-marco="nuevo"] body[data-cat="integraciones"] #view .card:not([data-mp="integraciones"]),
[data-marco="nuevo"] body[data-cat="retencionDatos"] #view .card:not([data-mp="retencionDatos"]),
[data-marco="nuevo"] body[data-cat="acerca"] #view .card:not([data-mp="acerca"]),
[data-marco="nuevo"] body[data-cat="personas"] #view .card:not([data-mp="personas"]),
[data-marco="nuevo"] body[data-cat="marca"] #view .card:not([data-mp="marca"]),
[data-marco="nuevo"] body[data-cat="facturacion"] #view .card:not([data-mp="facturacion"]),
[data-marco="nuevo"] body[data-cat="unirse"] #view .card:not([data-mp="unirse"]),
[data-marco="nuevo"] body[data-cat="despachoSeg"] #view .card:not([data-mp="despachoSeg"]) { display: none; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .dsp, [data-marco="nuevo"] body[data-modo="ajustes"] #view .dsp-admin { display: flex; flex-direction: column; gap: 24px; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .dsp-admin:empty { display: none; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .card { padding: 24px; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .card > h3 { margin-bottom: 8px; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: center; padding: 16px 0; border: 0; border-radius: 0; border-top: 1px solid var(--mp-borde); background: transparent; box-shadow: none; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-group,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-group { padding: 24px 0 7px; font: 600 0.75rem/1rem var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--mp-tinta3); }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-title,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-title { grid-column: 1; margin: 0; font: 600 1rem/1.375rem var(--sans); letter-spacing: 0; text-transform: none; color: var(--mp-tinta); }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-explanation,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-explanation { grid-column: 1; margin: 2px 0 0; font: 400 0.875rem/1.25rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-control,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-control { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row > :not(.mp-settings-title):not(.mp-settings-explanation):not(.mp-settings-control),
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > :not(.mp-settings-title):not(.mp-settings-explanation):not(.mp-settings-control) { grid-column: 1 / -1; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row > button,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > button { grid-column: 2; justify-self: end; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row .row-btns,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row .row-btns { justify-content: flex-end; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row .form,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row .form { min-width: min(360px, 100%); }
/* dos acciones en una fila (cerrar sesión): una sobre otra, para que el texto de la izquierda no se parta en tres líneas */
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-control:has(> :nth-child(2)),
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-control:has(> :nth-child(2)) { flex-direction: column; align-items: stretch; }
/* filas apiladas sin huecos entre tarjetas: el rótulo del grupo y la línea de cada fila ponen el ritmo */
[data-marco="nuevo"] body[data-cat="perfil"] #view .grid,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .grid { gap: 0; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-group:first-child,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-group:first-child { padding-top: 8px; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row > p:not(.mp-settings-explanation),
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > p:not(.mp-settings-explanation) { margin: 8px 0 0; font: 400 0.8125rem/1.125rem var(--sans); color: var(--mp-tinta2); text-align: left; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row > p.mfa-ayuda,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > p.mfa-ayuda { margin-top: 10px; }
[data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row .mfa-ayuda a,
[data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row .mfa-ayuda a { color: var(--mp-tinta); text-underline-offset: 3px; }
[data-marco="nuevo"] body[data-cat="apariencia"] #view .card > h3, [data-marco="nuevo"] body[data-cat="equipos"] #view .card > h3 { display: none; }
/* en Ajustes, un interruptor a la derecha y su explicación a la izquierda: la casilla de siempre dibujada como interruptor */
[data-marco="nuevo"] body[data-modo="ajustes"] .chk { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 16px; min-height: 44px; width: 100%; font-size: 0.9375rem; }
[data-marco="nuevo"] input[type="checkbox"] { accent-color: var(--mp-tinta); }
[data-marco="nuevo"] body[data-modo="ajustes"] .chk input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; width: 44px; height: 26px; min-height: 0; margin: 0; border-radius: 999px; background: var(--mp-borde-in); position: relative; cursor: pointer; transition: background-color 180ms var(--mp-ease); }
[data-marco="nuevo"] body[data-modo="ajustes"] .chk input[type="checkbox"]::before { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 999px; background: var(--mp-tarjeta); transition: translate 180ms var(--mp-ease); }
[data-marco="nuevo"] body[data-modo="ajustes"] .chk input[type="checkbox"]:checked { background: var(--mp-tinta); }
[data-marco="nuevo"] body[data-modo="ajustes"] .chk input[type="checkbox"]:checked::before { translate: 18px 0; background: var(--mp-pag); }
[data-marco="nuevo"] body[data-modo="ajustes"] .chk input[type="checkbox"]:focus-visible { outline: 2px solid var(--mp-tinta); outline-offset: 2px; }
/* un campo con su nombre: nombre y explicación a la izquierda, el control a la derecha */
[data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
[data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) > select, [data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) > input { width: auto; min-width: 180px; max-width: 55%; }
/* Apariencia: las opciones como píldoras */
[data-marco="nuevo"] .apariencia-opciones { display: flex; flex-direction: column; gap: 20px; }
[data-marco="nuevo"] .apariencia-opciones fieldset { display: flex; flex-flow: row wrap; gap: 8px; }
[data-marco="nuevo"] .apariencia-opciones legend { flex: 0 0 100%; margin: 0 0 4px; padding: 0; font: 500 0.8125rem/1.125rem var(--sans); color: var(--mp-tinta2); }
[data-marco="nuevo"] .apariencia-opciones label { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); font: 500 0.9375rem/1 var(--sans); cursor: pointer; transition: background-color 150ms var(--mp-ease), border-color 150ms var(--mp-ease); }
[data-marco="nuevo"] .apariencia-opciones label input { position: absolute; opacity: 0; pointer-events: none; }
[data-marco="nuevo"] .apariencia-opciones label:has(input:checked) { background: var(--mp-tinta); border-color: var(--mp-tinta); color: var(--mp-pag); font-weight: 600; }
[data-marco="nuevo"] .apariencia-opciones label:has(input:focus-visible) { outline: 2px solid var(--mp-tinta); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { [data-marco="nuevo"] .apariencia-opciones label:not(:has(input:checked)):hover { border-color: var(--mp-tinta); } }

/* ---------- lo que no se rediseña en P2: solo tipografía, color y esquinas (P3–P5 lo rehacen) ---------- */
[data-marco="nuevo"] .card { padding: 24px; border: 1px solid var(--mp-contorno); background: var(--mp-tarjeta); box-shadow: none; border-radius: var(--mp-r); }
[data-marco="nuevo"] .card h3 { font: 700 0.9375rem/1.25rem var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--mp-tinta); margin-bottom: 14px; }
[data-marco="nuevo"] body[data-modo="ajustes"] #view .card > h3 { font: 600 1.25rem/1.625rem var(--sans); letter-spacing: -.005em; text-transform: none; }
[data-marco="nuevo"] .card h3 .btn, [data-marco="nuevo"] .card h3 .linkbtn { font-family: var(--sans); letter-spacing: 0; text-transform: none; }
/* Despacho: la ficha del bufete ocupa el alto del par Equipo/Plan; en teléfono las tres quedan en una sola columna. */
[data-marco="nuevo"] .dsp { align-items: stretch; }
[data-marco="nuevo"] .dsp > .card:first-child, [data-marco="nuevo"] .dsp-resumen { min-width: 0; }
[data-marco="nuevo"] .dsp-resumen { grid-template-rows: auto 1fr; align-content: start; }          /* «Su equipo» a su alto natural; «Plan» ocupa el resto */
[data-marco="nuevo"] .dsp-resumen .card { display: flex; flex-direction: column; min-width: 0; }
[data-marco="nuevo"] .dsp-resumen .card > .btn:last-child { align-self: flex-start; margin-top: 12px; }
[data-marco="nuevo"] .dsp-resumen .plan-bufete { font-size: 0.875rem; }
[data-marco="nuevo"] .dsp-resumen .plan-ejemplos { max-width: 100%; }
[data-marco="nuevo"] .btn { min-height: 44px; padding: 0 20px; border: 1px solid var(--mp-borde-in); border-radius: 999px; background: var(--mp-campo); color: var(--mp-tinta); font: 500 0.9375rem/1 var(--sans); box-shadow: none; }
[data-marco="nuevo"] .btn.pri { background: var(--mp-tinta); border-color: var(--mp-tinta); color: var(--mp-pag); font-weight: 600; box-shadow: none; }
[data-marco="nuevo"] .btn.sm { min-height: 36px; padding: 0 14px; font-size: 0.875rem; }
[data-marco="nuevo"] .btn.icon { padding: 0; min-width: 44px; }
[data-marco="nuevo"] .btn.danger { color: var(--mp-rojo); }
[data-marco="nuevo"] .btn[disabled], [data-marco="nuevo"] .btn.pri[disabled] { background: var(--mp-sutil); border-color: var(--mp-borde); color: var(--mp-tinta2); }
@media (hover: hover) and (pointer: fine) {
  [data-marco="nuevo"] .btn:hover { border-color: var(--mp-tinta); background: var(--mp-campo); }
  [data-marco="nuevo"] .btn.pri:hover { background: var(--blue-d); border-color: var(--blue-d); }
  [data-marco="nuevo"] .btn.danger:hover { border-color: var(--mp-rojo); background: var(--mp-rojo-s); }
}
[data-marco="nuevo"] .linkbtn { color: var(--mp-tinta); font-size: 0.875rem; min-height: 44px; }
[data-marco="nuevo"] .lbl { color: var(--mp-tinta3); font-size: 0.75rem; }
[data-marco="nuevo"] .lbl.gold { color: var(--mp-ambar); }
[data-marco="nuevo"] .item { padding: 12px 0; border-top-color: var(--mp-borde); }
[data-marco="nuevo"] .item .it { font-size: 0.9375rem; font-weight: 500; }
[data-marco="nuevo"] .item .when { width: 96px; font-size: 0.8125rem; font-weight: 500; color: var(--mp-tinta2); }
[data-marco="nuevo"] .item .sub, [data-marco="nuevo"] .tbl .sub { font-size: 0.8125rem; color: var(--mp-tinta2); }
[data-marco="nuevo"] .pill, [data-marco="nuevo"] .tag { font-size: 0.75rem; font-weight: 600; border-radius: 999px; padding: 3px 10px; background: var(--mp-sutil); color: var(--mp-tinta2); }
[data-marco="nuevo"] .pill.red { background: var(--mp-rojo-s); color: var(--mp-rojo); }
[data-marco="nuevo"] .pill.gold { background: var(--mp-ambar-s); color: var(--mp-ambar); }
[data-marco="nuevo"] .pill.green, [data-marco="nuevo"] .t-cita { background: var(--mp-verde-s); color: var(--mp-verde); }
[data-marco="nuevo"] .pill.gray, [data-marco="nuevo"] .t-pendiente { background: var(--mp-sutil); color: var(--mp-tinta2); }
[data-marco="nuevo"] .tbl { font-size: 0.9375rem; background: var(--mp-tarjeta); border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); }
[data-marco="nuevo"] .tbl th { background: var(--mp-tarjeta); color: var(--mp-tinta2); font: 500 0.8125rem/1.125rem var(--sans); letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--mp-borde); padding: 10px 14px; }
[data-marco="nuevo"] .tbl td { border-bottom-color: var(--mp-borde); }
[data-marco="nuevo"] .tbl tfoot td { background: var(--mp-sutil); }
[data-marco="nuevo"] .toolbar input[type=search], [data-marco="nuevo"] .toolbar input[type=month], [data-marco="nuevo"] .toolbar select,
[data-marco="nuevo"] .f input:not([type=checkbox]):not([type=radio]), [data-marco="nuevo"] .f select, [data-marco="nuevo"] .field { min-height: 44px; border: 1px solid var(--mp-borde-in); border-radius: 999px; padding: 0 16px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem var(--sans); }
[data-marco="nuevo"] .f textarea, [data-marco="nuevo"] textarea.field { border: 1px solid var(--mp-borde-in); border-radius: 16px; padding: 12px 16px; background: var(--mp-campo); color: var(--mp-tinta); font: 400 0.9375rem/1.5 var(--sans); }
[data-marco="nuevo"] .f input:focus, [data-marco="nuevo"] .f select:focus, [data-marco="nuevo"] .f textarea:focus, [data-marco="nuevo"] .field:focus, [data-marco="nuevo"] .toolbar input:focus, [data-marco="nuevo"] .toolbar select:focus { outline: none; border-color: var(--mp-tinta); box-shadow: 0 0 0 3px var(--mp-relleno); }
[data-marco="nuevo"] .f > span { font: 500 0.8125rem/1.125rem var(--sans); letter-spacing: 0; text-transform: none; color: var(--mp-tinta2); }
[data-marco="nuevo"] .f input::placeholder, [data-marco="nuevo"] .f textarea::placeholder { color: var(--mp-tinta3); opacity: 1; }
[data-marco="nuevo"] .empty { color: var(--mp-tinta2); border: 1px dashed var(--mp-borde-in); background: transparent; border-radius: var(--mp-r); font-size: 0.9375rem; }
[data-marco="nuevo"] .empty-state strong { color: var(--mp-tinta); font-size: 0.9375rem; }
[data-marco="nuevo"] .empty-state span { color: var(--mp-tinta2); font-size: 0.875rem; }
[data-marco="nuevo"] .empty-state .ei { background: var(--mp-sutil); color: var(--mp-tinta); border-radius: 999px; }
[data-marco="nuevo"] .warn { border-radius: 16px; font-size: 0.875rem; background: var(--mp-sutil); color: var(--mp-tinta); border-color: var(--mp-contorno); }
[data-marco="nuevo"] .warn.err, [data-marco="nuevo"] .warnbox, [data-marco="nuevo"] .okbox { border-radius: 14px; color: var(--mp-tinta); }
[data-marco="nuevo"] .warnbox { background: var(--mp-sutil); border: 1px solid var(--mp-borde); }
[data-marco="nuevo"] .warn.err { background: var(--mp-rojo-s); border-color: var(--mp-rojo); }
[data-marco="nuevo"] .okbox { background: var(--mp-verde-s); }
[data-marco="nuevo"] .warn svg { color: var(--mp-tinta); }
[data-marco="nuevo"] .summary { background: var(--mp-tarjeta); color: var(--mp-tinta); border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); }
[data-marco="nuevo"] .summary::after { display: none; }
[data-marco="nuevo"] .modal { border-radius: 20px; background: var(--mp-flota); color: var(--mp-tinta); border: 1px solid var(--mp-contorno); box-shadow: var(--mp-sombra); }
[data-marco="nuevo"] .modal footer { background: var(--mp-tarjeta); border-radius: 0 0 19px 19px; }
[data-marco="nuevo"] .modal header h2 { font: 700 1.25rem/1.625rem var(--sans); text-transform: uppercase; }
[data-marco="nuevo"] .xtabs button { font-size: 0.9375rem; font-weight: 500; color: var(--mp-tinta2); }
[data-marco="nuevo"] .xtabs button.on { color: var(--mp-tinta); border-bottom-color: var(--mp-tinta); font-weight: 600; }
[data-marco="nuevo"] .seg button.on { background: var(--mp-tinta); color: var(--mp-pag); }
[data-marco="nuevo"] .toast { background: var(--mp-tinta); color: var(--mp-pag); border-radius: var(--mp-r-in); }
[data-marco="nuevo"] .resumen-primer-uso { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; max-width: 1540px; margin: 18px auto 0; padding: 16px; border: 1px solid var(--mp-contorno); border-radius: var(--mp-r); background: var(--mp-flota); color: var(--mp-tinta); box-shadow: var(--mp-sombra); }
[data-marco="nuevo"] .resumen-primer-uso .toast-actions { display: flex; gap: 8px; flex: none; }
[data-marco="nuevo"] #view .resumen-primer-uso { margin: 0 0 20px; }          /* en Hoy, debajo de las cifras */

[data-marco="nuevo"] .estado, [data-marco="nuevo"] .estado.A, [data-marco="nuevo"] .estado.R { background: var(--mp-sutil); color: var(--mp-tinta); box-shadow: inset 0 0 0 1px var(--mp-borde-in); }
[data-marco="nuevo"] .estado.S { background: var(--mp-verde-s); color: var(--mp-verde); box-shadow: none; }
[data-marco="nuevo"] .xtabs button em, [data-marco="nuevo"] .xtabs button.on em { background: var(--mp-sutil); color: var(--mp-tinta); }

/* ---------- teléfono: el menú es un cajón; arriba, menú, avisos, búsqueda y avatar; una sola columna ---------- */
@media (max-width: 899.98px) {
  [data-marco="nuevo"] body { display: block; }
  [data-marco="nuevo"] aside { display: flex; position: fixed; inset: 0 auto 0 0; width: min(320px, 88vw); height: 100%; padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); z-index: 60; transform: translateX(-102%); transition: transform 240ms var(--mp-ease); box-shadow: none; visibility: hidden; border-right: 1px solid var(--mp-borde); }
  [data-marco="nuevo"] body.mp-cajon aside { transform: none; visibility: visible; box-shadow: var(--mp-sombra); }
  [data-marco="nuevo"] .mp-escrim { position: fixed; inset: 0; z-index: 55; background: rgb(0 0 0 / .4); opacity: 0; pointer-events: none; transition: opacity 200ms var(--mp-ease); }
  [data-marco="nuevo"] body.mp-cajon .mp-escrim { opacity: 1; pointer-events: auto; }
  [data-marco="nuevo"] .mp-contraer { display: none; }
  [data-marco="nuevo"] main { width: 100%; }
  [data-marco="nuevo"] .top { padding: env(safe-area-inset-top) 16px 0; height: calc(var(--mp-barra) + env(safe-area-inset-top)); min-height: calc(var(--mp-barra) + env(safe-area-inset-top)); gap: 0; position: relative; }
  /* En el teléfono la marca comparte la barra con cuatro controles. No puede
     conservar el mínimo de escritorio, o ensancha toda la página. */
  [data-marco="nuevo"] .top-brand { min-width: 0; flex: 1 1 0; }
  [data-marco="nuevo"] .mp-menu { display: inline-grid; margin-left: 0; }
  [data-marco="nuevo"] .crumb { display: block; flex: 1; }
  [data-marco="nuevo"] .gs { margin-left: 0; }
  [data-marco="nuevo"] .tabbar { display: block !important; position: fixed; inset: auto 0 0; z-index: 40; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: var(--mp-pag); border-top: 1px solid var(--mp-borde); }
  [data-marco="nuevo"] .mp-phonebar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
  [data-marco="nuevo"] .mp-phonebar button { display: grid; place-items: center; gap: 2px; min-width: 0; min-height: 48px; padding: 3px 1px; border: 0; border-radius: 10px; background: transparent; color: var(--mp-tinta2); font: 600 0.6875rem/1.1 var(--sans); }
  [data-marco="nuevo"] .mp-phonebar button.on { color: var(--mp-tinta); background: var(--mp-relleno); }
/* conteo de «Por revisar» en la barra del teléfono, el mismo de la barra lateral */
.mp-phonebar button { position: relative; }
.mp-phonebar .mp-pb-n { position: absolute; top: 2px; left: calc(50% + 6px); min-width: 16px; padding: 0 4px; border-radius: 8px; background: var(--mp-tinta); color: var(--mp-pag); font: 600 .625rem/1.5 var(--sans); text-align: center; }
  [data-marco="nuevo"] .mp-phonebar svg { width: 20px; height: 20px; }
  [data-marco="nuevo"] body.gs-open .gs { left:0; padding:calc(env(safe-area-inset-top) + 12px) 12px 0; height:100dvh; }
  [data-marco="nuevo"] body.gs-open .gs input { font-size: 1rem !important; }
  [data-marco="nuevo"] .gsres, [data-marco="nuevo"] body.mp-col .gsres { left:0; right:0; translate:0; width:auto; top:calc(env(safe-area-inset-top) + 64px); border-radius:0 0 var(--mp-r) var(--mp-r); border-width:1px; box-shadow:var(--mp-sombra); }
  [data-marco="nuevo"] .content { padding: 0 16px calc(82px + env(safe-area-inset-bottom)); overflow-x: hidden; }
  [data-marco="nuevo"] body[data-view="inicio"] .content { overflow-y: auto; }
  [data-marco="nuevo"] .pagehead { margin: 18px 0 16px; }
  [data-marco="nuevo"] .pagehead h1, [data-marco="nuevo"] body[data-view="inicio"] .pagehead h1 { font-size: 1.5rem; line-height: 28px; flex: 1 1 100%; }
  [data-marco="nuevo"] .mp-hoy { height: auto; display: flex; flex-direction: column; gap: 12px; }
  [data-marco="nuevo"] .mp-display { font-size: 1.75rem; line-height: 32px; }
  [data-marco="nuevo"] .mp-card { padding: 16px 16px 4px; max-height: 24rem; flex: none; }
  [data-marco="nuevo"] .mp-prox .mp-card-cuerpo { grid-template-columns: minmax(0, 1fr); }
  [data-marco="nuevo"] .card { padding: 16px; }
  /* Plantillas: en el teléfono la ficha conserva todo el ancho, en orden de lectura. */
  [data-marco="nuevo"] .pl-grid { grid-template-columns:minmax(0, 1fr); }
  [data-marco="nuevo"] .pl-lista .pl-card { display:block; padding:16px; }
  [data-marco="nuevo"] .pl-card .pl-info { margin-bottom:10px; }
  [data-marco="nuevo"] .pl-card .pl-snip { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:0 0 12px; }
  [data-marco="nuevo"] .pl-card .av-btns { display:flex; width:100%; margin:0; }
  [data-marco="nuevo"] .pl-card .av-btns .btn { flex:1 1 0; min-width:0; }
  /* Las pestañas pueden desplazarse dentro de su propia barra, nunca ensanchan la página. */
  [data-marco="nuevo"] .xtabs { max-width:100%; margin-inline:-16px; padding-inline:16px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
  [data-marco="nuevo"] .xtabs::-webkit-scrollbar { display:none; }
  /* El selector y el resumen del cobro quedan en filas que sí caben en la hoja del teléfono. */
  [data-marco="nuevo"] .modal .cb-end { grid-template-columns:minmax(0, 1fr); }
  [data-marco="nuevo"] .modal .cb-tot { justify-content:space-between; gap:8px 12px; }
  [data-marco="nuevo"] .modal .cb-tot span { min-width:0; }
  [data-marco="nuevo"] .dsp-resumen { grid-template-rows: none; }
  [data-marco="nuevo"] .mp-flota { top: calc(var(--mp-barra) + env(safe-area-inset-top) + 4px); left: 8px; right: 8px; width: auto; max-width: none; max-height: calc(100dvh - 90px); }
  [data-marco="nuevo"] .mp-flota.mp-cuenta { width: auto; }
  [data-marco="nuevo"] body[data-modo="ajustes"] .content { padding-left: 16px; }
  [data-marco="nuevo"] body[data-modo="ajustes"] #view .card { padding: 16px; }
  [data-marco="nuevo"] .resumen-primer-uso { margin-top: 14px; flex-direction: column; align-items: stretch; text-align: center; }
  [data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row,
  [data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row { grid-template-columns: minmax(0, 1fr); row-gap: 10px; padding: 16px 0; }
  [data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-control,
  [data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-control { grid-column: 1; grid-row: auto; justify-self: start; }
  [data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row > button,
  [data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row > button { grid-column: 1; justify-self: start; }
  [data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-row .row-btns,
  [data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-row .row-btns { justify-content: flex-start; }
  [data-marco="nuevo"] body[data-cat="perfil"] #view .mp-settings-control:has(> :nth-child(2)),
  [data-marco="nuevo"] body[data-cat="identidadAcceso"] #view .mp-settings-control:has(> :nth-child(2)) { flex-direction: row; align-items: center; }
  [data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) { flex-direction: column; align-items: stretch; }
  [data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) > select, [data-marco="nuevo"] body[data-modo="ajustes"] label.f:not(.full) > input { max-width: none; width: 100%; }
}
@media (max-width: 479.98px) {
  /* El cliente cede primero; el expediente no se corta ni cambia de línea. */
  [data-marco="nuevo"] .mp-fila-caso { width: 100%; }
  [data-marco="nuevo"] .mp-fila-caso .mp-fila-num { order: -1; }
  [data-marco="nuevo"] .mp-fila-cliente { flex: 1 1 auto; }
  [data-marco="nuevo"] .mp-fila-cliente + .mp-fila-num::before { content: none; margin: 0; }
  [data-marco="nuevo"] .mp-fila-cliente + .mp-fila-num::after { content: "·"; margin: 0 6px; font-family: var(--sans); letter-spacing: 0; }          /* el número va primero (order) y el punto medio lo cierra: el selector «+» sigue el orden del documento, no el visual */
  /* en el teléfono el estado pasa a su propia línea: ni el cliente ni el número se quedan en unas pocas letras */
  [data-marco="nuevo"] .mp-fila-m:has(.mp-fila-caso) { flex-wrap: wrap; }
  [data-marco="nuevo"] .mp-fila-caso + .mp-fila-e::before { content: none; margin: 0; }
}

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
  [data-marco="nuevo"] aside, [data-marco="nuevo"] .mp-flota, [data-marco="nuevo"] .mp-chev, [data-marco="nuevo"] .mp-escrim, [data-marco="nuevo"] .mp-it::after { transition-duration: .01ms !important; }
  [data-marco="nuevo"] .mp-flota { scale: 1; translate: 0 0; }
}
@media print { [data-marco="nuevo"] aside, [data-marco="nuevo"] .mp-flota, [data-marco="nuevo"] .mp-escrim { display: none !important; } }

/* ---------- P4: Agenda (el calendario vive en agenda.css) ---------- */
/* Documentos y vistas previas nunca heredan el radio de los botones. */
[data-marco="nuevo"] .pl-prev, [data-marco="nuevo"] .cu-paper, [data-marco="nuevo"] .pdoc-paper { border-radius: var(--mp-r-in); }
[data-marco="nuevo"] .pl-edit-block { min-height: 1.55em; outline: 0; }
[data-marco="nuevo"] .pl-edit-block:focus { box-shadow: 0 0 0 2px var(--mp-relleno); }
[data-marco="nuevo"] .pl-blank, [data-marco="nuevo"] .pl-blank-input { display: inline; min-height: 0; padding: 0 2px; border: 0; border-bottom: 1px dashed var(--mp-tinta2); border-radius: 0; background: transparent; color: inherit; font: inherit; cursor: text; }
[data-marco="nuevo"] .pl-blank-input { min-width: 7ch; outline: 2px solid var(--mp-tinta); outline-offset: 1px; }
[data-marco="nuevo"] .mp-plazos-grid > .card { max-height: min(540px, calc(100dvh - 240px)); overflow: auto; }
[data-marco="nuevo"] .mp-plazos-grid .item { display: grid; grid-template-columns: minmax(0, 7.5rem) minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; }
[data-marco="nuevo"] .mp-plazos-grid .item .when { white-space: nowrap; font-variant-numeric: tabular-nums; }
[data-marco="nuevo"] .mp-plazos-grid .item .sub { margin-top: 2px; font-size: .75rem; color: var(--mp-tinta2); }
[data-marco="nuevo"] .mp-plazos-grid .item .row-btns { margin: 4px 0 0; }
[data-marco="nuevo"] .mp-plazos-grid .item .pl-error { min-height: 0; padding: 0; border: 0; background: transparent; text-decoration: underline; }
[data-marco="nuevo"] .mp-plazos-grid .pl-error, [data-marco="nuevo"] .mp-plazos-grid .pl-ver-todos { display: inline-block; margin-top: 4px; color: var(--mp-acento); font-size: .75rem; }
[data-marco="nuevo"] .mp-plazos-vacio { margin: 0; padding: 8px 0; white-space: nowrap; }
@media (max-width: 479.98px) { [data-marco="nuevo"] .mp-plazos-grid .item { grid-template-columns: minmax(0, 5.25rem) minmax(0, 1fr) auto; gap: 6px; font-size: .8125rem; } }
@media (min-width:900px) and (max-height:850px) {
  [data-marco="nuevo"] .legend { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:center; margin-top:6px; }
}
[data-marco="nuevo"] .plan-ejemplos td { border-top-color: var(--mp-borde); }
[data-marco="nuevo"] .plan-ejemplos caption { font-size: 0.8125rem; }
/* Ajustes: columna de lectura de 720 px (se había perdido al fusionar con main) */
[data-marco="nuevo"] body[data-modo="ajustes"] #view { max-width: 720px; margin: 0; }
[data-marco="nuevo"] body[data-modo="ajustes"] .pagehead { max-width: 720px; margin-left: 0; margin-right: auto; }

/* Neo en la barra (0.5.69): avatar redondo, aparte, justo encima de la línea de «Ajustes» */
[data-marco="nuevo"] .mp-neo-nav { flex: none; margin-top: 6px; }
[data-marco="nuevo"] .mp-neo-av { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; object-position: top; background: var(--mp-relleno); flex: none; }
[data-marco="nuevo"] body.mp-col .mp-neo-nav { width: 100%; display: flex; justify-content: center; }
/* 4 nov 2026: línea «Importar datos» cuando la agenda está vacía */
[data-marco="nuevo"] .mp-importar { margin: 0 0 14px; padding: 10px 14px; border: 1px dashed var(--mp-borde); border-radius: 12px; color: var(--mp-tinta2); font: 400 .9375rem/1.4 var(--sans); }
[data-marco="nuevo"] .mp-importar .linkbtn { font-weight: 600; color: var(--mp-tinta); }
[data-marco="nuevo"] .mp-importar { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-style: solid; background: var(--mp-tarjeta); }
[data-marco="nuevo"] .mp-importar b, [data-marco="nuevo"] .mp-importar span { display: block; }
[data-marco="nuevo"] .mp-importar b { margin-bottom: 3px; color: var(--mp-tinta); }
[data-marco="nuevo"] .mp-importar-acciones { display: flex; flex-wrap: wrap; gap: 6px; }
[data-marco="nuevo"] .mp-importar-acciones .btn { white-space: nowrap; }
[data-marco="nuevo"] .mp-importar { position: relative; padding-right: 48px; }
[data-marco="nuevo"] .mp-importar-x { position: absolute; top: 6px; right: 6px; }
@media (max-width: 900px) { [data-marco="nuevo"] .mp-importar { align-items: flex-start; flex-direction: column; } }
/* 4 nov 2026: feriados y cierres colectivos (solo lectura) en la Agenda y en Hoy. Fondo sutil y borde punteado si están por confirmar; el texto usa tinta 2 (AA en claro y oscuro). */
[data-marco="nuevo"] .ma-marca { display: flex; align-items: baseline; gap: 6px; min-width: 0; padding: 2px 6px; border-left: 3px solid var(--mp-tinta2); border-radius: 6px; background: var(--mp-sutil); color: var(--mp-tinta2); font: 600 .75rem/1.35 var(--sans); cursor: default; }
[data-marco="nuevo"] .ma-marca span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-marco="nuevo"] .ma-marca small { flex: none; font: 500 .6875rem/1.35 var(--sans); }
[data-marco="nuevo"] .ma-marca.pc { border-left-style: dashed; }
[data-marco="nuevo"] .resp-avatar { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-left: auto; border-radius: 50%; background: var(--mp-tinta); color: var(--mp-pag); font: 700 .625rem/1 var(--sans); letter-spacing: .02em; flex: none; }
[data-marco="nuevo"] .ma-list .ma-marca { margin: 4px 0; padding: 8px 10px; font-size: .8125rem; }
[data-marco="nuevo"] .mp-fila.mp-fila-marca { cursor: default; }
[data-marco="nuevo"] .mp-fila.mp-fila-marca:hover { background: transparent; }
[data-marco="nuevo"] .ma-day .ma-marca small, [data-marco="nuevo"] .ma-allcell .ma-marca small { display: none; }          /* en las celdas manda el nombre; «por confirmar» queda en el borde punteado y en el título */
/* La búsqueda y sus resultados comparten el mismo ancho en escritorio. */
@media (min-width:900px){[data-marco="nuevo"] body.gs-open .gs-box{flex:0 0 min(640px,calc(100vw - 32px));width:min(640px,calc(100vw - 32px))}[data-marco="nuevo"] body.gs-open .gsres{box-sizing:border-box;width:min(640px,calc(100vw - 32px))}}
/* Materias: el matiz va en el punto (≥3:1 sobre fondo y superficies); el texto del chip usa la tinta (≥11:1 claro, ≥8:1 oscuro). Nunca el acento del despacho. */
.materia-chip { --materia-color: var(--k-materia-otra); display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 8px; border-radius: 999px; background: transparent; color: var(--k-tinta); font: 600 var(--k-t-sec)/1.25 var(--k-fuente); white-space: nowrap; }
.materia-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: color-mix(in srgb, var(--materia-color) 62%, var(--mp-tinta2)); }
.materia-penal { --materia-color: var(--k-materia-penal); }.materia-civil { --materia-color: var(--k-materia-civil); }.materia-comercial { --materia-color: var(--k-materia-comercial); }.materia-cobro { --materia-color: var(--k-materia-cobro); }.materia-laboral { --materia-color: var(--k-materia-laboral); }.materia-familia { --materia-color: var(--k-materia-familia); }.materia-pensiones { --materia-color: var(--k-materia-pensiones); }.materia-contencioso { --materia-color: var(--k-materia-contencioso); }.materia-constitucional { --materia-color: var(--k-materia-constitucional); }.materia-agrario { --materia-color: var(--k-materia-agrario); }.materia-concursal { --materia-color: var(--k-materia-concursal); }.materia-transito { --materia-color: var(--k-materia-transito); }.materia-notarial { --materia-color: var(--k-materia-notarial); }
.materia-filtros { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }.materia-filtros button { font:600 var(--k-t-sec)/1.25 var(--k-fuente); }.materia-filtros button[aria-pressed="true"] { border-color:var(--k-tinta); background:var(--k-superficie-2); color:var(--k-tinta); }
small > .materia-chip, .mp-fila-m > .materia-chip, .ppl-info small > .materia-chip { margin-right: 6px; }
.mp-materia-filtro { margin: 0 0 12px; }.mp-materia-filtro select { max-width: 100%; }
.ma-block > .materia-dot, .ma-li-t > .materia-dot { display: inline-block; margin-right: 5px; vertical-align: baseline; }
.ci-main small > .materia-dot, .tbl td > .materia-dot { display: inline-block; margin-right: 6px; vertical-align: baseline; }
.mp-pilot-day-body .materia-dot { display: inline-block; margin-right: 6px; vertical-align: baseline; }
/* Audiencias: las acciones siguen usando los botones y colores del kit. */
.aud-faltan{display:inline-block;margin:.2rem 0;padding:.08rem .4rem;border-radius:var(--mp-r-in);background:var(--mp-sutil);font-size:.78rem;font-weight:700}.aud-faltan-alerta,.aud-prep-alerta{color:var(--mp-rojo)}.aud-prep{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--mp-borde)}.aud-prep header{display:flex;justify-content:space-between;gap:.5rem}.aud-prep-list>div{display:flex;align-items:center;gap:.3rem;margin:.45rem 0}.aud-prep-list label{flex:1;min-width:0}.aud-prep-list .btn{padding:.2rem .4rem;font-size:.78rem}.aud-prep footer{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}@media(max-width:480px){.aud-prep-list>div{flex-wrap:wrap}.aud-prep-list label{flex-basis:100%}}
.aud-fila-box{border-bottom:1px solid var(--mp-borde)}.aud-fila-acc{padding:0 20px 12px}html[data-marco="nuevo"][data-interfaz="bufete"] .aud-fila-box .mp-pilot-event{border-bottom:0}

/* 9 nov: conteo del Buzón judicial en la barra lateral */
[data-marco="nuevo"] .mp-it-n { margin-left: auto; min-width: 20px; padding: 1px 6px; border-radius: 10px; background: var(--mp-tinta); color: var(--mp-pag); font: 600 .75rem/1.4 var(--sans); text-align: center; }

/* Buzón judicial: un plazo «Por confirmar» en la agenda se ve con borde discontinuo y sin relleno (no es el color del acento); el aviso «Buzón judicial · N por confirmar» va sobre el calendario */
[data-marco="nuevo"] .ma-pz { border: 1px dashed var(--mp-contorno); border-left-style: dashed; border-left-width: 3px; background: transparent; }
[data-marco="nuevo"] .ma-pz b { font-weight: 500; }
/* Por revisar: la misma fila se usa en su vista y en el resumen de Hoy. */
.pr-pagina{max-width:980px}.pr-intro{margin:0 0 16px;color:var(--mp-tinta-suave)}.pr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pr-chip{border:1px solid var(--mp-borde);border-radius:999px;background:var(--mp-pag);padding:6px 12px;color:var(--mp-tinta);font:600 .82rem/1 var(--sans)}.pr-chip.on{background:var(--mp-tinta);border-color:var(--mp-tinta);color:var(--mp-pag)}.pr-fila{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--mp-borde);border-radius:var(--mp-r,14px);padding:12px 14px;margin:0 0 9px;background:var(--mp-pag)}.pr-icono{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--mp-sutil);color:var(--mp-tinta)}.pr-icono svg{width:19px}.pr-texto{min-width:0}.pr-texto b,.pr-texto small{display:block}.pr-texto small{margin-top:3px;color:var(--mp-tinta-suave);font-size:.82rem}.pr-estado{display:inline-block;margin-right:6px;padding:2px 6px;border-radius:6px;background:var(--mp-sutil);font-size:.72rem}.pr-estado.urgente{background:#fbe9e7;color:var(--mp-rojo)}.pr-acciones{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.pr-hoy{margin:14px 0}.pr-hoy .pr-fila{margin-bottom:8px}@media(max-width:600px){.pr-fila{grid-template-columns:34px minmax(0,1fr)}.pr-icono{width:34px;height:34px}.pr-acciones{grid-column:1/-1}.pr-hoy .pr-fila{padding:10px}}
/* en Hoy las filas de «Por revisar» van dentro del panel: separadas por una línea, sin tarjeta dentro de tarjeta */
.pr-hoy .pr-fila { margin: 0; border: 0; border-top: 1px solid var(--mp-borde); border-radius: 0; background: transparent; }
.sug-dia{margin:0 0 18px}.sug-dia h2{font-size:1rem;margin:0 0 8px}.sug-cab{margin:-8px 0 10px}.sug-fila{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--mp-borde);border-radius:var(--mp-r,14px);margin:8px 0;background:var(--mp-pag)}.sug-seleccion{padding-top:3px}.sug-cuerpo{display:grid;gap:3px;min-width:0}.sug-cuerpo small{color:var(--mp-tinta-suave)}.sug-est{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sug-chip-est{display:inline-block;width:max-content;padding:2px 6px;border-radius:999px;background:var(--mp-sutil);color:var(--mp-tinta-suave);font-size:.72rem}.sug-total{display:grid;text-align:right;white-space:nowrap}.sug-total span{font-size:.85rem;color:var(--mp-tinta-suave)}.sug-acciones{grid-column:2/-1;display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.sug-lote{position:sticky;bottom:8px;padding:10px;border:1px solid var(--mp-borde);border-radius:var(--mp-r,14px);background:var(--mp-pag);text-align:right}@media(max-width:600px){.sug-fila{grid-template-columns:auto minmax(0,1fr)}.sug-total{grid-column:2;text-align:left;grid-auto-flow:column;justify-content:start;gap:8px}.sug-acciones{grid-column:1/-1}.sug-acciones .btn{flex:1}.sug-vista{margin-top:8px}.sug-pagina{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.sug-lote{bottom:calc(76px + env(safe-area-inset-bottom))}}
.mp-phonebar .mp-pb-n { top: 4px; left: calc(50% + 4px); }
/* Alta breve: conserva la tarjeta y tipografía del kit, también a 390 px. */
.primeros-pasos{max-width:560px}.primeros-pasos .body{padding:24px}.primeros-pasos h2{font:600 clamp(1.35rem,4vw,1.8rem)/1.15 var(--k-fuente)}.pp-subtitulo{margin:6px 0 0}.pp-areas{gap:8px;margin-top:12px}.pp-propuesta{display:flex;flex-direction:column;gap:4px}.pp-propuesta b{font-size:1.05rem}.ej-chip{margin-left:6px;vertical-align:middle;font-size:.72rem}.primeros-check{margin:14px 0}.primeros-check .linkbtn{min-height:44px}.pp-resaltado{outline:3px solid var(--k-acento);outline-offset:2px;animation:pp-resaltado 2.4s ease-out forwards}@keyframes pp-resaltado{to{outline-color:transparent}}@media(prefers-reduced-motion:reduce){.pp-resaltado{animation:none}}@media(max-width:420px){.primeros-pasos{width:calc(100vw - 20px)}.primeros-pasos footer,.primeros-pasos .row-btns{display:grid;grid-template-columns:1fr}.primeros-pasos .btn{min-height:44px;white-space:normal}.primeros-pasos .pp-areas{display:flex;flex-wrap:wrap}.primeros-pasos .pp-areas .btn{width:auto;flex:0 0 auto}}
/* Informes y Mis números: controles nativos en una fila; cifras grandes; tablas que se desplazan dentro de su tarjeta. */
.inf-cabeza{display:flex;gap:10px 14px;align-items:end;flex-wrap:wrap;margin-bottom:6px}.inf-campo{display:grid;gap:4px;font-size:.8125rem;color:var(--mp-tinta2)}.inf-cabeza .row-btns{margin-left:auto}
.inf-nota{margin:6px 0 2px}.inf-sec{margin-top:16px}.inf-sec h3{font-size:.9375rem;margin:14px 0 6px}
.inf-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:8px 0 12px}.inf-cifra{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--mp-borde);border-radius:12px}.inf-cifra b{font-size:1.25rem;font-variant-numeric:tabular-nums}.inf-cifra span{font-size:.75rem;color:var(--mp-tinta2)}
.inf-semanas{display:flex;gap:6px;align-items:end;overflow-x:auto;margin:10px 0 4px;padding-bottom:2px}.inf-semana{display:grid;justify-items:center;gap:3px;min-width:44px;font-size:.75rem}.inf-barra{display:block;width:18px;height:56px;border-radius:6px;background:linear-gradient(to top,var(--mp-tinta) var(--h),var(--mp-relleno) var(--h))}.inf-semana small{color:var(--mp-tinta2);white-space:nowrap}
.inf-tabla{max-width:100%;overflow-x:auto;margin:8px 0}.inf-tabla td{font-variant-numeric:tabular-nums}.inf-moneda+.inf-moneda{margin-top:14px}
@media(max-width:600px){.inf-cabeza{align-items:stretch}.inf-cabeza .row-btns{margin-left:0}.inf-campo,.inf-campo select{width:100%}.inf-pagina{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}


/* 0.8.106: fin de la prueba. Una línea fina en el lugar del aviso de suscripción; el detalle va en «Más». */
.aviso-lectura{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:8px 14px}.aviso-lectura p{margin:0;flex:1 1 320px;min-width:0}.aviso-lectura .row-btns{margin:0;flex:0 0 auto}.solo-lectura-mas{display:inline}.solo-lectura-mas summary{display:inline;cursor:pointer;text-decoration:underline}.solo-lectura-mas[open]{display:block;margin-top:4px}@media(max-width:600px){.aviso-lectura .row-btns{flex:1 1 100%}}
/* Asuntos sin movimiento: aviso discreto bajo las cifras de Hoy; en la tabla, la píldora va debajo del número para que no se recorte. */
[data-marco="nuevo"] .mp-movimiento { margin: 10px 0 0; }
[data-marco="nuevo"] .mp-movimiento button { padding: 2px 0; border: 0; background: transparent; color: var(--mp-tinta2); font: inherit; font-size: 0.8125rem; font-weight: 400; cursor: pointer; }
[data-marco="nuevo"] .mp-movimiento button:hover { color: var(--mp-tinta); text-decoration: underline; }
[data-marco="nuevo"] .movimiento-chip { display: inline-block; width: max-content; padding: 2px 8px; border-radius: 999px; background: var(--mp-relleno); color: var(--mp-tinta2); font-size: 0.75rem; font-weight: 500; white-space: nowrap; }
[data-marco="nuevo"] .px-table td .movimiento-chip { display: block; max-width: 100%; margin-top: 3px; }
