/* views/carpeta.css · upgrade 2 (20/10/26) · Carpeta digital del trabajo (pestaña de la ficha) y vista "Carpetas" (año → mes → carpeta).
   Todo bajo .v-carpeta; colores y radios con los tokens de styles.css (capa "UPGRADE 20/10/26"). */

.v-carpeta { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v-carpeta [hidden] { display: none !important; }
.v-carpeta .v-carpeta__file { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; opacity: 0; }

/* --- Cabecera compacta (22/10/26, «primero el contenido»): una línea con la carpeta índigo chica, «9 archivos · 2,3 MB» y
       «Bajar…» (dice lo que trae de verdad); abajo, en gris chico y sin negrita, el nombre de la carpeta en el servidor con
       «Copiar nombre de la carpeta». La ruta, solo si existe. Sin tarjeta: las tarjetas son las secciones. */
.v-carpeta .v-carpeta__head { display: flex; flex-direction: column; gap: 2px; padding: 0 2px 12px; border-bottom: 1px solid var(--line); }
.v-carpeta .v-carpeta__head p { margin: 0; }
.v-carpeta .v-carpeta__head-fila { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 12px; min-height: 36px; }
.v-carpeta .v-carpeta__head-fila > .v-carpeta__head-ico { margin-top: 2px; }
.v-carpeta .v-carpeta__head-fila > .v-carpeta__head-meta { padding-top: 8px; }
.v-carpeta .v-carpeta__head-ico { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: var(--r-sm); background: var(--tile-bg, var(--sel)); color: #FFFFFF; box-shadow: inset 0 -2px 0 var(--imc-orange, var(--accent)); }
.v-carpeta .v-carpeta__head-meta { flex: 1 1 auto; min-width: 0; font-size: var(--fs-small); line-height: 1.4; color: var(--text-2); }
.v-carpeta .v-carpeta__head-meta b { font-weight: 600; color: var(--text-strong); }
.v-carpeta .v-carpeta__zipw { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: none; max-width: 100%; margin-left: auto; }
.v-carpeta .v-carpeta__zip { flex: none; gap: 8px; padding-inline: 12px 14px; }
.v-carpeta .v-carpeta__zip[aria-busy="true"] { opacity: .6; }
/* 22/10/26: lo que no entra en el .zip, a la vista debajo del botón (en el celular un title no se ve) */
.v-carpeta .v-carpeta__zip-nota { max-width: 34ch; font-size: var(--fs-caption); line-height: 1.35; color: var(--text-2); text-align: right; }
.v-carpeta .v-carpeta__nombre { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; padding-left: 44px; font-size: var(--fs-caption); line-height: 1.45; color: var(--text-3); }
.v-carpeta .v-carpeta__nombre-t { overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__ruta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; padding-left: 44px; font-size: var(--fs-caption); line-height: 1.45; color: var(--text-3); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__zip-est { padding-left: 44px; }
.v-carpeta .v-carpeta__zip-est.is-error { color: var(--danger); }

/* --- Soltar archivos (escritorio): toda la carpeta los recibe; al final, una línea discreta lo dice */
.v-carpeta.v-carpeta__campo { border-radius: var(--r-lg); transition: outline-color .15s; outline: 2px dashed transparent; outline-offset: 8px; }
.v-carpeta.v-carpeta__campo.is-arrastrando { outline-color: var(--accent); }
.v-carpeta .v-carpeta__soltar { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 14px; border-radius: var(--r-md); border: 1.5px dashed var(--line-strong);
  font-size: var(--fs-small); line-height: 1.4; color: var(--text-2); transition: background .15s, border-color .15s; }
.v-carpeta .v-carpeta__soltar .ico { flex: none; color: var(--text-3); }
.v-carpeta.is-arrastrando .v-carpeta__soltar { background: var(--accent-soft); border-color: var(--accent); color: var(--text-strong); }
.v-carpeta .v-carpeta__lectura { display: flex; }
/* al pie: la franja de permisos junto a la línea para soltar (22/10/26: arriba empujaba las secciones debajo del pliegue) */
.v-carpeta .v-carpeta__pie { display: flex; flex-direction: column; gap: 8px; }

/* --- Avisos de la carpeta: solo en esta pestaña · subiendo */
.v-carpeta .v-carpeta__sesion { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 12px; border-radius: var(--r-md); background: var(--azul-bg); color: var(--text); font-size: var(--fs-small); line-height: 1.45; }
.v-carpeta .v-carpeta__sesion .ico { color: var(--azul); margin-top: 1px; }
.v-carpeta .v-carpeta__subiendo { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.v-carpeta .v-carpeta__subiendo-t { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; font-size: var(--fs-small); font-weight: 600; color: var(--text-strong); }
.v-carpeta .v-carpeta__subiendo-t .ico { color: var(--azul); }
.v-carpeta .v-carpeta__subiendo-t.is-error, .v-carpeta .v-carpeta__subiendo-t.is-error .ico { color: var(--danger); }
.v-carpeta .v-carpeta__barra { --p: 0; position: relative; display: block; height: 6px; border-radius: 3px; background: var(--seg-todo); overflow: hidden; }
.v-carpeta .v-carpeta__barra > span { position: absolute; inset: 0 auto 0 0; width: calc(var(--p) * 100%); min-width: 6px; border-radius: inherit; background: var(--azul-fill); transition: width .25s linear; }
.v-carpeta .v-carpeta__barra.is-chica { width: 72px; height: 4px; flex: none; }
.v-carpeta .v-carpeta__accion { margin: 0; }

/* --- Secciones (subcarpetas), 22/10/26: el número va en un círculo aparte (como los pasos de Trabajos), con aire;
       después el nombre con su cantidad debajo, y a la derecha el estado y «Agregar». En una tarjeta angosta, el estado baja. */
.v-carpeta .v-carpeta__secs { display: flex; flex-direction: column; gap: 16px; }
.v-carpeta .v-carpeta__sec { padding: 16px 18px 18px; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-card); min-width: 0; container: carpsec / inline-size; }
.v-carpeta .v-carpeta__sec-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; }
.v-carpeta .v-carpeta__sec-head { margin-bottom: 14px; }
/* el contenido de la sección arranca alineado con el nombre (el número queda solo, en su columna) */
.v-carpeta .v-carpeta__sec > :not(.v-carpeta__sec-head) { margin-left: 44px; }
.v-carpeta .v-carpeta__sec-num { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--line-strong); color: var(--text-2); font: 600 14px/1 var(--font-ui); }
.v-carpeta .v-carpeta__sec.is-con .v-carpeta__sec-num { background: var(--sel); color: var(--on-sel); box-shadow: none; }
.v-carpeta .v-carpeta__sec-tit { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v-carpeta .v-carpeta__sec-t { margin: 0; font: 600 var(--fs-body)/1.25 var(--font-ui); letter-spacing: 0; color: var(--text-strong); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__sec-cant { font-size: var(--fs-caption); line-height: 1.3; color: var(--text-2); }
.v-carpeta .v-carpeta__sec-der { display: inline-flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px 10px; }
.v-carpeta .v-carpeta__sec-add { position: relative; cursor: pointer; min-height: 36px; gap: 6px; }
.v-carpeta .v-carpeta__sec-add:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-md); }
.v-carpeta .v-carpeta__vacia { margin-top: 0; margin-bottom: 0; line-height: 1.45; }
/* avisos del archivo (22/10/26) adentro de la sección 1, debajo de «Falta corregir»: nota ámbar, sin tarjeta propia */
.v-carpeta .v-carpeta__sec-avisos { display: grid; gap: 8px; margin-bottom: 12px; }
.v-carpeta .v-carpeta__sec-avisos > * { margin: 0; }
.v-carpeta .v-carpeta__sec-avisos .bloqueo, .v-carpeta .v-carpeta__sec-avisos .traba { padding: 10px 12px; border-radius: var(--r-md); background: var(--warn-bg); box-shadow: none; }
.v-carpeta .v-carpeta__sec-avisos .bloqueo > .ico { color: var(--warn); }
.v-carpeta .v-carpeta__sec-avisos .bloqueo__t, .v-carpeta .v-carpeta__sec-avisos .traba__t { font-size: var(--fs-small); line-height: 1.45; font-weight: 600; color: var(--text-strong); }
.v-carpeta .v-carpeta__sec-avisos .traba__nivel { color: var(--warn); }
.v-carpeta .v-carpeta__sec-avisos .bloqueo__a, .v-carpeta .v-carpeta__sec-avisos .traba__a { margin-top: 8px; }
.v-carpeta .v-carpeta__sec-bajar { margin: 10px 0 0 -8px; }
/* Fotos: cuántas tiene el informe original y cuántas subió el equipo, en gris chico pegado al título */
.v-carpeta .v-carpeta__sec-origen { margin-top: -10px; margin-bottom: 10px; font-size: var(--fs-caption); line-height: 1.4; color: var(--text-2); }
.v-carpeta .v-carpeta__sec-extra { margin-top: 10px; }
.v-carpeta .v-carpeta__sec-extra > .btn--tertiary:first-child { margin-left: -8px; }
/* sección vacía que no frena nada (22/10/26): una sola línea «3 Documentos del cliente · vacía  + Agregar», sin tarjeta llena */
.v-carpeta .v-carpeta__sec.is-plegada { padding: 6px 18px; background: transparent; box-shadow: inset 0 0 0 1px var(--line); }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-head { margin-bottom: 0; min-height: 40px; }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-num { width: 26px; height: 26px; margin-inline: 2px; font-size: 13px; }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-tit { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-t { font-weight: 500; color: var(--text); }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-cant { font-size: var(--fs-small); }
.v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-extra { margin-top: 0; margin-bottom: 6px; }
.v-carpeta .v-carpeta__sec.is-plegada + .v-carpeta__sec.is-plegada { margin-top: -8px; }
/* tarjeta angosta (ficha en el celular): el estado y «Agregar» bajan debajo del nombre, alineados con él */
@container carpsec (max-width: 440px) {
  .v-carpeta .v-carpeta__sec-head { grid-template-columns: auto minmax(0, 1fr); }
  .v-carpeta .v-carpeta__sec-der { grid-column: 2; justify-content: flex-start; margin-left: -8px; }
  .v-carpeta .v-carpeta__sec-der .chip { margin-left: 8px; }
  .v-carpeta .v-carpeta__sec > :not(.v-carpeta__sec-head) { margin-left: 0; }
  /* la sección vacía sigue en una línea: «+ Agregar» a la derecha */
  .v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-head { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 10px; }
  .v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-der { grid-column: auto; margin-left: 0; }
  .v-carpeta .v-carpeta__sec.is-plegada .v-carpeta__sec-add { margin-right: -8px; }
}

/* --- Lista de archivos (informe, documentos, factura, otros): miniatura · nombre, tipo y peso, dónde está · acciones con texto debajo */
.v-carpeta .v-carpeta__lista { list-style: none; margin: 0; padding: 0; }
.v-carpeta .v-carpeta__fila { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 14px; padding: 14px 0; }
.v-carpeta .v-carpeta__lista > .v-carpeta__fila:first-child { padding-top: 4px; }
.v-carpeta .v-carpeta__lista > .v-carpeta__fila:last-child { padding-bottom: 0; }
.v-carpeta .v-carpeta__fila + .v-carpeta__fila { border-top: 1px solid var(--line); }
.v-carpeta .v-carpeta__mini { position: relative; display: grid; place-items: center; align-content: center; gap: 2px; width: 56px; height: 56px; padding: 0; border: 0; border-radius: 10px;
  background: var(--bg-sunken); color: var(--text-3); overflow: hidden; text-decoration: none; flex: none; cursor: default; }
.v-carpeta button.v-carpeta__mini, .v-carpeta a.v-carpeta__mini { cursor: pointer; }
.v-carpeta .v-carpeta__mini b { font: 700 10px/1 var(--font-ui); letter-spacing: .02em; text-transform: uppercase; }
.v-carpeta .v-carpeta__mini.con-img { background: var(--bg-sunken); box-shadow: inset 0 0 0 1px var(--line); }
.v-carpeta .v-carpeta__mini.con-img:not(.is-imagen) { height: 72px; }
.v-carpeta .v-carpeta__mini img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.v-carpeta .v-carpeta__mini.is-pdf { color: var(--danger); }
.v-carpeta .v-carpeta__mini.is-word { color: var(--azul); }
.v-carpeta .v-carpeta__mini.is-excel { color: var(--ok); }
.v-carpeta .v-carpeta__mini.is-mail { color: var(--warn); }
.v-carpeta .v-carpeta__mini:focus-visible, .v-carpeta .v-carpeta__foto-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.v-carpeta .v-carpeta__info { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.v-carpeta .v-carpeta__n { font-size: var(--fs-body); font-weight: 500; line-height: 1.35; color: var(--text-strong); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__m { font-size: var(--fs-small); color: var(--text-2); line-height: 1.35; }
/* dónde está: «El original está en la carpeta del servidor.» y, si la fila no tiene ⋯, «Copiar nombre» en texto */
.v-carpeta .v-carpeta__donde { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: 6px; font-size: var(--fs-caption); line-height: 1.4; color: var(--text-2); }
.v-carpeta .v-carpeta__donde > .ico { margin-top: 2px; color: var(--text-3); }
.v-carpeta .v-carpeta__donde.is-solo { display: block; }
.v-carpeta .v-carpeta__donde-t { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.v-carpeta .v-carpeta__donde.is-ok, .v-carpeta .v-carpeta__donde.is-ok > .ico { color: var(--ok); }
/* el original del servidor: por qué no se baja, en una línea legible (no en gris chico) */
.v-carpeta .v-carpeta__donde.is-original { font-size: var(--fs-small); line-height: 1.45; color: var(--text); }
.v-carpeta .v-carpeta__donde.is-original > .ico { color: var(--azul); }
/* subido en modo sesión y perdido al recargar */
.v-carpeta .v-carpeta__donde.is-perdido { font-size: var(--fs-small); line-height: 1.45; color: var(--text); }
.v-carpeta .v-carpeta__donde.is-perdido > .ico { color: var(--warn); }
.v-carpeta .v-carpeta__subir { position: relative; cursor: pointer; }
.v-carpeta .v-carpeta__subir:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.v-carpeta .v-carpeta__link { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; margin-left: -6px; padding: 0 6px; border: 0; border-radius: var(--r-sm); background: transparent;
  color: var(--accent); font: 600 var(--fs-caption)/1.2 var(--font-ui); cursor: pointer; }
.v-carpeta .v-carpeta__link:hover { background: var(--hover); text-decoration: underline; text-underline-offset: 3px; }
.v-carpeta .v-carpeta__link:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.v-carpeta .v-carpeta__est { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--azul); }
.v-carpeta .v-carpeta__est.is-error { color: var(--danger); align-items: flex-start; font-weight: 500; }
.v-carpeta .v-carpeta__est.is-error .ico { margin-top: 1px; flex: none; }
.v-carpeta .v-carpeta__fila.is-esperando .v-carpeta__mini, .v-carpeta .v-carpeta__fila.is-preparando .v-carpeta__mini, .v-carpeta .v-carpeta__fila.is-subiendo .v-carpeta__mini { opacity: .7; }
/* acciones de la fila, con texto: Ver · Descargar · ⋯ */
.v-carpeta .v-carpeta__acc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.v-carpeta .v-carpeta__abtn { gap: 7px; padding-inline: 12px 14px; }
.v-carpeta .v-carpeta__abtn.btn--tertiary { padding-inline: 8px; }
.v-carpeta .v-carpeta__acc .v-carpeta__ibtn { width: 36px; height: 36px; border-radius: var(--r-md); }
.v-carpeta .v-carpeta__ibtn { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--text-2); cursor: pointer; text-decoration: none; }
.v-carpeta .v-carpeta__ibtn:hover { background: var(--hover); color: var(--text-strong); }
.v-carpeta .v-carpeta__ibtn:active { background: var(--press); }
.v-carpeta .v-carpeta__ibtn:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.v-carpeta .v-carpeta__ibtn.is-peligro { color: var(--danger); }
.v-carpeta .v-carpeta__ibtn.is-peligro:hover { background: var(--danger-bg); }

/* --- Grilla de fotos */
.v-carpeta .v-carpeta__fotos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
/* con «Ver en grande», miniaturas más grandes (se reconocen las fotos); en el celular siguen las 3 columnas */
@media (min-width: 600px) {
  .app[data-panel-ancho="grande"] .v-carpeta .v-carpeta__fotos { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
}
.v-carpeta .v-carpeta__foto { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--bg-sunken); }
.v-carpeta .v-carpeta__foto-btn { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; color: inherit; }
.v-carpeta span.v-carpeta__foto-btn { cursor: default; }
.v-carpeta .v-carpeta__foto-btn img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease, opacity .2s; }
.v-carpeta .v-carpeta__foto-btn:hover img { transform: scale(1.03); }
.v-carpeta .v-carpeta__foto-ph { display: grid; place-items: center; align-content: center; gap: 6px; height: 100%; padding: 8px; color: var(--text-3); text-align: center; }
.v-carpeta .v-carpeta__foto-ph b { font: 600 11px/1.25 var(--font-ui); }
.v-carpeta .is-rota { background: var(--bg-sunken); }
.v-carpeta .v-carpeta__foto.is-esperando img, .v-carpeta .v-carpeta__foto.is-preparando img, .v-carpeta .v-carpeta__foto.is-subiendo img { opacity: .6; }
.v-carpeta .v-carpeta__foto.is-error img { opacity: .35; filter: grayscale(1); }
.v-carpeta .v-carpeta__foto-est { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; align-items: center; gap: 6px; }
.v-carpeta .v-carpeta__foto-est .v-carpeta__barra { flex: 1; background: rgb(255 255 255 / .55); box-shadow: 0 1px 4px rgb(0 0 0 / .25); }
.v-carpeta .v-carpeta__foto.is-error .v-carpeta__foto-est { left: 6px; right: 6px; bottom: 6px; justify-content: space-between; }
.v-carpeta .v-carpeta__foto-err { display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: var(--r-pill); background: var(--danger-fill); color: #fff; font: 600 11px/1.2 var(--font-ui); }
.v-carpeta .v-carpeta__foto-est .v-carpeta__ibtn { width: 40px; height: 40px; border-radius: var(--r-pill); background: rgb(0 0 0 / .55); color: #fff; }
/* el círculo se ve de 30 px pero el área táctil es de 44 px (guantes) */
.v-carpeta .v-carpeta__foto-mas { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--r-pill);
  background: transparent; color: #fff; cursor: pointer; }
.v-carpeta .v-carpeta__foto-mas::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: rgb(0 0 0 / .42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background .15s; }
.v-carpeta .v-carpeta__foto-mas .ico { position: relative; }
.v-carpeta .v-carpeta__foto-mas:hover::before { background: rgb(0 0 0 / .62); }
.v-carpeta .v-carpeta__foto-mas:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
/* 22/10/26: el ⋯ no se suma al ruido. Con mouse aparece al pasar por la foto (o con el foco); en el celular, un círculo
   chico de 24 px semitransparente (el área táctil sigue siendo de 36 px). Con error, siempre a la vista. */
@media (hover: hover) and (pointer: fine) and (min-width: 600px) {
  .v-carpeta .v-carpeta__foto-mas { opacity: 0; transition: opacity .15s; }
  .v-carpeta .v-carpeta__foto:hover .v-carpeta__foto-mas, .v-carpeta .v-carpeta__foto:focus-within .v-carpeta__foto-mas,
  .v-carpeta .v-carpeta__foto.is-error .v-carpeta__foto-mas { opacity: 1; }
}
@media (max-width: 599.98px), (pointer: coarse) {
  .v-carpeta .v-carpeta__foto-mas { width: 36px; height: 36px; }
  .v-carpeta .v-carpeta__foto-mas::before { inset: 6px; background: rgb(0 0 0 / .34); }
  .v-carpeta .v-carpeta__foto-mas .ico { width: 14px; height: 14px; }
}
.v-carpeta .v-carpeta__foto-quien { position: absolute; left: 6px; bottom: 6px; display: inline-flex; border-radius: var(--r-pill); box-shadow: 0 1px 4px rgb(0 0 0 / .3); pointer-events: none; }
.v-carpeta .v-carpeta__fotos + .v-carpeta__lista { margin-top: 8px; }

/* --- Celular: dedos (o guantes) en el puerto */
@media (max-width: 599.98px) {
  .v-carpeta .v-carpeta__fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .v-carpeta .v-carpeta__ibtn, .v-carpeta .v-carpeta__acc .v-carpeta__ibtn { width: 44px; height: 44px; }
  .v-carpeta .v-carpeta__link { min-height: 44px; }
  .v-carpeta .v-carpeta__mini { width: 52px; height: 52px; }
  /* el «Bajar…» baja de renglón: alineado con el texto, no suelto a la derecha */
  .v-carpeta .v-carpeta__zipw { margin-left: 44px; align-items: flex-start; }
  .v-carpeta .v-carpeta__zip { min-height: 44px; }
  .v-carpeta .v-carpeta__zip-nota { text-align: left; }
  .v-carpeta .v-carpeta__sec { padding: 14px 14px 16px; }
  .v-carpeta .v-carpeta__sec.is-plegada { padding: 4px 14px; }
  .v-carpeta .v-carpeta__sec-add { min-height: 44px; }
}
@media (pointer: coarse) {
  .v-carpeta .v-carpeta__ibtn { width: 48px; height: 48px; }
  .v-carpeta .v-carpeta__acc .v-carpeta__ibtn { width: 44px; height: 44px; }
  .v-carpeta .v-carpeta__link { min-height: 44px; }
}

/* ======================================================================================
   Vista "Carpetas": año → mes → carpeta de cada trabajo (21/10/26), buscador y últimos archivos
   Capa UPGRADE 4: tarjetas con filete superior (--card-top), títulos en serif, el mes en curso en índigo.
   ====================================================================================== */
.v-carpeta.v-carpeta--exp { gap: 0; container: carpetas / inline-size; }
.v-carpeta .v-carpeta__exp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 24px; align-items: start; margin-top: 8px; }
.v-carpeta .v-carpeta__exp.is-compacto, .v-carpeta .v-carpeta__exp.is-solo { grid-template-columns: minmax(0, 1fr); }
/* angosto (por ejemplo, con la ficha de un trabajo abierta al costado): los últimos archivos bajan debajo de la lista */
@container carpetas (max-width: 900px) {
  .v-carpeta .v-carpeta__exp { grid-template-columns: minmax(0, 1fr); }
  .v-carpeta .v-carpeta__ult { order: 2; }
}
.v-carpeta .v-carpeta__exp-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v-carpeta .v-carpeta__exp-main > .grupo, .v-carpeta .v-carpeta__faltan .grupo { margin: 8px 0 -4px; }
.v-carpeta .v-carpeta__migas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; margin: 0; padding: 0; list-style: none; font-size: var(--fs-small); }
.v-carpeta .v-carpeta__migas li { display: inline-flex; align-items: center; gap: 4px; color: var(--text-2); }
.v-carpeta .v-carpeta__migas a { color: var(--accent); text-decoration: none; padding: 6px 2px; font-weight: 600; }
.v-carpeta .v-carpeta__migas a:hover { text-decoration: underline; text-underline-offset: 3px; }
.v-carpeta .v-carpeta__migas [aria-current] { color: var(--text-strong); font-weight: 600; }
.v-carpeta .v-carpeta__migas .ico { color: var(--text-3); }
.v-carpeta .v-carpeta__barra-sup { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.v-carpeta .v-carpeta__barra-sup .segscroll { margin: 0; padding: 0; }
.v-carpeta .v-carpeta__barra-sup .v-carpeta__nota { flex: 1 1 320px; }
.v-carpeta .v-carpeta__nota { margin: 0; max-width: 72ch; line-height: 1.45; }
.v-carpeta .v-carpeta__res { margin: 0; }

/* --- Año: título en serif con su cuenta; debajo, un mosaico de meses */
.v-carpeta .v-carpeta__anio-sec { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.v-carpeta .v-carpeta__anio-h { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 2px 16px; padding-bottom: 8px; border-bottom: 1px solid var(--line-strong); }
.v-carpeta .v-carpeta__anio-h h2 { margin: 0; font: 400 2.125rem/1.05 var(--font-display); letter-spacing: .005em; color: var(--text-strong); }
.v-carpeta .v-carpeta__anio-h h2 a { color: inherit; text-decoration: none; }
.v-carpeta .v-carpeta__anio-h h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.v-carpeta .v-carpeta__anio-h p { margin: 0; }

.v-carpeta .v-carpeta__meses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; }
.v-carpeta .v-carpeta__meses > li { display: flex; min-width: 0; }
.v-carpeta .v-carpeta__mes { box-sizing: border-box; position: relative; display: flex; flex-direction: column; gap: 4px; width: 100%; min-height: 150px; padding: 14px 16px 16px;
  background: var(--surface); border-radius: var(--r-lg); border-top: 3px solid var(--card-top); box-shadow: var(--sh-card); color: var(--text); text-decoration: none;
  transition: box-shadow .15s, transform .12s, background .15s; }
.v-carpeta .v-carpeta__mes:hover { box-shadow: var(--sh-pop); }
.v-carpeta .v-carpeta__mes:active { transform: scale(.985); }
.v-carpeta .v-carpeta__mes:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.v-carpeta .v-carpeta__mes-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 24px; margin-bottom: 4px; color: var(--accent); }
.v-carpeta .v-carpeta__mes-hoy { font: 600 10.5px/1.2 var(--font-caps); font-stretch: 125%; letter-spacing: .16em; text-transform: uppercase; color: var(--oro); }
.v-carpeta .v-carpeta__mes-n { font: 400 1.75rem/1.05 var(--font-display); letter-spacing: .005em; color: var(--text-strong); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__mes-meta { font-size: var(--fs-small); line-height: 1.45; color: var(--text-2); }
.v-carpeta .v-carpeta__mes-falta { display: inline-flex; align-items: center; gap: 5px; align-self: flex-start; margin-top: auto; padding: 4px 9px; border-radius: var(--r-pill);
  background: var(--warn-bg); color: var(--warn); font: 600 12px/1.2 var(--font-ui); }
.v-carpeta .v-carpeta__mes.is-vacio .v-carpeta__mes-n { color: var(--text-2); }
/* el mes en curso: tarjeta índigo con el filete naranja; ahí caen los trabajos nuevos */
.v-carpeta .v-carpeta__mes.is-actual { background: var(--tile-bg); border-top-color: var(--imc-orange); box-shadow: none; color: #FFFFFF; }
.v-carpeta .v-carpeta__mes.is-actual:hover { background: var(--tile-hover); }
.v-carpeta .v-carpeta__mes.is-actual .v-carpeta__mes-top { color: #FFB27A; }
.v-carpeta .v-carpeta__mes.is-actual .v-carpeta__mes-hoy { color: var(--oro-band); }
.v-carpeta .v-carpeta__mes.is-actual .v-carpeta__mes-n { color: #FFFFFF; }
.v-carpeta .v-carpeta__mes.is-actual .v-carpeta__mes-meta { color: #DFE0EE; }
.v-carpeta .v-carpeta__mes.is-actual .v-carpeta__mes-falta { background: #FFF4D1; color: #5C4100; }

/* --- Cabecera de un mes: carpeta índigo, nombre en serif, cuentas y anterior / siguiente */
.v-carpeta .v-carpeta__mes-h { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px 16px; }
.v-carpeta .v-carpeta__mes-h-ico { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border-radius: var(--r-md); background: var(--tile-bg); color: #FFFFFF; box-shadow: inset 0 -3px 0 var(--imc-orange); }
.v-carpeta .v-carpeta__mes-h-txt { flex: 1 1 260px; min-width: 0; }
.v-carpeta .v-carpeta__mes-h-txt p { margin: 2px 0 0; }
.v-carpeta .v-carpeta__mes-h-t { margin: 0; font: 400 2.125rem/1.05 var(--font-display); letter-spacing: .005em; color: var(--text-strong); }
.v-carpeta .v-carpeta__mes-nav { flex: none; margin-left: auto; align-self: center; }
.v-carpeta .v-carpeta__sig .ico { margin-left: 2px; }
.v-carpeta .v-carpeta__filtro { margin: -2px 0 -4px; }
/* los filtros bajan de renglón en vez de esconderse a la derecha (en el celular "Vacías" quedaba fuera de la pantalla) */
.v-carpeta .v-carpeta__filtro .pills { flex-wrap: wrap; overflow: visible; }

/* --- Carpeta de cada trabajo: nombre del servidor, cliente, inicio, responsable y el estado de sus secciones */
.v-carpeta .v-carpeta__trs { list-style: none; margin: 0; padding: 0; background: var(--surface); border-radius: var(--r-lg); border-top: 3px solid var(--card-top); box-shadow: var(--sh-card); overflow: clip; }
.v-carpeta .v-carpeta__tr { position: relative; }
.v-carpeta .v-carpeta__tr + .v-carpeta__tr { border-top: 1px solid var(--line); }
.v-carpeta .v-carpeta__tr.is-falta { box-shadow: inset 4px 0 0 var(--warn-fill); }
.v-carpeta .v-carpeta__tr-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 4px 14px; padding: 14px 16px; color: var(--text); text-decoration: none; }
.v-carpeta .v-carpeta__tr-link:hover { background: var(--hover); }
/* la carpeta que está abierta al costado */
.v-carpeta .v-carpeta__tr-link[aria-current="true"] { background: var(--side-active); box-shadow: inset 4px 0 0 var(--sel); }
.v-carpeta .v-carpeta__tr-link:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.v-carpeta .v-carpeta__tr-link > .ico:last-child { align-self: center; color: var(--text-3); }
.v-carpeta .v-carpeta__tr-ico { position: relative; display: grid; place-items: center; width: 44px; height: 44px; margin-top: 2px; border-radius: var(--r-md); background: var(--bg-sunken); color: var(--text-3); }
/* con archivos: la carpeta se tiñe (antes casi no se distinguía de una vacía) */
.v-carpeta .v-carpeta__tr-ico.con-archivos { background: color-mix(in srgb, var(--accent) 14%, var(--surface)); color: var(--accent); }
/* con fotos (22/10/26): la portada en lugar del ícono (el ícono queda abajo por si la imagen no carga) */
.v-carpeta .v-carpeta__tr-ico.con-img { overflow: hidden; }
.v-carpeta :is(.v-carpeta__tr-ico, .v-carpeta__con-img).con-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v-carpeta .v-carpeta__tr-txt { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.v-carpeta .v-carpeta__tr-n { font-size: var(--fs-body); font-weight: 500; line-height: 1.35; color: var(--text-strong); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__tr-n b { font-weight: 700; }
/* 22/10/26: título «11336 · Expeditors · Lashing Control 3×40 FR»; el nombre del servidor abajo, en gris chico */
.v-carpeta .v-carpeta__tr-n .v-carpeta__tr-cli { font-weight: 600; }
.v-carpeta .v-carpeta__tr-n .v-carpeta__tr-cli .logo { display: inline-flex; vertical-align: -4px; margin-right: 6px; }
.v-carpeta .v-carpeta__tr-sep { color: var(--text-3); }
.v-carpeta .v-carpeta__tr-srv { margin-top: -4px; font-size: var(--fs-caption); line-height: 1.4; color: var(--text-3); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__tr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; font-size: var(--fs-small); line-height: 1.3; color: var(--text-2); }
.v-carpeta .v-carpeta__tr-meta > span { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.v-carpeta .v-carpeta__tr-meta .ico { color: var(--text-3); flex: none; }
.v-carpeta .v-carpeta__tr-cli { font-weight: 600; color: var(--text-strong); }
.v-carpeta .v-carpeta__tr-cli .logo { flex: none; }
.v-carpeta .v-carpeta__tr-sinini { color: var(--warn); font-weight: 600; }
.v-carpeta .v-carpeta__tr-resp.is-sin { color: var(--text-3); }
/* «Vacía» o «9 archivos»: una palabra en vez de cinco casilleros */
.v-carpeta .v-carpeta__tr-cuenta.is-vacia { color: var(--text-3); }
.v-carpeta .v-carpeta__secst { display: flex; flex-wrap: wrap; gap: 6px; }
.v-carpeta .v-carpeta__secst > span { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px; border-radius: var(--r-sm); font: 600 12px/1 var(--font-ui); white-space: nowrap; }
.v-carpeta .v-carpeta__secst .is-ok { background: var(--ok-bg); color: var(--ok); }
.v-carpeta .v-carpeta__secst .is-falta { background: var(--warn-bg); color: var(--warn); }
.v-carpeta .v-carpeta__tr-acc { display: flex; flex-wrap: wrap; gap: 8px; margin-top: -4px; padding: 0 16px 14px 74px; }

/* --- «Con archivos» (22/10/26): arriba de los años, una fila con portada, Nº y cliente de las carpetas que tienen algo */
.v-carpeta .v-carpeta__con { display: flex; flex-direction: column; gap: 10px; }
.v-carpeta .v-carpeta__con .grupo { margin: 0; }
.v-carpeta .v-carpeta__con-lista { list-style: none; margin: 0; padding: 2px 2px 8px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.v-carpeta .v-carpeta__con-lista > li { display: flex; flex: 0 0 156px; scroll-snap-align: start; }
.v-carpeta .v-carpeta__con-item { display: flex; flex-direction: column; width: 100%; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-card); overflow: hidden;
  color: var(--text); text-decoration: none; transition: box-shadow .15s; }
.v-carpeta .v-carpeta__con-item:hover { box-shadow: var(--sh-pop); }
.v-carpeta .v-carpeta__con-item:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.v-carpeta .v-carpeta__con-img { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--bg-sunken); color: var(--accent); }
.v-carpeta .v-carpeta__con-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 8px 12px 10px; font-size: var(--fs-small); line-height: 1.3; color: var(--text-2); }
.v-carpeta .v-carpeta__con-txt b { font-size: var(--fs-body); font-weight: 700; color: var(--text-strong); }
.v-carpeta .v-carpeta__con-txt > span:not(.sr-only) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* --- Faltantes, listas por cliente y resultados */
.v-carpeta .v-carpeta__faltan { display: flex; flex-direction: column; gap: 10px; }
.v-carpeta .v-carpeta__dir-lista { list-style: none; margin: 0; padding: 4px; border-radius: var(--r-lg); border-top: 3px solid var(--card-top); background: var(--surface); box-shadow: var(--sh-card); }
.v-carpeta .v-carpeta__dir-lista > li + li { border-top: 1px solid var(--line); }
.v-carpeta .v-carpeta__dir-fila { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 10px; border-radius: var(--r-md); color: var(--text); text-decoration: none; }
.v-carpeta .v-carpeta__dir-fila:hover { background: var(--hover); }
.v-carpeta .v-carpeta__dir-fila:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.v-carpeta .v-carpeta__dir-fila > .ico:last-child { flex: none; margin-left: auto; color: var(--text-3); }
.v-carpeta .v-carpeta__dir-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 10px; background: var(--bg-sunken); color: var(--text-3); }
.v-carpeta .v-carpeta__dir-logo { display: inline-flex; flex: none; }
.v-carpeta .v-carpeta__dir-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.v-carpeta .v-carpeta__dir-n { font-weight: 500; color: var(--text-strong); overflow-wrap: anywhere; line-height: 1.3; }
.v-carpeta .v-carpeta__cli-logo { display: inline-flex; flex: none; }

.v-carpeta .grupo .eyebrow a { color: inherit; text-decoration: none; }
.v-carpeta .grupo .eyebrow a:hover { text-decoration: underline; text-underline-offset: 3px; }

.v-carpeta .v-carpeta__ult { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: var(--r-lg); border-top: 3px solid var(--card-top); background: var(--surface); box-shadow: var(--sh-card); min-width: 0; }
.v-carpeta .v-carpeta__ult .t-h2 { margin: 0; }
.v-carpeta .v-carpeta__ult-h p { margin: 4px 0 0; }
.v-carpeta .v-carpeta__ult-sub { margin: 4px 0 -4px; }
.v-carpeta .v-carpeta__ult-lista { list-style: none; margin: 0; padding: 0; }
.v-carpeta .v-carpeta__ult-lista > li + li { border-top: 1px solid var(--line); }
.v-carpeta .v-carpeta__ult-fila { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 4px; border-radius: var(--r-md); color: var(--text); text-decoration: none; }
.v-carpeta .v-carpeta__ult-fila:hover { background: var(--hover); }
.v-carpeta .v-carpeta__ult-fila:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.v-carpeta .v-carpeta__ult-fila .v-carpeta__mini { width: 44px; height: 44px; border-radius: 9px; }
.v-carpeta .v-carpeta__ult-fila .v-carpeta__mini.con-img:not(.is-imagen) { height: 44px; }
.v-carpeta .v-carpeta__ult-vacio { margin: 0; }
.v-carpeta .v-carpeta__exp .v-carpeta__sesion { margin-top: 4px; }

/* --- Celular (390 px): dos meses por fila, filas de carpeta a lo ancho y botones de 44 px */
@media (max-width: 599.98px) {
  .v-carpeta .v-carpeta__exp { gap: 16px; }
  .v-carpeta .v-carpeta__meses { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v-carpeta .v-carpeta__mes { min-height: 128px; padding: 12px 12px 14px; }
  .v-carpeta .v-carpeta__mes-n { font-size: 1.5rem; }
  .v-carpeta .v-carpeta__anio-h h2, .v-carpeta .v-carpeta__mes-h-t { font-size: 1.75rem; }
  .v-carpeta .v-carpeta__mes-h-ico { width: 44px; height: 44px; }
  .v-carpeta .v-carpeta__mes-nav { margin-left: 0; width: 100%; justify-content: space-between; }
  .v-carpeta .v-carpeta__barra-sup .segscroll, .v-carpeta .v-carpeta__barra-sup .seg { width: 100%; }
  .v-carpeta .v-carpeta__tr-link { grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; padding: 12px; }
  .v-carpeta .v-carpeta__tr-link > .ico:last-child { display: none; }
  .v-carpeta .v-carpeta__tr-ico { width: 40px; height: 40px; }
  .v-carpeta .v-carpeta__tr-meta { gap: 4px 12px; }
  .v-carpeta .v-carpeta__tr-acc { padding: 0 12px 12px 64px; }
  .v-carpeta .v-carpeta__tr-acc .btn { min-height: 44px; }
}

/* Visor abierto desde la carpeta: sus reglas (foto grande, fondo .97 y «Descargar» en la barra) pasaron a styles.css
   (.visor, .visor__bajar) y valen para todas las galerías. */

/* --- v17 (SPEC_v17 §9): el nombre corto a la vista («11358 · SSB · Trincado 1×20 FR»), lugar · buque en gris y «Detalles» */
.v-carpeta .v-carpeta__nombre { font: 600 var(--fs-body)/1.35 var(--font-ui); color: var(--text-strong); }
.v-carpeta .v-carpeta__nombre2 { margin: 0; padding-left: 44px; font: 400 var(--fs-small)/1.4 var(--font-ui); color: var(--text-2); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__det { margin: 2px 0 0 44px; font-size: var(--fs-small); color: var(--text-2); }
.v-carpeta .v-carpeta__det > summary { display: inline-flex; align-items: center; min-height: 28px; cursor: pointer; color: var(--accent); font-weight: 600; }
.v-carpeta .v-carpeta__det > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
.v-carpeta .v-carpeta__det-c { display: grid; gap: 6px; padding: 8px 0 4px; }
.v-carpeta .v-carpeta__det-l { margin: 0; font: 600 var(--fs-caption)/1.3 var(--font-ui); color: var(--text-2); }
.v-carpeta .v-carpeta__det-srv { margin: 0; font: 400 var(--fs-small)/1.4 var(--font-ui); color: var(--text); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__det-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.v-carpeta .v-carpeta__det-lista li { display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: var(--fs-caption); line-height: 1.35; }
.v-carpeta .v-carpeta__det-n { color: var(--text-2); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__fila--notas .v-carpeta__mini { color: var(--accent); }
@media (max-width: 599.98px) { .v-carpeta .v-carpeta__nombre2, .v-carpeta .v-carpeta__det { padding-left: 0; margin-left: 0; } }

/* --- v17 (§2.5): IMC.carpeta.miniaturas, fuera de la carpeta (panel del pedido) */
.v-carpeta__minis { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.v-carpeta__minis .v-carpeta__mini { position: relative; display: grid; place-items: center; align-content: center; gap: 2px; width: 72px; height: 72px; padding: 0; border: 0; border-radius: 10px;
  background: var(--bg-sunken); color: var(--text-3); overflow: hidden; text-decoration: none; box-shadow: inset 0 0 0 1px var(--line); }
.v-carpeta__minis button.v-carpeta__mini, .v-carpeta__minis a.v-carpeta__mini { cursor: pointer; }
.v-carpeta__minis .v-carpeta__mini:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.v-carpeta__minis .v-carpeta__mini b { font: 700 10px/1 var(--font-ui); letter-spacing: .02em; text-transform: uppercase; }
.v-carpeta__minis .v-carpeta__mini img { width: 100%; height: 100%; object-fit: cover; }
.v-carpeta__minis .v-carpeta__mini.is-pdf { color: var(--danger); }
.v-carpeta .v-carpeta__titulo { flex: 1 1 auto; min-width: 0; margin: 0; font: 600 var(--fs-h3)/1.3 var(--font-ui); color: var(--text-strong); overflow-wrap: anywhere; }
.v-carpeta .v-carpeta__head-meta.v-carpeta__nombre2 { display: block; }
.v-carpeta .v-carpeta__head-fila > .v-carpeta__titulo { padding-top: 5px; }
