/* Calendario (Encargo 7). Mismo lenguaje visual que obras.css y actividad.css. Solo flechitas y campanita. */

.cal-lista{display:flex;flex-direction:column;gap:12px}

/* La tarjeta de cada obra (Correcciones 2, §8.2): corchete naranja, nombre, píldora de estado, dirección con su icono y flechita */
.ventana-obra{position:relative;background:var(--papel);border:1px solid var(--borde-suave);border-radius:14px}
.ventana-obra::before,.ventana-obra::after{content:"";position:absolute;width:14px;height:14px;border:2.5px solid var(--naranja);pointer-events:none}
.ventana-obra::before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-top-left-radius:12px}
.ventana-obra::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-bottom-right-radius:12px}
.cab-obra{display:flex;align-items:center;gap:12px;width:100%;appearance:none;border:0;background:transparent;padding:16px;min-height:64px;text-align:left;cursor:pointer;color:var(--texto)}
.co-texto{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.co-fila{display:flex;align-items:flex-start;gap:10px}
.cab-obra .nombre{flex:1;min-width:0;font-family:var(--titulos);font-size:19px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.co-direccion{display:flex;align-items:flex-start;gap:6px;font-size:14.5px;line-height:1.35;color:var(--texto-suave);overflow-wrap:anywhere}
.co-direccion svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--naranja-oscuro)}
.cab-obra .flecha,.cab-ramo .flecha{margin-left:auto;flex:none;font-size:26px;line-height:1;color:var(--naranja);transform:translateY(-4px);transition:transform .15s}
.ventana-obra.abierta>.cab-obra .flecha,.ramo-cal.abierto>.cab-ramo .flecha{transform:translateY(4px) rotate(180deg)}
.cuerpo-obra{border-top:1px solid var(--borde-suave);padding:4px 12px 10px}
.cuerpo-obra[hidden],.lineas[hidden]{display:none}

/* Los ramos de la obra: su nombre en letra normal, no en mayúsculas */
.ramo-cal{border-bottom:1px solid var(--borde-suave)}
.ramo-cal:last-of-type{border-bottom:0}
.cab-ramo{display:flex;align-items:center;gap:10px;width:100%;appearance:none;border:0;background:transparent;padding:14px 4px;min-height:52px;text-align:left;cursor:pointer;color:var(--texto)}
.cab-ramo .nombre{font-size:16.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}

/* Cada línea, de izquierda a derecha: icono con su color · etiqueta de tipo · título · estado a la derecha (§8.4) */
.lineas{display:flex;flex-direction:column;gap:8px;padding:0 0 12px}
.linea-cal{display:flex;align-items:center;gap:10px;padding:10px 10px;min-height:60px;border-radius:12px;background:var(--fondo);cursor:pointer;user-select:none;-webkit-user-select:none}
.linea-cal:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
.lc-texto{flex:1;min-width:0}
.lc-texto{line-height:1.3}
.lc-tipo{display:inline-block;vertical-align:baseline;margin-right:8px;font-size:10px;letter-spacing:.14em;font-weight:600;color:var(--texto-suave)}
.lc-texto h4{display:inline;font-family:var(--titulos);font-size:16.5px;font-weight:700;margin:0;line-height:1.25;overflow-wrap:anywhere}
.lc-estado{flex:none;max-width:38%;text-align:right;font-size:10px;letter-spacing:.1em;font-weight:700;line-height:1.3;margin:0}
.lc-estado.gris{color:var(--texto-suave)}
.lc-estado.verde{color:var(--verde)}
.lc-estado.amarillo{color:#8A6D00}
.lc-estado.naranja{color:var(--naranja-oscuro)}
.lc-estado.rojo{color:var(--rojo)}
.lc-estado.marron{color:#8B5E3C}

/* El color del icono lo dice la tabla del §8.4: la incidencia siempre en rojo, el material siempre en marrón, lista para revisar en naranja */
.icono-cal{flex:none;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.icono-cal svg{width:24px;height:24px}
.icono-cal.gris{background:#EDE8DC;color:var(--texto-suave)}
.icono-cal.verde{background:#EAF4EE;color:var(--verde)}
.icono-cal.amarillo{background:#FBF3C4;color:#8A6D00}
.icono-cal.naranja{background:#FCE9CC;color:var(--naranja-oscuro)}
.icono-cal.rojo{background:#FBEDEB;color:var(--rojo)}
.icono-cal.marron{background:#F1E6DA;color:#8B5E3C}

.cal-vacio{margin:12px 4px 14px;font-size:16px;color:var(--texto-suave)}
.cal-mas{height:1px}
