/* Logística comparte superficies, tipografía y controles con el tema Arc. */
#view-logistica { min-width: 0; color: var(--fc-ink); }
#view-logistica .view-header { margin-bottom: 20px; }
#view-logistica .log-aviso:empty { display: none; }
#view-logistica .log-aviso { margin-block: 0 16px; color: var(--fc-ink); }
.log-espacio { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; align-items: start; }
.log-cola, .log-planificacion { min-width: 0; }
.log-cola { padding: 20px; background: var(--fc-card); border: 1px solid var(--fc-border); border-radius: 20px; }
.log-cola-titulo, .log-cal-cabecera, .log-cal-herramientas, .log-fechas-nav, .log-pedido-superior, .log-pedido-inferior { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#view-logistica h2 { margin: 0; font-size: 18px; font-weight: 550; letter-spacing: -.02em; }
.log-cola-titulo { margin-bottom: 16px; }
#log-total { min-width: 28px; text-align: center; border-radius: 8px; padding: 4px 8px; background: var(--fc-secondary); font-variant-numeric: tabular-nums; }
#view-logistica #log-buscar { min-height: 44px; font-size: 13px; width: 100%; border-radius: 12px; border: 1px solid var(--fc-border); box-shadow: none; background: var(--fc-input); color: var(--fc-ink); padding: 12px; }
.log-segmentos { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--fc-secondary); }
.log-cola .log-segmentos { display: flex; margin-block: 12px 8px; }
.log-segmentos button { flex: 1; appearance: none; border: 0; border-radius: 9px; color: var(--fc-muted); background: transparent; min-height: 36px; padding: 8px 12px; font: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; }
.log-segmentos button[aria-pressed="true"] { color: var(--fc-on-primary); background: var(--fc-primary); }
.log-pedido { padding-block: 20px; border-bottom: 1px solid var(--fc-border); }
.log-pedido:last-child { border-bottom: 0; padding-bottom: 0; }
.log-pedido-superior { color: var(--fc-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.log-prioridad { border-radius: 5px; padding: 3px 6px; font-weight: 550; }
.log-prioridad-alta { color: var(--fc-ink); background: var(--arc-gradient-soft); }
.log-prioridad-urgente { color: var(--danger); background: color-mix(in srgb,var(--danger) 8%,var(--fc-card)); }
#view-logistica .log-pedido h3 { font-size: 15px; font-weight: 550; margin: 10px 0 6px; line-height: 1.4; overflow-wrap: anywhere; }
.log-descripcion { font-size: 13px; color: var(--fc-muted); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; margin: 0 0 16px; }
.log-pedido-inferior > span { font-size: 12px; color: var(--fc-muted); }
#view-logistica .log-pedido .btn { padding: 9px 14px; min-height: 40px; font-size: 12px; }
.log-cal-cabecera { margin: 4px 0 20px; }
#log-periodo { margin: 7px 0 0; font-size: 14px; color: var(--fc-muted); }
.log-cal-herramientas { margin-bottom: 18px; flex-wrap: wrap; }
.log-fechas-nav { justify-content: flex-start; gap: 4px; }
.log-icono { display: inline-grid; place-items: center; width: 40px; height: 40px; min-width: 40px; padding: 10px; border: 1px solid var(--fc-border); border-radius: 12px; color: var(--fc-ink); background: var(--fc-card); cursor: pointer; }
.log-icono svg { width: 18px; height: 18px; }
#view-logistica .log-cal-herramientas .btn { min-height: 40px; padding: 8px 18px; font-size: 13px; }
.log-filtro-equipo { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12px; color: var(--fc-muted); }
#view-logistica .log-filtro-equipo select { width: auto; max-width: 240px; min-height: 40px; border: 1px solid var(--fc-border); border-radius: 12px; background-color: var(--fc-card); color: var(--fc-ink); font-size: 13px; padding: 9px 32px 9px 12px; box-shadow: none; }
#log-calendario { overflow: hidden; border: 1px solid var(--fc-border); border-radius: 16px; background: var(--fc-card); }
.log-dias-semana, .log-rejilla { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.log-dias-semana { background: var(--fc-secondary); border-bottom: 1px solid var(--fc-border); }
.log-dias-semana span { text-align: center; padding: 12px 4px; font-size: 11px; color: var(--fc-muted); }
.log-dia { padding: 10px 6px; border-right: 1px solid var(--fc-border); min-width: 0; }
.log-dia:nth-child(7n) { border-right: 0; }
.log-mes .log-dia { min-height: 118px; border-bottom: 1px solid var(--fc-border); }
.log-mes .log-dia:nth-last-child(-n+7) { border-bottom: 0; }
.log-semana .log-dia { min-height: 440px; }
.log-dia-fuera { background: var(--fc-secondary); }
#view-logistica .log-dia h3 { display: flex; justify-content: center; align-items: center; margin: 0 0 12px; font-size: 12px; font-weight: 500; }
.log-dia time { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-variant-numeric: tabular-nums; }
.log-dia-hoy time { color: var(--fc-on-primary); background: var(--fc-primary); }
.log-dia-nombre { display: none; }
.log-dia-vacio { margin: 20px 0; text-align: center; font-size: 10px; color: var(--fc-muted); }
.log-mes .log-dia-vacio { display: none; }
.log-evento { display: flex; flex-direction: column; gap: 6px; width: 100%; text-align: left; padding: 10px 8px; margin-bottom: 8px; border: 1px solid var(--fc-border); border-radius: 10px; background: var(--arc-gradient-soft,var(--fc-secondary)); color: var(--fc-ink); font: inherit; font-size: 11px; cursor: pointer; overflow-wrap: anywhere; }
.log-evento-hora { font-variant-numeric: tabular-nums; font-size: 10px; }
.log-evento strong { font-size: 12px; font-weight: 550; line-height: 1.4; }
.log-evento-trabajo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
.log-evento-equipo { display: flex; flex-wrap: wrap; gap: 3px; }
.log-evento-equipo > span { display: grid; place-items: center; min-width: 23px; height: 23px; padding-inline: 3px; border-radius: 50%; background: var(--fc-card); font-size: 9px; }
.log-evento-completado { background: var(--fc-secondary); }
.log-mes .log-evento-trabajo, .log-mes .log-evento-equipo { display: none; }
.log-ausencia { font-size: 11px; color: var(--fc-muted); text-align: center; }
.log-pie { color: var(--fc-muted); font-size: 12px; margin: 12px 0; }
.log-vacio { padding: 28px 12px; color: var(--fc-muted); font-size: 13px; line-height: 1.6; text-align: center; }
.log-vacio strong { color: var(--fc-ink); font-weight: 550; }
.log-vacio p { margin: 6px 0 0; }
.log-error { color: var(--danger); font-size: 13px; line-height: 1.5; }
.log-paginacion { display: flex; align-items: center; gap: 8px; font-size: 12px; margin-top: 12px; }
.log-paginacion:empty { display: none; }
/* El cuerpo se desplaza; cabecera y acciones permanecen a mano. */
.log-editor { box-sizing:border-box; width:min(800px,calc(100vw - 40px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; color:var(--fc-ink); background:var(--fc-card); border:0; border-radius:24px; font-family:var(--fc-font); overflow:clip; box-shadow:0 24px 80px rgb(0 0 0 / .18); outline:none; }
.log-editor::backdrop { background:rgb(0 0 0 / .32); }
#log-editor-contenido { display:flex; flex-direction:column; max-height:calc(100dvh - 48px); }
.log-editor-cabecera { display:flex; justify-content:space-between; gap:20px; align-items:start; padding:24px 28px 20px; border-bottom:1px solid var(--fc-border); flex-shrink:0; }
#log-editor h2 { margin:0; font-family:var(--arc-display); font-size:26px; font-weight:500; letter-spacing:-.03em; }
.log-editor-cabecera p { color:var(--fc-muted); font-size:13px; margin:7px 0 0; line-height:1.5; overflow-wrap:anywhere; }
.log-editor-cabecera .log-icono { border:0; background:var(--fc-secondary); border-radius:50%; flex-shrink:0; }
#log-formulario { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.log-editor-cuerpo { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.log-editor fieldset { border:0; padding:0; margin:0; min-width:0; }
.log-editor #log-campos { padding:20px 28px 24px; }
.log-editor-cliente { margin:0 0 20px; padding:0 14px; background:var(--fc-secondary); border-radius:12px; }
.log-editor h3 { font-size:16px; font-weight:550; margin:0 0 6px; letter-spacing:-.02em; }
.log-editor-cliente p { font-size:13px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.log-editor summary { cursor:pointer; font-size:13px; color:var(--fc-ink); padding:12px 0; }
.log-editor ul { margin:0; padding:0 0 14px 18px; font-size:13px; line-height:1.7; }
.log-editor li span { color:var(--fc-muted); margin-left:8px; }
.log-editor legend, .log-editor label { color:var(--fc-muted); font-size:12px; margin-bottom:8px; }
.log-editor .log-prioridades { display:flex; align-items:center; gap:20px; }
.log-prioridades legend { float:left; margin:0; padding:10px 0; min-width:140px; }
.log-prioridades-opciones { display:flex; padding:4px; background:var(--fc-secondary); border-radius:12px; gap:3px; }
.log-prioridades label { margin:0; position:relative; cursor:pointer; }
.log-prioridades input, .log-equipo input { position:absolute; opacity:0; width:1px; height:1px; }
.log-prioridades span { display:block; min-width:70px; text-align:center; padding:9px 14px; border-radius:9px; color:var(--fc-muted); }
.log-prioridades input:checked + span { background:var(--fc-primary); color:var(--fc-on-primary); }
.log-jornadas-cabecera { margin:28px 0 20px; }
.log-jornadas-cabecera > span { font-size:13px; color:var(--fc-muted); }
.log-editor .log-jornada { padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--fc-border); }
.log-jornada > legend { color:var(--fc-ink); font-weight:550; font-size:13px; margin-bottom:12px; }
.log-jornada-fechas { display:grid; grid-template-columns:minmax(140px,1fr) 116px 116px 40px; align-items:end; gap:12px; }
.log-editor input[type="time"], .log-editor textarea, .log-editor .rdp-field { width:100%; min-height:44px; box-sizing:border-box; font:inherit; font-size:13px; border:1px solid var(--fc-border); border-radius:12px; background:var(--fc-card); color:var(--fc-ink); box-shadow:none; padding:11px 12px; }
.log-editor textarea { resize:vertical; line-height:1.5; min-height:76px; }
.log-equipo-herramientas { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0 12px; }
.log-equipo-herramientas > label { color:var(--fc-ink); margin:0; font-size:13px; font-weight:550; }
.log-equipo-cuenta { display:block; color:var(--fc-muted); font-size:11px; font-weight:400; margin-top:4px; }
.log-editor .log-personas-no-disponibles { margin-top:20px; border-top:1px solid var(--fc-border); }
.log-editor .log-personas-no-disponibles > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:14px 0; list-style:none; font-size:13px; font-weight:550; }
.log-personas-no-disponibles > summary::-webkit-details-marker { display:none; }
.log-personas-no-disponibles > summary:hover { color:var(--fc-muted); }
.log-no-disponibles-cuenta { margin-left:6px; color:var(--fc-muted); font-weight:400; font-variant-numeric:tabular-nums; }
.log-personas-no-disponibles > summary svg { flex-shrink:0; transition:transform 160ms ease-out; }
.log-personas-no-disponibles[open] > summary svg { transform:rotate(180deg); }
.log-personas-no-disponibles > ul { list-style:none; padding:0; margin:0; max-height:280px; overflow-y:auto; scrollbar-color:var(--fc-border) transparent; }
.log-personas-no-disponibles li { display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--fc-border); }
.log-personas-no-disponibles li > div { min-width:0; }
.log-personas-no-disponibles strong { color:var(--fc-ink); font-size:13px; font-weight:550; overflow-wrap:anywhere; }
.log-personas-no-disponibles p { margin:4px 0 0; color:var(--fc-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.log-personas-no-disponibles .log-avatar { flex-shrink:0; }
@media (prefers-reduced-motion:reduce) { .log-personas-no-disponibles > summary svg { transition:none; } }
.log-editor .log-equipo-buscar { width:min(280px,55%); min-height:40px; padding:10px 12px; font-size:13px; color:var(--fc-ink); background:var(--fc-card); border:1px solid var(--fc-border); border-radius:12px; box-shadow:none; }
.log-editor .log-equipo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:246px; overflow-y:auto; padding:3px; margin:-3px; scrollbar-gutter:stable; }
.log-equipo label { position:relative; margin:0; cursor:pointer; min-width:0; }
.log-equipo label[hidden], .log-avatar img[hidden], .log-equipo-sin-resultados[hidden] { display:none; }
.log-persona { display:flex; align-items:center; gap:12px; padding:10px; min-height:66px; box-sizing:border-box; border:1px solid var(--fc-border); border-radius:12px; color:var(--fc-ink); background:var(--fc-card); }
.log-avatar { position:relative; display:inline-grid; place-items:center; flex-shrink:0; width:44px; height:44px; overflow:hidden; border-radius:50%; background:var(--fc-secondary); color:var(--fc-ink); font-size:12px; }
.log-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.log-persona-datos { flex:1; min-width:0; }
.log-persona-datos strong { display:block; font-size:13px; font-weight:550; line-height:1.4; overflow-wrap:anywhere; }
.log-persona-datos small { display:block; font-size:11px; color:var(--fc-muted); margin-top:3px; }
.log-persona-marca { width:18px; height:18px; border-radius:50%; border:1px solid var(--fc-border); display:grid; place-items:center; flex-shrink:0; }
.log-persona-marca svg { width:14px; height:14px; visibility:hidden; }
.log-equipo input:checked + .log-persona { border-color:var(--fc-ink); background:var(--fc-selected); }
.log-equipo input:checked + .log-persona .log-persona-marca { background:var(--fc-primary); color:var(--fc-on-primary); border-color:var(--fc-primary); }
.log-equipo input:checked + .log-persona .log-persona-marca svg { visibility:visible; }
.log-equipo input:disabled + .log-persona { opacity:.5; cursor:not-allowed; }
.log-editor .log-vehiculos { margin:24px 0; display:flex; flex-wrap:wrap; gap:8px; }
.log-vehiculos label { display:flex; align-items:center; gap:8px; border:1px solid var(--fc-border); border-radius:10px; padding:11px; margin:0; color:var(--fc-ink); cursor:pointer; }
.log-vehiculos input { width:16px; height:16px; min-height:0; accent-color:var(--fc-ink); }
.log-vehiculos label:has(input:checked) { border-color:var(--fc-ink); background:var(--fc-selected); }
.log-editor .log-editor-pie { flex-shrink:0; padding:16px 28px; border-top:1px solid var(--fc-border); background:var(--fc-card); }
.log-editor-acciones { display:flex; justify-content:flex-end; gap:10px; }
.log-editor-acciones .btn { min-height:44px; padding:11px 20px; font-size:13px; }
#log-editor-error:empty { display:none; }
#log-editor-error { margin:0 0 12px; }
.log-opcional { font-weight:400; margin-left:5px; }
.log-ayuda { font-size:12px; color:var(--fc-muted); line-height:1.6; margin:0; }
.log-editor button:disabled { opacity:.5; cursor:not-allowed; }
.log-editor, .log-editor-cuerpo, .log-equipo, #view-logistica { scrollbar-color:var(--fc-border) transparent; caret-color:var(--fc-ink); }
.log-editor ::selection, #view-logistica ::selection { background:var(--fc-primary); color:var(--fc-on-primary); }
.log-equipo input:focus-visible + .log-persona, .log-prioridades input:focus-visible + span, .log-icono:focus-visible, .log-segmentos button:focus-visible, .log-evento:focus-visible, .log-editor input:focus-visible, .log-editor textarea:focus-visible, .log-editor summary:focus-visible { outline:2px solid var(--fc-ink); outline-offset:3px; }
#log-vehiculo-formulario { padding:24px 28px; overflow:auto; }
#log-vehiculo-formulario .form-group + .form-group { margin-top:20px; }
/* La planificación necesita el espacio de trabajo; el alta de vehículo sigue compacta. */
@media (min-width:900px) {
  .log-editor:has(#log-formulario) { width:calc(100vw - 32px); max-width:none; height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); }
  #log-editor-contenido:has(#log-formulario) { height:100%; max-height:none; }
  #log-formulario { flex:1; }
  .log-editor-cuerpo { flex:1; }
  .log-editor-cabecera { padding:20px 28px 16px; }
  .log-editor-contexto { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:28px; }
  .log-editor-contexto .log-editor-cliente { margin-bottom:0; }
  .log-editor-contexto .log-prioridades { gap:12px; }
  .log-editor-contexto .log-prioridades legend { min-width:0; }
  .log-jornadas-cabecera { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; margin:22px 0 16px; }
  .log-jornadas-cabecera h3 { margin:0; }
  .log-editor .log-equipo { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:clamp(246px,36dvh,420px); }
}
@media (min-width:1360px) {
  .log-editor .log-equipo { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (hover:hover) and (pointer:fine) {
 .log-icono:hover, .log-evento:hover { background:var(--fc-selected); }
 .log-persona:hover { border-color:var(--fc-ink); }
 .log-segmentos button:not([aria-pressed="true"]):hover { color:var(--fc-ink); }
}
@media (max-width:1200px) { .log-espacio { grid-template-columns: minmax(0,1fr); gap: 16px; } .log-cola { padding: 16px; } .log-cola .log-segmentos button { padding-inline: 7px; font-size: 12px; } }
@media (max-width:1000px) {
  .log-espacio { grid-template-columns: 1fr; }
  #log-pedidos { overflow: visible; }
  .log-cola { margin-bottom: 12px; }
  .log-semana .log-dia { min-height: 300px; }
}
@media (max-width:600px) {
  .log-cal-cabecera { gap: 12px; flex-wrap: wrap; }
  .log-cal-herramientas { align-items: start; }
  .log-filtro-equipo { width: 100%; justify-content: space-between; }
  #view-logistica .log-filtro-equipo select { flex: 1; max-width: none; }
  .log-semana { grid-template-columns: 1fr; }
  .log-dias-semana:has(+ .log-semana) { display: none; }
  .log-semana .log-dia { min-height: 80px; border-right: 0; border-bottom: 1px solid var(--fc-border); padding: 12px; }
  #view-logistica .log-semana .log-dia h3 { justify-content: start; gap: 6px; }
  .log-semana .log-dia-nombre { display: inline; text-transform: capitalize; }
  .log-semana .log-dia-vacio { text-align: left; margin: 8px 0; }
  .log-semana .log-evento { padding: 12px; }
  .log-mes .log-dia { padding: 5px 2px; min-height: 80px; }
  .log-mes .log-evento { padding: 5px 3px; }
  .log-mes .log-evento-hora { font-size: 8px; }
  .log-mes .log-evento strong { font-size: 9px; }
  .log-editor { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:18px; }
  #log-editor-contenido { max-height:calc(100dvh - 16px); }
  .log-editor-cabecera { padding:20px 16px 16px; }
  .log-editor #log-campos { padding:16px; }
  .log-editor .log-editor-pie { padding:12px 16px; }
  .log-editor .log-equipo { grid-template-columns:1fr; max-height:240px; }
  .log-prioridades legend { min-width:0; margin-right:8px; }
  .log-editor .log-prioridades { gap:8px; flex-wrap:wrap; }
  .log-prioridades span { min-width:0; padding:9px 12px; }
  .log-editor .log-equipo-buscar { font-size:16px; }
  #log-editor h2 { font-size: 22px; }
  .log-jornada-fechas { grid-template-columns: 1fr 1fr 40px; gap: 12px 8px; }
  .log-jornada-fechas > div:first-child { grid-column: 1 / -1; }
  .log-editor input[type="time"], .log-editor textarea { font-size: 16px; }
  .log-editor-acciones { flex-wrap:wrap; }
  .log-editor .log-editor-pie .btn { flex: 1; min-height: 44px; }
}

.log-cabecera-acciones { display:flex; flex-wrap:wrap; gap:8px; }
/* Los apartados, como un control segmentado de Arc: un rectángulo con las pestañas dentro, la
   elegida en negro y el número de pedidos en su insignia. En el móvil se desliza sin partirse. */
.log-vistas { display:flex; gap:4px; width:max-content; max-width:100%; margin-bottom:24px; padding:5px; border:1px solid var(--fc-border); border-radius:18px; background:var(--fc-card); overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.log-vistas::-webkit-scrollbar { display:none; }
.log-vistas button { flex:none; display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px; border:0; border-radius:13px; background:transparent; color:var(--fc-muted); font:inherit; font-size:14px; font-weight:500; white-space:nowrap; cursor:pointer; transition:background-color .15s, color .15s; }
.log-vistas button:hover { background:var(--fc-secondary); color:var(--fc-ink); }
.log-vistas button[aria-pressed="true"] { background:var(--fc-primary); color:var(--fc-on-primary); }
.log-vistas button:focus-visible { outline:2px solid var(--fc-ink); outline-offset:2px; }
.log-vista-cuenta { display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 7px; border-radius:999px; background:var(--fc-secondary); color:var(--fc-ink); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.log-vistas button[aria-pressed="true"] .log-vista-cuenta { background:color-mix(in srgb, var(--fc-on-primary) 20%, transparent); color:var(--fc-on-primary); }
@media(max-width:600px) { .log-vistas { width:auto; } .log-vistas button { min-height:44px; padding:0 14px; font-size:13px; } }
.log-cola[hidden], .log-planificacion[hidden] { display:none; }
.log-cola-titulo { align-items:start; margin-bottom:20px; }
.log-cola-titulo p { margin:8px 0 0; color:var(--fc-muted); font-size:13px; line-height:1.5; }
#view-logistica #log-buscar { max-width:480px; margin-bottom:24px; }
.log-lista-cabecera, .log-pedido { display:grid; grid-template-columns:minmax(170px,1fr) minmax(160px,1.4fr) 140px 75px 130px; gap:20px; align-items:center; }
.log-lista-cabecera { padding:12px 0; border-bottom:1px solid var(--fc-border); font-size:12px; color:var(--fc-muted); }
.log-pedido { padding:22px 0; }
.log-pedido-numero { font-size:12px; color:var(--fc-muted); font-variant-numeric:tabular-nums; }
#view-logistica .log-pedido h3 { margin:5px 0 0; }
.log-pedido .log-descripcion { margin:0; }
.log-pedido-fecha { font-size:13px; color:var(--fc-muted); }
.log-pedido .log-prioridad { width:fit-content; font-size:12px; }
#view-logistica .log-pedido .btn { min-height:44px; }
.log-fecha-dia { display:inline-flex; align-items:center; gap:6px; color:var(--fc-ink); background:transparent; border:0; padding:2px; font:inherit; cursor:pointer; }
.log-fecha-dia:focus-visible { outline:2px solid var(--fc-ink); outline-offset:2px; }
.log-dia-cuenta { color:var(--fc-muted); font-size:10px; margin-left:auto; padding:3px; }
.log-evento-equipo, .log-evento-vehiculos { display:block; font-size:10px; line-height:1.45; color:var(--fc-muted); }
.log-semana .log-evento { padding:12px 10px; }
.log-semana .log-dia { min-height:390px; }
.log-ver-dia { border:0; background:transparent; color:var(--fc-ink); font:inherit; font-size:11px; text-decoration:underline; text-underline-offset:3px; min-height:40px; cursor:pointer; padding:6px; }
.log-dia-detalle { grid-template-columns:1fr; }
.log-dia-detalle .log-dia { padding:20px; border:0; }
#view-logistica .log-dia-detalle h3 { justify-content:start; }
.log-dia-detalle .log-dia-nombre { display:inline; }
.log-dia-detalle .log-evento { display:grid; grid-template-columns:100px minmax(150px,1fr) minmax(150px,1.5fr) minmax(130px,1fr); align-items:center; padding:18px; gap:16px; }
.log-dia-detalle .log-evento strong { font-size:14px; }
.log-dia-detalle .log-evento-hora, .log-dia-detalle .log-evento-equipo { font-size:12px; }
.log-dia-detalle .log-dia-cuenta { font-size:12px; }
@media(max-width:1100px) {
 .log-lista-cabecera,.log-pedido { grid-template-columns:minmax(160px,1fr) minmax(160px,1.2fr) 100px 60px 110px; gap:12px; }
}
@media(max-width:800px) {
 .log-lista-cabecera { display:none; }
 .log-pedido { grid-template-columns:1fr auto; gap:12px; }
 .log-lista-identidad, .log-lista-trabajo { grid-column:1 / -1; }
 .log-pedido .log-prioridad { justify-self:end; }
 .log-pedido .btn { grid-column:1 / -1; justify-self:start; }
 .log-dia-detalle .log-evento { grid-template-columns:1fr; gap:8px; }
 .log-cabecera-acciones .btn { font-size:12px; padding:10px 14px; }
}

.log-equipo-resumen { display:flex; align-items:center; gap:10px; margin-top:12px; font-size:11px; line-height:1.5; color:var(--fc-muted); }
.log-avatares { display:flex; padding-left:4px; flex-shrink:0; }
.log-avatares .log-avatar { width:26px; height:26px; font-size:9px; margin-left:-4px; border:2px solid var(--fc-card); }
.log-flota-resumen { font-size:11px; color:var(--fc-muted); margin:6px 0 0; }
.log-pedido-fecha small { display:block; margin-top:6px; color:var(--fc-muted); }
.log-vacio .btn { margin-top:16px; }


/* Asignación por días: una decisión visible y el equipo debajo, sin cuadrícula horaria. */
.log-editor [hidden] { display:none !important; }
.log-dias-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.log-dias-toolbar h3 { font-size:19px; margin-bottom:5px; }
.log-fechas-rapidas { display:flex; align-items:center; gap:8px; }
.log-fechas-rapidas > div { width:170px; }
.log-fechas-rapidas .btn { min-height:44px; padding:10px 16px; font-size:13px; }
.log-dias-semana-nav { display:flex; align-items:center; justify-content:center; gap:16px; margin:20px 0 12px; }
#log-editor-periodo { min-width:185px; text-align:center; font-size:13px; font-weight:500; }
.log-elegir-dias { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.log-elegir-dia { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:82px; border:1px solid var(--fc-border); border-radius:12px; background:var(--fc-card); color:var(--fc-ink); font:inherit; cursor:pointer; }
.log-elegir-dia > span { font-size:12px; text-transform:capitalize; color:var(--fc-muted); }
.log-elegir-dia > strong { font-size:23px; font-weight:500; font-variant-numeric:tabular-nums; }
.log-elegir-dia > svg { position:absolute; right:8px; top:8px; width:16px; height:16px; visibility:hidden; }
.log-elegir-dia[aria-pressed="true"] { background:var(--fc-selected); border-color:var(--fc-ink); }
.log-elegir-dia[aria-pressed="true"] > svg { visibility:visible; }
.log-elegir-dia.log-es-hoy > strong { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.log-dias-elegidos { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:14px 0 0; }
#log-dias-cuenta { font-size:12px; color:var(--fc-muted); }
#log-dias-seleccionados { display:flex; gap:8px; flex-wrap:wrap; }
.log-dia-chip { display:inline-flex; align-items:center; border:1px solid var(--fc-border); border-radius:10px; overflow:hidden; }
.log-dia-chip:has([aria-pressed="true"]) { border-color:var(--fc-ink); background:var(--fc-selected); }
.log-dia-chip button { min-height:36px; padding:8px 10px; border:0; color:var(--fc-ink); background:transparent; font:inherit; font-size:12px; cursor:pointer; }
.log-dia-chip .log-chip-quitar { padding:8px; display:grid; place-items:center; }
.log-chip-quitar svg { width:16px; height:16px; }
.log-editor input[type="checkbox"] { accent-color:var(--fc-ink); }
.log-cita-fila { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; min-height:48px; margin-top:10px; }
.log-editor .log-cita-fila > label, #log-compartir-etiqueta { display:flex; align-items:center; gap:9px; margin:0; font-size:13px; color:var(--fc-ink); cursor:pointer; }
.log-cita-fila > label > span { color:var(--fc-muted); }
.log-cita-fila input[type="checkbox"], #log-compartir { width:18px; height:18px; min-height:0; margin:0; flex-shrink:0; }
.log-cita-hora { display:flex; align-items:center; gap:10px; }
.log-cita-hora label { margin:0; }
.log-editor .log-cita-hora input { width:135px; }
.log-horario-anterior { font-size:12px; color:var(--fc-muted); }
.log-horario-anterior button, .log-enlace { background:transparent; border:0; padding:0; font:inherit; color:var(--fc-ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.log-asignacion-cabecera { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:24px 0 0; padding-top:24px; border-top:1px solid var(--fc-border); }
.log-asignacion-cabecera h3 { margin:0; font-size:19px; }
#log-compartir-etiqueta { font-size:12px; }
.log-asignacion-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; }
#log-personal-panel { min-width:0; }
.log-editor #log-personal-panel .log-equipo { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); max-height:360px; overflow-y:auto; }
.log-editor .log-equipo-herramientas { margin-top:18px; }
.log-editor #log-vehiculos-panel .log-vehiculos { display:flex; flex-direction:column; flex-wrap:nowrap; gap:8px; margin-top:22px; max-height:420px; overflow:auto; padding:3px; }
#log-vehiculos-panel .log-vehiculos legend { font-size:13px; font-weight:550; color:var(--fc-ink); margin-bottom:18px; }
#log-vehiculos-panel .log-vehiculos label { min-height:62px; padding:10px 12px; box-sizing:border-box; }
#log-vehiculos-panel strong { display:block; font-size:13px; font-weight:550; }
#log-vehiculos-panel small { display:block; color:var(--fc-muted); font-size:11px; margin-top:3px; }
.log-otras-tareas:empty { display:none; }
.log-persona-datos .log-otras-tareas, #log-vehiculos-panel .log-otras-tareas { color:var(--fc-ink); font-weight:500; }
#log-disponibilidad:empty { display:none; }
#log-disponibilidad { margin-top:18px; }
.log-aviso-coincidencias { padding:0 14px; background:var(--fc-secondary); border-radius:12px; }
.log-aviso-coincidencias p, .log-aviso-coincidencias li { font-size:12px; line-height:1.6; }
.log-otros-detalles { margin-top:22px; border-top:1px solid var(--fc-border); border-bottom:1px solid var(--fc-border); }
.log-editor .log-otros-detalles > summary { padding:17px 0; font-size:14px; }
.log-otros-detalles summary > span { color:var(--fc-muted); margin-left:8px; font-size:12px; }
#log-notas-panel > label { display:block; }
.log-otros-detalles .log-prioridades { margin:18px 0 20px; }
.log-editor-cliente.log-trabajo-resumen { margin:12px 0 0; background:transparent; padding:0; }
#log-asignacion-resumen { margin-right:auto; align-self:center; font-size:12px; color:var(--fc-muted); }
.log-elegir-dia:focus-visible, .log-dia-chip button:focus-visible, .log-enlace:focus-visible { outline:2px solid var(--fc-ink); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
  .log-elegir-dia:hover { background:var(--fc-selected); }
}
@media (max-width:1000px) {
  .log-asignacion-layout { grid-template-columns:minmax(0,1fr) 230px; gap:20px; }
  .log-editor #log-personal-panel .log-equipo { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
}
@media (max-width:760px) {
  .log-dias-toolbar { flex-direction:column; align-items:start; gap:14px; }
  .log-asignacion-layout { grid-template-columns:1fr; gap:4px; }
  .log-editor #log-vehiculos-panel .log-vehiculos { max-height:260px; }
  .log-cita-fila > label { flex-wrap:wrap; }
  .log-cita-fila > label > span { margin-left:27px; }
}
@media (max-width:600px) {
  .log-elegir-dias { gap:5px; }
  .log-elegir-dia { min-height:72px; border-radius:10px; }
  .log-elegir-dia > strong { font-size:20px; }
  .log-elegir-dia > span { font-size:10px; }
  .log-elegir-dia > svg { width:12px; height:12px; top:3px; right:3px; }
  .log-fechas-rapidas { width:100%; }
  .log-fechas-rapidas > div { flex:1; min-width:0; }
  .log-fechas-rapidas .btn { padding-inline:12px; }
  .log-dias-toolbar h3, .log-asignacion-cabecera h3 { font-size:18px; }
  .log-editor #log-personal-panel .log-equipo { grid-template-columns:1fr; max-height:340px; }
  #log-asignacion-resumen { flex-basis:100%; font-size:11px; }
  .log-editor .log-cita-hora input { font-size:16px; }
}

/* El orden es una indicación del día, sin convertirlo en un horario. */
.log-evento-orden { font-weight: 600; color: var(--text); }
.log-orden-campos { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 12px 0 20px; }
.log-orden-campos > label:first-child { display: grid; gap: 8px; }
.log-orden-campos input[type="number"] { max-width: 200px; }
.log-orden-campos .log-opcional-dia { display: flex; align-items: center; gap: 10px; }
.log-opcional-dia input { width: 18px; height: 18px; accent-color: var(--text); }

/* Selección de varios pedidos sin asignar: una columna de casillas delante y una barra con el
   recuento y la acción, que solo aparece cuando hay algo marcado. */
.log-lista-seleccionable :is(.log-lista-cabecera,.log-pedido) { grid-template-columns:24px minmax(170px,1fr) minmax(160px,1.4fr) 140px 75px 130px; }
.log-marca { display:flex; align-items:center; justify-content:center; width:24px; height:24px; cursor:pointer; }
.log-marca input { width:18px; height:18px; margin:0; accent-color:var(--fc-primary); cursor:pointer; }
.log-pedido-marcado { background:var(--fc-selected); box-shadow:-12px 0 0 var(--fc-selected),12px 0 0 var(--fc-selected); border-radius:2px; }
.log-cola-barra { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
#view-logistica .log-cola-barra #log-buscar { flex:1 1 260px; max-width:440px; width:auto; margin:0; }
.log-lote { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-left:auto; font-size:13px; color:var(--fc-muted); }
.log-lote strong { color:var(--fc-ink); }
.log-lote[hidden] { display:none; }
.log-lote > div { display:flex; gap:8px; }
.log-lote .btn { min-height:38px; padding-block:8px; }
@media(max-width:1100px) { .log-lista-seleccionable :is(.log-lista-cabecera,.log-pedido) { grid-template-columns:24px minmax(0,1fr) minmax(0,1.2fr) 90px 60px minmax(0,auto); } }
@media(max-width:800px) {
 .log-lista-seleccionable .log-pedido { grid-template-columns:24px 1fr auto; }
 .log-lista-seleccionable .log-pedido > .log-marca { grid-row:1; }
 .log-lista-seleccionable :is(.log-lista-identidad,.log-lista-trabajo) { grid-column:2 / -1; }
 .log-lista-seleccionable .log-pedido .btn { grid-column:2 / -1; }
}

/* Responsable del parte y quién apunta: opciones en píldora, debajo del equipo. */
#log-responsable-panel:not(:empty) { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--fc-border); }
.log-responsable, .log-modo-parte { border:0; padding:0; margin:0; min-width:0; }
.log-responsable legend, .log-modo-parte legend { font-size:13px; font-weight:600; color:var(--fc-ink); padding:0; margin-bottom:4px; }
.log-responsable-opciones { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.log-responsable-opciones label { position:relative; cursor:pointer; }
.log-responsable-opciones input { position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.log-responsable-opciones span { display:inline-flex; align-items:center; min-height:36px; padding:6px 14px; border:1px solid var(--fc-border); border-radius:999px; font-size:13px; background:var(--fc-card); transition:background-color .15s,border-color .15s,color .15s; }
.log-responsable-opciones input:checked + span { background:var(--fc-primary); border-color:var(--fc-primary); color:var(--fc-on-primary); }
.log-responsable-opciones input:focus-visible + span { outline:2px solid var(--fc-primary); outline-offset:2px; }
.log-responsable-unico { margin-top:12px; }

/* Título del trabajo: en la lista, encima de la referencia; en el editor, con su botón de la IA. */
.log-titulo-trabajo { margin:0 0 2px; font-size:13px; font-weight:600; color:var(--fc-ink); letter-spacing:.01em; }
.log-titulo-campo { display:grid; gap:8px; margin-bottom:24px; }
.log-titulo-campo label { display:flex; align-items:baseline; gap:8px; font-size:13px; font-weight:600; }
.log-titulo-campo label .log-opcional { font-weight:400; }
.log-titulo-fila { display:flex; align-items:stretch; gap:8px; }
/* Un borde fino como el resto de campos: sin él, el navegador ponía su borde hundido. */
.log-editor .log-titulo-fila input { flex:1; min-width:0; height:48px; box-sizing:border-box; padding:0 16px; border:1px solid var(--fc-border)!important; border-radius:14px; background:var(--fc-card); color:var(--fc-ink); font:inherit; font-size:15px; font-weight:600; letter-spacing:.01em; text-transform:uppercase; box-shadow:none!important; outline:none; -webkit-appearance:none; appearance:none; transition:border-color .15s; }
.log-editor .log-titulo-fila input::placeholder { text-transform:none; font-weight:400; letter-spacing:0; color:var(--fc-muted); }
.log-editor .log-titulo-fila input:hover:not(:focus):not(:disabled) { border-color:var(--fc-muted)!important; }
.log-editor .log-titulo-fila input:focus { border-color:var(--fc-ink)!important; }
.log-titulo-fila .log-titulo-ia { flex:none; display:inline-flex; align-items:center; gap:8px; height:48px; min-height:48px; padding:0 18px; border-radius:14px!important; white-space:nowrap; }
.log-titulo-campo .log-ayuda { margin:0; }
.log-titulo-campo .log-ayuda:empty { display:none; }
@media(max-width:600px) { .log-titulo-fila { flex-direction:column; } .log-titulo-fila .log-titulo-ia { justify-content:center; } .log-editor .log-titulo-fila input { flex:none; width:100%; font-size:16px; } }

/* Los desplegables del editor («Indicaciones y orden del día», «Ver trabajo del pedido»): sin el
   triángulo ni el marco cuadrado de foco del navegador; una flecha que gira y un foco redondeado. */
.log-editor details > summary { display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer; border-radius:12px; outline:none; font-weight:600; }
.log-editor details > summary::-webkit-details-marker { display:none; }
.log-editor details > summary::after { content:""; width:8px; height:8px; margin-left:auto; border-right:1.6px solid var(--fc-muted); border-bottom:1.6px solid var(--fc-muted); transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
.log-editor details[open] > summary::after { transform:rotate(-135deg) translateY(-2px); }
.log-editor details > summary:focus-visible { box-shadow:0 0 0 2px var(--fc-ink); }
.log-editor .log-otros-detalles > summary > span { font-weight:400; }
.log-editor .log-trabajo-resumen > details > summary { padding:14px 0; font-size:14px; }
/* El orden del trabajo: un campo como los demás, con sitio para «Sin orden fijo». */
.log-editor .log-orden-campos input[type="number"] { width:180px; max-width:100%; height:44px; box-sizing:border-box; padding:0 14px; border:1px solid var(--fc-border)!important; border-radius:12px; background:var(--fc-card); color:var(--fc-ink); font:inherit; font-size:14px; box-shadow:none!important; outline:none; -webkit-appearance:none; appearance:textfield; }
.log-editor .log-orden-campos input[type="number"]::placeholder { color:var(--fc-muted); }
.log-editor .log-orden-campos input[type="number"]:focus { border-color:var(--fc-ink)!important; }
.log-editor .log-orden-campos > label:first-child { font-size:13px; color:var(--fc-muted); }

/* El editor por pasos: una barra con los cuatro (el actual en tinta, los hechos con su número
   relleno) y un paso a la vez. */
.log-pasos-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; padding:12px 24px 0; list-style:none; }
.log-pasos-nav button { display:flex; align-items:center; gap:8px; width:100%; min-height:40px; padding:6px 10px; border:0; border-radius:12px; background:transparent; color:var(--fc-muted); font:inherit; font-size:13px; font-weight:500; cursor:pointer; text-align:left; }
.log-pasos-nav button span { display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; border:1.5px solid var(--fc-border); font-size:12px; font-weight:600; }
.log-pasos-nav button[aria-current="step"] { background:var(--fc-secondary); color:var(--fc-ink); }
.log-pasos-nav button[aria-current="step"] span { background:var(--fc-ink); border-color:var(--fc-ink); color:var(--fc-card); }
.log-pasos-nav button.hecho span { border-color:var(--fc-ink); color:var(--fc-ink); }
.log-pasos-nav button:disabled { opacity:.45; cursor:default; }
.log-paso[hidden] { display:none!important; }
.log-paso-titulo { margin-bottom:16px; }
.log-paso-titulo h3 { margin:0 0 4px; }
.log-trabajo-bloque { display:grid; gap:8px; margin-top:4px; padding:16px; border-radius:16px; background:var(--fc-secondary); }
.log-trabajo-bloque h3 { margin:0; font-size:14px; }
.log-trabajo-bloque p { margin:0; font-size:13px; line-height:1.5; }
.log-trabajo-bloque ul { margin:0; padding-left:18px; font-size:13px; line-height:1.6; }
.log-trabajo-bloque li span { color:var(--fc-muted); }
@media(max-width:600px) { .log-pasos-nav { padding:10px 12px 0; gap:2px; } .log-pasos-nav button { flex-direction:column; gap:4px; padding:6px 2px; font-size:11px; text-align:center; } }
/* Con un paso a la vez sobran las separaciones que había entre bloques seguidos: cada paso empieza
   arriba, sin línea ni margen. */
.log-paso > :first-child { margin-top:0!important; padding-top:0!important; border-top:0!important; }
.log-paso .log-asignacion-cabecera { margin-bottom:12px; }
.log-paso #log-orden-panel > :first-child { margin-top:0; }
.log-editor .log-paso { margin:0; padding:0; border:0!important; border-radius:0; background:none!important; box-shadow:none!important; }

/* ===== Planificación en rectángulos =====
   Cada día es una tarjeta con su cabecera (día de la semana y número) y aire entre días, sobre el
   fondo de la página. Los trabajos, tarjetas con una franja de color: amarillo claro, organizado;
   verde claro, completado. Los días vacíos no repiten «Sin pedidos planificados». */
#log-calendario { --org-amarillo:oklch(96% .05 90); --org-amarillo-t:oklch(62% .13 80); --org-verde:oklch(95.5% .04 150); --org-verde-t:oklch(55% .13 150);
  overflow:visible; border:0; border-radius:0; background:none; }
html[data-theme="dark"] #log-calendario { --org-amarillo:oklch(31% .05 85); --org-amarillo-t:oklch(80% .12 85); --org-verde:oklch(30% .05 150); --org-verde-t:oklch(78% .12 150); }
#log-calendario .log-rejilla { gap:8px; }
#log-calendario .log-semana ~ *, #log-calendario .log-dias-semana { background:none; border:0; }
#log-calendario .log-dias-semana { gap:8px; margin-bottom:6px; }
#log-calendario .log-dias-semana span { padding:0 4px 2px; text-align:left; font-weight:500; }
#log-calendario .log-semana ~ .log-dias-semana, #log-calendario:has(.log-semana) .log-dias-semana { display:none; }
#log-calendario .log-dia { display:flex; flex-direction:column; gap:6px; min-height:0; padding:10px; border:1px solid var(--fc-border)!important; border-radius:16px; background:var(--fc-card); }
#log-calendario .log-semana .log-dia { min-height:220px; }
#log-calendario .log-mes .log-dia { min-height:104px; }
#log-calendario .log-dia-fuera { opacity:.5; }
#log-calendario .log-dia-hoy { border-color:var(--fc-ink)!important; box-shadow:0 0 0 1px var(--fc-ink); }
#log-calendario .log-dia > h3 { display:flex; align-items:center; gap:6px; margin:0 0 2px; }
#log-calendario .log-semana .log-dia-nombre { display:inline; font-size:12px; font-weight:500; color:var(--fc-muted); text-transform:capitalize; }
#log-calendario .log-dia time { width:26px; height:26px; font-size:13px; font-weight:600; }
#log-calendario .log-dia-cuenta { display:grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--fc-secondary); font-size:11px; font-weight:600; color:var(--fc-ink); }
#log-calendario .log-dia-vacio { display:none; }
#log-calendario .log-evento { position:relative; gap:3px; margin:0; padding:8px 8px 8px 12px; border:0!important; border-radius:10px; background:var(--org-amarillo)!important; overflow:hidden; }
#log-calendario .log-evento::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--org-amarillo-t); }
#log-calendario .log-evento-completado { background:var(--org-verde)!important; }
#log-calendario .log-evento-completado::before { background:var(--org-verde-t); }
#log-calendario .log-evento strong { font-size:12px; font-weight:600; line-height:1.3; overflow-wrap:break-word; word-break:normal; hyphens:manual; }
#log-calendario .log-evento :is(.log-evento-trabajo,.log-evento-equipo,.log-evento-vehiculos,.log-evento-hora,.log-evento-orden) { font-size:11px; line-height:1.35; color:var(--fc-muted); }
#log-calendario .log-ver-dia { margin-top:auto; border:0; background:none; padding:4px 0; font:inherit; font-size:11.5px; font-weight:600; color:var(--fc-ink); text-align:left; cursor:pointer; }
@media(max-width:900px) {
  #log-calendario .log-semana { grid-template-columns:1fr; }
  #log-calendario .log-semana .log-dia { min-height:0; }
  #log-calendario .log-semana .log-dia:not(:has(.log-evento)) { flex-direction:row; align-items:center; padding:8px 10px; }
}
#log-calendario .log-dia > h3 { justify-content:flex-start; text-align:left; }
#log-calendario .log-dia .log-fecha-dia { justify-content:flex-start; }
/* Si una palabra no cabe en la columna, se corta con guion (el documento es lang="es"). */
#log-calendario .log-evento strong { hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word; }

/* ===== Vehículos: una tarjeta por vehículo, en rejilla ===== */
.log-flota-rejilla { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; }
.log-flota-tarjeta { display:grid; gap:12px; align-content:start; padding:16px; border:1px solid var(--fc-border); border-radius:18px; background:var(--fc-card); }
.log-flota-inactivo { opacity:.6; }
.log-flota-tarjeta > header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.log-flota-tarjeta h3 { margin:0; font-size:16px; }
.log-flota-tarjeta header p { margin:2px 0 0; font-size:13px; color:var(--fc-muted); font-variant-numeric:tabular-nums; }
.log-flota-avisos, .log-flota-ok, .log-flota-baja { flex:none; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.log-flota-avisos { background:oklch(95.5% .03 25); color:oklch(48% .16 25); }
.log-flota-ok { background:oklch(95.5% .04 150); color:oklch(45% .12 150); }
.log-flota-baja { background:var(--fc-secondary); color:var(--fc-muted); }
.log-flota-trabajos { margin:-6px 0 0; font-size:12.5px; color:var(--fc-muted); }
.log-flota-tarjeta section { display:grid; gap:6px; }
.log-flota-tarjeta h4 { margin:0; font-size:12px; font-weight:600; color:var(--fc-muted); text-transform:uppercase; letter-spacing:.04em; }
.log-flota-tarjeta h4 small { text-transform:none; letter-spacing:0; font-weight:400; }
.log-flota-tarjeta ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.log-flota-doc { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 10px; border-radius:12px; background:var(--fc-secondary); }
.log-flota-doc > div:first-child { display:grid; gap:1px; min-width:0; }
.log-flota-doc strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.log-flota-doc span { font-size:12px; color:var(--fc-muted); }
.log-aviso-caducado { background:oklch(95.5% .03 25); } .log-aviso-caducado span { color:oklch(48% .16 25); }
.log-aviso-caduca_pronto { background:oklch(96% .05 90); } .log-aviso-caduca_pronto span { color:oklch(48% .1 75); }
html[data-theme="dark"] .log-aviso-caducado, html[data-theme="dark"] .log-flota-avisos { background:oklch(30% .06 25); }
html[data-theme="dark"] .log-aviso-caduca_pronto { background:oklch(31% .05 85); }
.log-flota-acciones { display:flex; align-items:center; gap:6px; flex:none; }
.log-flota-acciones .btn { min-height:32px; padding:4px 12px; font-size:12px; }
.log-flota-quitar { border:0; background:none; padding:4px; font:inherit; font-size:12px; color:var(--fc-error); cursor:pointer; }
.log-flota-nada, .log-flota-notas { margin:0; font-size:12.5px; color:var(--fc-muted); }
.log-flota-pie { display:flex; justify-content:flex-end; gap:8px; }
.log-flota-form { display:grid; gap:10px; padding-top:12px; border-top:1px solid var(--fc-border); }
.log-flota-campos { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.log-flota-campos label { display:grid; gap:4px; min-width:0; font-size:12px; color:var(--fc-muted); }
.log-flota-ancho { grid-column:1 / -1; }
.log-flota-campos :is(input:not([type=checkbox]):not([type=file]),select) { min-height:40px; padding:0 10px; border:1px solid var(--fc-border)!important; border-radius:10px; background:var(--fc-card); color:var(--fc-ink); font:inherit; font-size:14px; box-shadow:none!important; }
.log-flota-check { display:flex!important; align-items:center; gap:8px; color:var(--fc-ink)!important; font-size:13px!important; }
@media(max-width:600px) { .log-flota-rejilla { grid-template-columns:1fr; } .log-flota-campos :is(input,select) { font-size:16px; } }
.log-flota-tarjeta { min-width:0; }
.log-flota-tarjeta section { margin:0; padding:0; border:0!important; border-radius:0; background:none!important; box-shadow:none!important; }
.log-flota-campos :is(input:not([type=checkbox]),select) { width:100%; box-sizing:border-box; min-width:0; }
.log-flota-campos input[type=file] { font-size:12.5px; color:var(--fc-muted); }
.log-flota-campos input[type=file]::file-selector-button { margin-right:10px; min-height:34px; padding:0 12px; border:1px solid var(--fc-border); border-radius:999px; background:var(--fc-card); color:var(--fc-ink); font:inherit; font-weight:500; cursor:pointer; }

/* Filtros de la cola, en una fila de desplegables bajo el buscador. */
.log-cola-filtros { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.log-cola-filtros select { min-height:38px; padding:0 34px 0 12px; 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; }
.log-cola:not(.log-cola-asignados) .log-solo-asignados { display:none; }
/* El color de cada pedido, como en Pedidos: rojo claro, sin asignar; amarillo claro, asignado. */
.log-pedido.log-org-pendiente { box-shadow:inset 4px 0 0 oklch(62% .16 25); padding-left:14px; }
.log-pedido.log-org-curso { box-shadow:inset 4px 0 0 oklch(70% .14 80); padding-left:14px; }
@media(max-width:600px) { .log-cola-filtros { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-inline:-4px; padding:0 4px 2px; } .log-cola-filtros::-webkit-scrollbar { display:none; } .log-cola-filtros label { flex:none; } }
/* Acciones de cada pedido de la cola: editar (principal) y ver el pedido, una sobre otra. */
.log-pedido-acciones { display:grid; gap:6px; }
#view-logistica .log-pedido-acciones .btn { width:100%; min-height:38px; white-space:nowrap; }
.log-lista-cabecera, .log-pedido { grid-template-columns:minmax(170px,1fr) minmax(160px,1.4fr) 120px 75px 150px; }
.log-lista-seleccionable :is(.log-lista-cabecera,.log-pedido) { grid-template-columns:24px minmax(170px,1fr) minmax(160px,1.4fr) 120px 75px 150px; }
@media(max-width:800px) { .log-pedido-acciones { grid-column:1 / -1; grid-auto-flow:column; justify-content:start; } }
.log-devolver { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:20px; padding:14px 16px; border-radius:14px; background:var(--fc-secondary); }
.log-devolver p { margin:2px 0 0; }

/* El editor, a la medida de lo que contiene: en escritorio, una ventana de hasta 1120 px que crece con
   el paso (sin media pantalla vacía), y que solo se desplaza por dentro si no cabe. */
@media (min-width:900px) {
  .log-editor:has(#log-formulario) { width:min(1120px,calc(100vw - 64px)); height:fit-content; max-height:calc(100dvh - 48px); }
  #log-editor-contenido:has(#log-formulario) { height:auto; max-height:calc(100dvh - 48px); }
  #log-formulario { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; }
  .log-editor-cuerpo { flex:1 1 auto; min-height:min(460px,calc(100dvh - 300px)); }
}

/* Lo respondido a las reglas de los productos del pedido, para quien planifica. */
.log-datos-servicio { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; margin: 8px 0 0; }
.log-datos-servicio > div { padding: 8px 10px; border-radius: 10px; background: var(--fc-secondary); }
.log-datos-servicio dt { font-size: 12px; color: var(--fc-muted); }
.log-datos-servicio dd { margin: 2px 0 0; font-weight: 600; font-size: 13.5px; }

/* ---- Móvil ---- */
.log-vista-corto { display:none; }
@media(max-width:800px) {
  /* Cada pedido de la cola, de arriba abajo en su tarjeta: quién, qué, cuándo y con qué prioridad
     en una fila, y los botones a lo ancho, uno junto al otro. Un texto largo se parte, no empuja. */
  /* Las columnas de escritorio (más arriba, sin media query) tenían mínimos de 170 px: aquí, dos o tres. */
  #view-logistica .log-pedido { grid-template-columns:minmax(0,1fr) auto; }
  #view-logistica .log-lista-seleccionable .log-pedido { grid-template-columns:24px minmax(0,1fr) auto; }
  #view-logistica .log-pedido > * { min-width:0; }
  #view-logistica .log-pedido :is(h3,.log-titulo-trabajo,.log-descripcion) { overflow-wrap:anywhere; }
  .log-lista-seleccionable .log-pedido-fecha { grid-column:2; }
  .log-lista-seleccionable .log-pedido .log-prioridad { grid-column:3; }
  #view-logistica .log-pedido-acciones { grid-column:1 / -1; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); grid-auto-flow:row; gap:8px; }
  #view-logistica .log-lista-seleccionable .log-pedido-acciones { grid-column:2 / -1; }
  #view-logistica .log-pedido-acciones .btn { grid-column:auto; width:100%; }
}
@media(max-width:600px) {
  /* Las cuatro pestañas, en dos filas dentro de su rectángulo y con el nombre corto. */
  .log-vistas { display:grid; grid-template-columns:1fr 1fr; width:auto; overflow:visible; }
  .log-vistas button { justify-content:center; padding:0 10px; }
  .log-vista-largo { display:none; }
  .log-vista-corto { display:inline; }
  /* Los filtros, en rejilla y a lo ancho, en vez de una fila que se sale de la pantalla. */
  .log-cola-filtros { display:grid; grid-template-columns:1fr 1fr; overflow:visible; margin-inline:0; padding:0; }
  .log-cola-filtros label { min-width:0; }
  .log-cola-filtros select { width:100%; min-height:44px; font-size:16px; }
  /* Personas del editor: el buscador, debajo del título y a todo el ancho. */
  .log-equipo-herramientas { flex-direction:column; align-items:stretch; gap:8px; }
  .log-editor .log-equipo-buscar { width:100%; }
}

/* Códigos de servicio: el alta en una bandeja arriba y cada código en su fila, con su número, su
   texto, si está activo y guardar. Los dados de baja, atenuados: no salen al operario. */
#log-editor-contenido:has(.log-codigos-cuerpo) .log-editor-cabecera { flex-direction:column; gap:4px; }
#log-editor-contenido:has(.log-codigos-cuerpo) .log-editor-cabecera p { margin:0; }
.log-codigos-cuerpo { flex:1 1 auto; min-height:0; display:grid; align-content:start; gap:14px; padding:20px 28px; overflow-y:auto; overscroll-behavior:contain; }
.log-codigos-cuerpo .log-error:empty { display:none; }
.log-codigo-nuevo { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:10px; align-items:end; padding:14px; border-radius:16px; background:var(--fc-secondary); }
.log-codigo-nuevo label { display:grid; gap:6px; margin:0; font-size:12px; font-weight:600; color:var(--fc-muted); }
.log-codigos-lista { display:grid; gap:8px; }
.log-codigo { display:grid; grid-template-columns:92px minmax(0,1fr) auto auto; gap:10px; align-items:center; margin:0; padding:10px 12px; border:1px solid var(--fc-border); border-radius:14px; background:var(--fc-card); }
.log-codigo-baja { opacity:.6; }
.log-codigos-cuerpo input:not([type=checkbox]) { width:100%; min-width:0; min-height:42px; padding:0 12px; border:1px solid var(--fc-border)!important; border-radius:12px; background:var(--fc-card); color:var(--fc-ink); font:inherit; font-size:14px; box-shadow:none!important; outline:none; }
.log-codigos-cuerpo input:not([type=checkbox]):focus { border-color:var(--fc-ink)!important; }
.log-codigo-activo { display:inline-flex; align-items:center; gap:6px; margin:0; font-size:13px; font-weight:500; white-space:nowrap; cursor:pointer; }
.log-codigo-activo input { width:18px; height:18px; margin:0; accent-color:var(--fc-ink); }
.log-codigo .btn { min-height:42px; }
#log-editor-contenido:has(.log-codigos-cuerpo) .log-editor-pie { display:flex; justify-content:flex-end; }
@media(max-width:600px) {
  .log-codigos-cuerpo { padding:16px; }
  .log-codigo-nuevo { grid-template-columns:90px minmax(0,1fr); }
  .log-codigo-nuevo .btn { grid-column:1 / -1; }
  .log-codigo { grid-template-columns:80px minmax(0,1fr); }
  .log-codigo .btn { justify-self:end; }
  .log-codigos-cuerpo input:not([type=checkbox]) { font-size:16px; }
}
