/*
 * Selectores de fecha y hora de la app (js/scripts/z-fecha.js): campo de texto redondeado con icono y panel propio.
 * El <input type="date|time|datetime-local"> original queda dentro, invisible, para conservar valor ISO, name y eventos.
 *
 * Carpeta: css/ · Fichero: z-fecha.css · Permisos: 644
 */
body.smart-style-2 .zdp { position: relative; display: flex; gap: 8px; width: 100%; }
body.smart-style-2 .zdp[hidden] { display: none; }
body.smart-style-2 .zdp > input[type="date"], body.smart-style-2 .zdp > input[type="time"], body.smart-style-2 .zdp > input[type="datetime-local"], body.smart-style-2 .zdp > input.zdp-texto {
  position: absolute !important; left: 0; top: 0; width: 100% !important; height: 100% !important; opacity: 0 !important; pointer-events: none !important;
}
body.smart-style-2 .zdp .zdp-campo { position: relative; flex: 1 1 0; min-width: 0; }
body.smart-style-2 .zdp-datetime-local .zdp-campo-h { flex: 0 0 120px; }
body.smart-style-2 .zdp .zdp-in {
  display: block; width: 100%; height: var(--z-control-md, 40px); margin: 0; padding: 0 38px 0 var(--z-space-3, 12px);
  border: 1px solid var(--z-borde-fuerte); border-radius: var(--z-radius-md) !important; background: var(--z-superficie); color: var(--z-texto);
  font-family: var(--z-font-body); font-size: var(--z-text-md); line-height: normal; box-shadow: none; font-variant-numeric: tabular-nums;
}
body.smart-style-2 .zdp.zdp-chico .zdp-in { height: 32px; font-size: var(--z-text-sm); }
body.smart-style-2 .zdp .zdp-in::placeholder { color: var(--z-texto-suave); opacity: 1; }
body.smart-style-2 .zdp .zdp-in:focus { border-color: var(--z-foco); box-shadow: var(--z-shadow-foco); outline: 0; background: var(--z-superficie); }
body.smart-style-2 .zdp.zdp-off .zdp-in { background: var(--z-superficie-alta); color: var(--z-texto-suave); cursor: not-allowed; }
body.smart-style-2 .zdp .zdp-campo > i { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); color: var(--z-texto-suave); pointer-events: none; font-size: 15px; }

/* Panel */
.zdp-panel {
  position: fixed; z-index: 2000; box-sizing: border-box; padding: 12px; background: var(--z-superficie, #fff); color: var(--z-texto);
  border: 1px solid var(--z-borde, #ddd); border-radius: var(--z-radius-lg, 14px); box-shadow: var(--z-shadow-lg, 0 14px 40px rgba(0, 0, 0, .22)); font-family: var(--z-font-body);
}
.zdp-panel-f { width: 300px; }
.zdp-panel button { font-family: inherit; cursor: pointer; }
.zdp-cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.zdp-mes { font-weight: var(--z-weight-semibold, 600); font-size: var(--z-text-md, 15px); }
.zdp-nav { width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: var(--z-texto); font-size: 20px; line-height: 1; }
.zdp-nav:hover { background: var(--z-superficie-alta); }
.zdp-semana, .zdp-dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.zdp-semana span { padding: 4px 0; color: var(--z-texto-suave); font-size: var(--z-text-xs, 12px); font-weight: 600; }
.zdp-dia { height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--z-texto); font-size: var(--z-text-sm, 14px); }
.zdp-dia:hover:not(:disabled) { background: var(--z-marca-suave); }
.zdp-dia.zdp-fuera { color: var(--z-texto-suave); opacity: .55; }
.zdp-dia.zdp-hoy { box-shadow: inset 0 0 0 2px var(--z-marca); font-weight: 600; }
.zdp-dia.zdp-sel, .zdp-hh.zdp-sel, .zdp-mm.zdp-sel { background: var(--z-marca); color: var(--z-sobre-marca); font-weight: 600; opacity: 1; box-shadow: none; }
.zdp-dia:disabled { opacity: .3; cursor: not-allowed; }
.zdp-pie { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--z-borde); }
.zdp-atajo { height: 30px; padding: 0 12px; border: 1px solid var(--z-borde-fuerte); border-radius: 999px; background: var(--z-superficie); color: var(--z-texto); font-size: var(--z-text-xs, 13px); font-weight: 500; }
.zdp-atajo:hover { background: var(--z-marca-suave); border-color: var(--z-marca); }
.zdp-borrar { margin-left: auto; color: var(--z-texto-suave); border-color: transparent; }
.zdp-panel-h { padding: 6px; }
.zdp-lista { max-height: 264px; overflow-y: auto; display: flex; flex-direction: column; gap: 1px; scrollbar-width: thin; }
.zdp-fila { flex: none; height: 38px; padding: 0 14px; border: 0; border-radius: var(--z-radius-sm, 8px); background: transparent; color: var(--z-texto); font-size: var(--z-text-md, 15px); text-align: left; font-variant-numeric: tabular-nums; }
.zdp-fila.zdp-en-punto { font-weight: 600; }
.zdp-fila:hover, .zdp-fila.zdp-act { background: var(--z-marca-suave); }
.zdp-fila.zdp-act { box-shadow: inset 0 0 0 2px var(--z-marca); }
.zdp-pie-h { margin-top: 6px; padding: 8px 4px 2px; }
.zdp-fila.zdp-sel { background: var(--z-marca); color: var(--z-sobre-marca); }

/* Relleno y ancho propios del campo de fecha: varios módulos dan padding y anchos a «input» dentro de sus barras de filtros (sitio para un icono
   izquierdo que aquí no existe) y el texto chocaba con el icono del calendario. 38 px a la derecha para el icono y 14 a la izquierda;
   el campo no baja de 172 px para que quepa «dd/mm/aaaa» con holgura. */
body.smart-style-2 .zdp .zdp-campo input.zdp-in { padding: 0 40px 0 14px !important; text-overflow: ellipsis; }
body.smart-style-2 .zdp.zdp-chico .zdp-campo input.zdp-in { padding: 0 36px 0 12px !important; }
body.smart-style-2 .zdp.zdp-date { min-width: 172px; }
body.smart-style-2 .zdp.zdp-time { min-width: 110px; }
body.smart-style-2 .zdp .zdp-campo-h input.zdp-in { padding-right: 36px !important; }
/* El contenedor directo del campo no lo encoge por debajo de su ancho mínimo (filas de filtros con flex que reparten el sitio y lo estrechaban,
   con lo que los campos vecinos se solapaban). */
body.smart-style-2 :is(div, span, label, td):has(> .zdp.zdp-date) { min-width: 172px; flex-shrink: 0; }
