/* Carpetas de la referencia elegida por el usuario; el resto de la pantalla conserva Arc. */
#view-presupuestos .pre-inicio { margin-block: 24px 40px; background: transparent !important; }
#view-presupuestos .pre-listado-titulo { font-size: 1.25rem; margin-bottom: 8px; }
:is(#view-presupuestos,#view-pedidos) .pre-categorias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria {
  --carpeta-apertura: 70px;
  /* easeOutBack: leve sobrepaso y asentamiento, también al volver a cerrar. */
  --carpeta-amortiguacion: cubic-bezier(.34, 1.56, .64, 1);
  --carpeta-borde: color-mix(in oklab, oklch(87.2% 0.044 300) 65%, white); --carpeta-tapa: color-mix(in oklab, oklch(93.6% 0.036 300) 65%, white); --carpeta-tinta: #231e2b; --carpeta-suave: #514958;
  position: relative; display: block; isolation: isolate; height: 360px; min-width: 0; padding: 0;
  border: 0; border-radius: 28px; overflow: hidden; background: var(--carpeta-borde); color: var(--carpeta-tinta);
  text-align: left; font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
:is(#view-presupuestos,#view-pedidos) .pre-categoria::after { content: ''; position: absolute; z-index: 3; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 9px var(--carpeta-borde); pointer-events: none; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria-servicios { --carpeta-borde: color-mix(in oklab, oklch(88.8% 0.044 65) 65%, white); --carpeta-tapa: color-mix(in oklab, oklch(95.2% 0.036 65) 65%, white); --carpeta-tinta: #30221b; --carpeta-suave: #5f5046; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria-piscinas { --carpeta-borde: color-mix(in oklab, oklch(88% 0.04 240) 65%, white); --carpeta-tapa: color-mix(in oklab, oklch(94.4% 0.032 240) 65%, white); --carpeta-tinta: #1c2a33; --carpeta-suave: #455862; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-fondo { position: absolute; inset: 9px; border-radius: 20px; overflow: hidden; background: radial-gradient(ellipse at 15% 0%, color-mix(in oklab, oklch(98.4% 0.012 300) 65%, white) 0%, transparent 60%), radial-gradient(ellipse at 85% 40%, color-mix(in oklab, oklch(83.2% 0.112 300) 65%, white) 0%, transparent 70%), color-mix(in oklab, oklch(92% 0.056 300) 65%, white); }
:is(#view-presupuestos,#view-pedidos) .pre-categoria-servicios .pre-carpeta-fondo { background: radial-gradient(ellipse at 5% 0%, color-mix(in oklab, oklch(99.2% 0.016 65) 65%, white) 0%, transparent 55%), radial-gradient(ellipse at 90% 35%, color-mix(in oklab, oklch(84.8% 0.088 55) 65%, white) 0%, transparent 70%), color-mix(in oklab, oklch(95.2% 0.048 65) 65%, white); }
:is(#view-presupuestos,#view-pedidos) .pre-categoria-piscinas .pre-carpeta-fondo { background: radial-gradient(ellipse at 10% 0%, color-mix(in oklab, oklch(99.2% 0.012 240) 65%, white) 0%, transparent 60%), radial-gradient(ellipse at 85% 40%, color-mix(in oklab, oklch(83.2% 0.08 240) 65%, white) 0%, transparent 70%), color-mix(in oklab, oklch(93.6% 0.048 240) 65%, white); }
/* Grano solicitado como en la referencia: textura estática, detrás de las etiquetas. */
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-fondo::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: url('/presupuestos-grano.svg'); background-size: 160px 160px; opacity: .36; mix-blend-mode: multiply; pointer-events: none; }
/* Miniatura decorativa de nuestros documentos: marca configurada, cabecera, cliente y partidas. */
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-hoja { position: absolute; inset: 65px 42px auto; height: 240px; padding: 16px; background: #fff; color: #20272b; font-family: "Helvetica Neue", Arial, sans-serif; border-radius: 4px; box-shadow: 0 10px 24px rgb(0 0 0 / .2); transform: translateY(52px) rotate(-7deg); transition: transform 500ms var(--carpeta-amortiguacion); }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 32px; margin-bottom: 8px; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-cabecera img { width: auto; max-width: 55%; height: 32px; object-fit: contain; object-position: left center; filter: brightness(0); }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-cabecera [data-marca="logotipo-texto"] { max-width: 65%; font-size: 9px; line-height: 1.15; font-weight: 700; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-datos { display: grid; justify-items: end; gap: 4px; width: 30%; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-datos i { width: 100%; height: 2px; background: #c4c7ca; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-datos i:last-child { width: 70%; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-titulo { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 6px; border-radius: 3px; background: #20272b; color: #fff; font-size: 8px; font-weight: 700; letter-spacing: .25px; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-titulo > span { font-size: 6px; font-weight: 400; letter-spacing: 0; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-cliente { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; padding-block: 10px; font-size: 6px; font-weight: 700; color: #697077; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-cliente i { display: block; width: 85%; height: 3px; margin-top: 5px; background: #dfe2e4; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-tabla { display: grid; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-tabla > span { display: flex; justify-content: space-between; padding: 5px 4px; background: #eef0f1; font-size: 6px; font-weight: 700; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-tabla i { height: 17px; border-bottom: 1px solid #e5e7e9; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-total { display: flex; justify-content: space-between; align-items: center; width: 55%; margin: 9px 0 0 auto; padding: 5px 4px; border-block: 1px solid #bbc0c4; font-size: 6px; font-weight: 700; }
:is(#view-presupuestos,#view-pedidos) .pre-hoja-total > span { width: 32%; height: 3px; background: #697077; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-tapa { position: absolute; z-index: 1; top: 80px; bottom: 9px; left: 9px; right: 9px; color: var(--carpeta-tinta); transition: transform 500ms var(--carpeta-amortiguacion); }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-tapa::after { content: ''; position: absolute; z-index: -1; inset: 39px 0 -100px; background: var(--carpeta-tapa); }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-solapa { position: absolute; inset: 0 0 auto; width: 100%; height: 40px; fill: var(--carpeta-tapa); }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-numero { position: absolute; top: 27px; left: 24px; font-size: 3.5rem; font-weight: 400; line-height: 1; letter-spacing: -.03em; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-flecha { position: absolute; top: 43px; right: 24px; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-texto { position: absolute; z-index: 2; bottom: 9px; left: 9px; right: 9px; display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; background: var(--carpeta-tapa); border-radius: 0 0 20px 20px; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-texto strong { color: var(--carpeta-tinta) !important; font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
:is(#view-presupuestos,#view-pedidos) .pre-carpeta-texto > span { color: var(--carpeta-suave); font-size: .875rem; line-height: 1.45; min-height: 2.9em; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:focus-visible { outline: 3px solid var(--text-primary) !important; outline-offset: 5px !important; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:focus-visible .pre-carpeta-tapa { transform: translateY(var(--carpeta-apertura)); }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:focus-visible .pre-carpeta-hoja { transform: translateY(-25px) rotate(-5deg); }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:focus-visible .pre-carpeta-tapa, :is(#view-presupuestos,#view-pedidos) .pre-categoria:focus-visible .pre-carpeta-hoja { transition: none; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:active { filter: brightness(.94); }
:is(#view-presupuestos,#view-pedidos) .pre-categoria:disabled { opacity: .6; cursor: wait; }
:is(#view-presupuestos,#view-pedidos) .pre-categoria-etiqueta { display: block; margin-top: 4px; color: var(--text-secondary); font-size: .75rem; }
#view-presupuestos .pre-error { color: var(--danger); margin-block: 16px; }
@media (hover: hover) and (pointer: fine) {
  :is(#view-presupuestos,#view-pedidos) .pre-categoria:enabled:hover .pre-carpeta-tapa { transform: translateY(var(--carpeta-apertura)); }
  :is(#view-presupuestos,#view-pedidos) .pre-categoria:enabled:hover .pre-carpeta-hoja { transform: translateY(-25px) rotate(-5deg); }
}
@media (min-width: 901px) and (max-width: 1150px) {
  :is(#view-presupuestos,#view-pedidos) .pre-carpeta-texto { padding-inline: 16px; }
  :is(#view-presupuestos,#view-pedidos) .pre-carpeta-texto strong { color: var(--carpeta-tinta) !important; font-size: 1.25rem; }
}
@media (max-width: 900px) {
  :is(#view-presupuestos,#view-pedidos) .pre-categorias { grid-template-columns: 1fr; gap: 20px; }
  :is(#view-presupuestos,#view-pedidos) .pre-categoria { --carpeta-apertura: 40px; height: 340px; width: 100%; max-width: 460px; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  :is(#view-presupuestos,#view-pedidos) .pre-carpeta-tapa, :is(#view-presupuestos,#view-pedidos) .pre-carpeta-hoja { transition: none; }
}

/* Búsqueda con los filtros de tipo y estado en la misma fila. */
#view-presupuestos .pre-busqueda-fila { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
#view-presupuestos .pre-busqueda-fila .search-bar { flex:1 1 260px; max-width:none; margin:0; }
#view-presupuestos .pre-busqueda-fila select { min-height:42px; padding:0 34px 0 14px; border:1px solid var(--fc-border)!important; border-radius:999px; background-color:var(--fc-card); color:var(--fc-ink); font:inherit; font-size:13px; box-shadow:none!important; }
/* Las acciones de cada presupuesto no se montan sobre el estado: si no caben, bajan a otra línea. */
html[data-ui] #tabla-presupuestos td:last-child { white-space:normal!important; min-width:170px; }
html[data-ui] #view-presupuestos #tabla-presupuestos td:last-child .action-btns { flex-wrap:wrap!important; justify-content:flex-end; row-gap:6px; width:auto; }
#view-presupuestos .pre-busqueda-fila .search-bar input { max-width:none; width:100%; }

/* En el móvil, las tres carpetas en una fila y pequeñas, como en Pedidos: son la puerta a cada tipo,
   y grandes ocupaban dos pantallas antes de llegar a la lista. */
@media (max-width: 760px) {
  #view-presupuestos .pre-categorias { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  #view-presupuestos .pre-categoria { height: 96px; max-width: none; border-radius: 18px; }
  #view-presupuestos .pre-carpeta-hoja { display: none; }
  #view-presupuestos .pre-carpeta-tapa { top: 0; height: auto; bottom: 0; }
  #view-presupuestos .pre-carpeta-numero { top: 12px; left: 12px; font-size: 1.6rem; }
  #view-presupuestos .pre-carpeta-flecha { top: 14px; right: 12px; width: 16px; height: 16px; }
  #view-presupuestos .pre-carpeta-texto { bottom: 4px; left: 4px; right: 4px; padding: 8px 8px 6px; gap: 0; border-radius: 14px; }
  #view-presupuestos .pre-carpeta-texto strong { font-size: .82rem; letter-spacing: 0; }
  #view-presupuestos .pre-carpeta-texto > span { display: none; }
}
@media (max-width: 600px) {
  /* El buscador a lo ancho y los dos filtros debajo, mitad y mitad, a 16 px para que el iPhone no
     acerque la pantalla al tocarlos. */
  #view-presupuestos .pre-busqueda-fila { display: grid; grid-template-columns: 1fr 1fr; }
  #view-presupuestos .pre-busqueda-fila .search-bar { grid-column: 1 / -1; }
  #view-presupuestos .pre-busqueda-fila label { min-width: 0; }
  #view-presupuestos .pre-busqueda-fila select { width: 100%; min-height: 44px; font-size: 16px; }
}
