/* Calendario: la rejilla del mes sin cajas (hoy en un círculo rojo, el día
   elegido con contorno, puntos por tarea) y debajo el día, con las mismas filas
   que Inicio. */
#screen-calendario h1{ font-family: var(--sans); font-size:30px; font-weight:650; letter-spacing:-.025em; margin-bottom:18px; }
.cal-cargando{ color: var(--muted); padding:40px 0; text-align:center; }
.cal-ico.llama{ color: var(--orange); }
.cal-chip-dato, .cal-seg-fecha, .cal-chip-fecha{ display:inline-flex; align-items:center; gap:5px; }
.cal-seg-fecha .cal-ico, .cal-chip-fecha .cal-ico{ width:14px; height:14px; flex-shrink:0; }

.cal-bento{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "mes mes" "dia dia" "exa atr"; gap:10px; align-items:start; }
@media (min-width: 900px){ .cal-bento{ grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "mes mes dia dia" "exa atr dia dia"; gap:14px; } }
.cal-tile{ min-width:0; display:flex; flex-direction:column; gap:8px; padding:14px; border-radius:18px; background: var(--card); border:1px solid var(--line); color: var(--text); font:inherit; text-align:left; }
.cal-a-mes{ grid-area: mes; padding:12px 10px 8px; }
.cal-a-dia{ grid-area: dia; }
.cal-a-exa{ grid-area: exa; align-self:stretch; }
.cal-a-atr{ grid-area: atr; align-self:stretch; }
.cal-tile-btn{ cursor:pointer; transition: border-color .15s; }
.cal-tile-btn:hover{ border-color: var(--muted-2); }
.cal-tile-t{ font-size:11.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color: var(--muted); }
.cal-big{ font-size:30px; font-weight:800; letter-spacing:-.03em; line-height:1; font-variant-numeric: tabular-nums; }
.cal-big small{ font-size:14px; font-weight:600; color: var(--muted); letter-spacing:0; }
.cal-big.aviso{ color: var(--coral); }
.cal-big.apagado{ color: var(--muted-2); }
.cal-tile-sub{ margin-top:auto; font-size:12.5px; color: var(--muted); }
.cal-tile-link{ align-self:flex-start; border:0; background:none; padding:0; font:inherit; font-size:12.5px; font-weight:600; color: var(--coral); cursor:pointer; text-align:left; }

/* Mes */
.cal-mes-cab{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; padding:0 4px; }
.cal-mes-nombre{ font-size:18px; font-weight:700; letter-spacing:-.02em; }
.cal-mes-nombre span{ color: var(--muted); font-weight:500; }
.cal-mes-nav{ display:flex; gap:6px; }
.cal-btn-s{ height:32px; min-width:32px; padding:0 11px; border-radius:99px; border:1px solid var(--line); background: var(--card-hi); color: var(--text); font:inherit; font-size:13px; font-weight:500; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.cal-btn-s:hover:not(:disabled){ background: var(--card); }
.cal-btn-s:disabled{ color: var(--muted-2); cursor:default; }
.cal-btn-s.cal-flecha{ padding:0; font-size:18px; line-height:1; }
.cal-semana, .cal-rejilla{ display:grid; grid-template-columns: repeat(7, 1fr); }
.cal-semana{ padding-bottom:4px; }
.cal-semana span{ text-align:center; font-size:11px; font-weight:600; color: var(--muted-2); }
.cal-rejilla{ row-gap:2px; }
.cal-dia{ height:52px; border:0; border-radius:10px; background:none; color: var(--text); font:inherit; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:3px; padding:3px 0 0; cursor:pointer; }
.cal-dia:hover .cal-num{ background: var(--card-hi); }
.cal-dia.vacio{ cursor:default; }
.cal-num{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14.5px; font-weight:600; font-variant-numeric: tabular-nums; transition: background .12s; }
.cal-dia.pasado .cal-num{ color: var(--muted); }
.cal-dia.sel .cal-num{ box-shadow: inset 0 0 0 1.5px var(--text); color: var(--text); }
.cal-dia.hoy .cal-num, .cal-dia.hoy:hover .cal-num{ background: var(--coral); color:#fff; font-weight:600; }
.cal-dia.hoy.sel .cal-num{ box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px var(--coral); }
.cal-puntos{ display:flex; gap:2px; align-items:center; justify-content:center; height:5px; }
.cal-puntos i{ width:5px; height:5px; border-radius:50%; }
.cal-puntos i.h{ opacity:.35; }
.cal-puntos em{ font-size:9px; font-style:normal; color: var(--muted); line-height:1; }
@media (min-width: 600px){ .cal-dia{ height:58px; } .cal-num{ width:38px; height:38px; } }

/* Día elegido */
.cal-dia-cab{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; scroll-margin-top:80px; }
.cal-dia-cab h2{ margin:0; font-family: var(--sans); font-size:17px; font-weight:700; letter-spacing:-.015em; }
.cal-dia-sub{ color: var(--muted); font-size:13px; margin-top:2px; font-variant-numeric: tabular-nums; }
.cal-anadir{ flex-shrink:0; display:inline-flex; align-items:center; gap:6px; border:0; border-radius:99px; padding:8px 14px; font:inherit; font-weight:700; font-size:13.5px; cursor:pointer;
  color:#fff; background: var(--coral); }
.cal-anadir:hover{ opacity:.88; }
.cal-anadir span{ font-size:16px; line-height:1; }
.cal-lista{ display:flex; flex-direction:column; }
.cal-tarea{ position:relative; display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-top:1px solid var(--line); transition: opacity .2s; }
.cal-check{ flex-shrink:0; width:24px; height:24px; margin-top:0; border-radius:50%; border:2px solid var(--c); background:none; color:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; transition: background .2s, border-color .15s, transform .15s; }
.cal-check svg{ width:13px; height:13px; }
.cal-check:active{ transform: scale(.85); }
.cal-tarea.hecha .cal-check{ background: var(--c); color:#fff; animation: cal-pop .3s; }
@keyframes cal-pop{ 0%{ transform: scale(.7); } 60%{ transform: scale(1.12); } 100%{ transform: scale(1); } }
.cal-tarea-main{ flex:1; min-width:0; text-align:left; background:none; border:none; color: var(--text); font:inherit; padding:0; cursor:pointer; display:flex; flex-direction:column; gap:3px; }
.cal-tarea-main:hover .cal-tarea-t{ text-decoration: underline; text-decoration-color: var(--muted-2); text-underline-offset:3px; }
.cal-tarea-t{ font-size:15px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.cal-tarea-n{ font-size:13px; color: var(--muted); line-height:1.4; overflow-wrap:anywhere; white-space:pre-line; margin-top:2px; }
.cal-tarea.hecha .cal-tarea-t{ color: var(--muted); text-decoration: line-through; text-decoration-color: var(--muted-2); }
.cal-tarea-meta{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:12.5px; color: var(--muted); }
.cal-punto{ width:7px; height:7px; border-radius:50%; background: var(--c); flex-shrink:0; }
.cal-tarea.hecha .cal-punto{ opacity:.45; }
.cal-cat{ color: var(--muted); }
.cal-tarea-f{ color: var(--coral); font-weight:500; }
.cal-tarea-f::before, .cal-rep::before{ content:'·'; margin-right:6px; color: var(--muted-2); }
.cal-rep{ color: var(--muted); }
.cal-ir{ flex-shrink:0; width:30px; height:30px; border-radius:8px; border:0; background:none; color: var(--muted); font-size:19px; cursor:pointer; }
.cal-ir:hover{ background: var(--card); color: var(--text); }
.cal-mini{ flex-shrink:0; border:1px solid var(--line); background: var(--bg); color: var(--text); font:inherit; font-size:12.5px; font-weight:500; padding:5px 10px; border-radius:8px; cursor:pointer; }
.cal-mini:hover{ background: var(--card); }
.cal-vacio{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0 4px; border:0; border-top:1px solid var(--line); background:none; color: var(--muted); font:inherit; font-size:14px; cursor:pointer; text-align:left; }
.cal-vacio b{ color: var(--coral); font-weight:600; font-size:13.5px; }

/* Atrasadas */
.cal-atras{ margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.cal-atras summary{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color: var(--muted); cursor:pointer; list-style:none; margin-bottom:8px; }
.cal-atras summary::-webkit-details-marker{ display:none; }
.cal-atras summary .cal-mini{ margin-left:auto; }
.cal-atras-n{ color: var(--coral); font-weight:600; font-variant-numeric: tabular-nums; }
.cal-lapiz svg{ width:15px; height:15px; }
.cal-lapiz{ display:flex; align-items:center; justify-content:center; }
.cal-ir + .cal-lapiz{ margin-left:-6px; }

/* Hoja para añadir/editar */
.cal-hoja-bg{ position:fixed; inset:0; z-index:1000; background: rgba(0,0,0,.6); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  display:flex; align-items:flex-end; justify-content:center; opacity:0; transition: opacity .2s; }
.cal-hoja-bg.on{ opacity:1; }
.cal-hoja{ --c: var(--coral); width:100%; max-width:560px; max-height: calc(100dvh - 24px); display:flex; flex-direction:column; overflow:hidden;
  background: var(--bg); border:1px solid var(--line); border-bottom:none; border-radius:26px 26px 0 0;
  transform: translateY(40px); transition: transform .28s cubic-bezier(.2,.8,.2,1); }
.cal-hoja-bg.on .cal-hoja{ transform:none; }
@media (min-width: 700px){ .cal-hoja-bg{ align-items:center; } .cal-hoja{ border-radius:26px; border-bottom:1px solid var(--line); } }
.cal-hoja-top{ padding:10px 18px 14px; background: linear-gradient(180deg, color-mix(in srgb, var(--c) 26%, transparent), transparent); transition: background .25s; }
.cal-hoja-asa{ width:40px; height:5px; border-radius:3px; background: color-mix(in srgb, var(--text) 25%, transparent); margin:0 auto 12px; }
.cal-hoja-cab{ display:flex; align-items:center; gap:12px; }
.cal-hoja-ico{ width:52px; height:52px; flex-shrink:0; border-radius:16px; display:flex; align-items:center; justify-content:center; color: var(--c);
  background: color-mix(in srgb, var(--c) 16%, var(--card)); border:1px solid color-mix(in srgb, var(--c) 40%, transparent); }
.cal-hoja-ico .cal-ico{ width:26px; height:26px; }
.cal-hoja-tit{ flex:1; min-width:0; }
.cal-hoja-tit h3{ margin:0; font-size:21px; }
.cal-hoja-sub{ font-size:13.5px; color: var(--c); font-weight:700; margin-top:2px; }
.cal-x{ width:38px; height:38px; flex-shrink:0; border-radius:50%; border:none; background: var(--card); color: var(--muted); font-size:16px; cursor:pointer; }
.cal-hoja-cuerpo{ overflow-y:auto; overscroll-behavior:contain; padding:4px 18px 8px; display:flex; flex-direction:column; gap:16px; }
.cal-titulo{ width:100%; border:none; border-bottom:2px solid var(--line); background:none; color: var(--text); font:inherit; font-size:21px; font-weight:700; padding:10px 2px; border-radius:0; transition: border-color .2s; }
.cal-titulo:focus{ outline:none; border-bottom-color: var(--c); }
.cal-titulo::placeholder{ color: var(--muted); font-weight:600; }
.cal-titulo.mal{ border-bottom-color:#E5484D; animation: cal-temblor .3s; }
@keyframes cal-temblor{ 25%{ transform: translateX(-6px); } 75%{ transform: translateX(6px); } }
.cal-campo-t{ font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color: var(--muted); margin-bottom:8px; }
.cal-cats{ display:grid; grid-template-columns: repeat(4, 1fr); gap:6px; }
.cal-cat-op{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 4px 9px; border-radius:14px; border:1.5px solid var(--line); background: var(--card);
  color: var(--text); font:inherit; font-size:11.5px; font-weight:700; cursor:pointer; transition: transform .12s, border-color .15s, background .15s; text-align:center; line-height:1.15; }
.cal-cat-op span{ display:flex; color: var(--c); }
.cal-cat-op .cal-ico{ width:22px; height:22px; }
.cal-cat-op:active{ transform: scale(.95); }
.cal-cat-op.on{ border-color: var(--c); background: color-mix(in srgb, var(--c) 18%, var(--card)); }
.cal-segs{ display:flex; flex-wrap:wrap; gap:6px; }
.cal-segs-full{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; background: var(--card); border:1px solid var(--line); border-radius:14px; padding:4px; gap:4px; }
.cal-seg{ position:relative; border:1.5px solid var(--line); background: var(--card); color: var(--text); font:inherit; font-size:14px; font-weight:700; padding:9px 14px; border-radius:99px; cursor:pointer; white-space:nowrap; }
.cal-segs-full .cal-seg{ border:none; background:none; border-radius:10px; padding:9px 6px; font-size:13.5px; white-space:normal; color: var(--muted); }
.cal-seg.on{ border-color: var(--c); background: color-mix(in srgb, var(--c) 18%, var(--card)); color: var(--text); }
.cal-segs-full .cal-seg.on{ background: var(--c); color:#fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--c) 35%, transparent); }
.cal-seg-fecha input, .cal-chip-fecha input{ position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.cal-in{ width:100%; padding:12px 14px; border-radius:14px; border:1px solid var(--line); background: var(--card); color: var(--text); font:inherit; font-size:15px; resize:vertical; }
.cal-in:focus{ outline:none; border-color: var(--c); }
.cal-hasta-fila{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px; }
.cal-hasta-fila > span{ font-size:13px; font-weight:700; color: var(--muted); margin-right:2px; }
.cal-chip{ position:relative; border:1px solid var(--line); background: var(--card); color: var(--text); font:inherit; font-size:12.5px; font-weight:700; padding:6px 11px; border-radius:99px; cursor:pointer; }
.cal-chip.on{ border-color: var(--c); color: var(--c); }
.cal-hasta-res{ margin-top:8px; font-size:13px; color: var(--muted); }
.cal-hasta-res b{ color: var(--c); }
.cal-hoja-pie{ display:flex; gap:8px; padding:12px 18px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background: var(--bg); }
.cal-btn{ border:1px solid var(--line); background: var(--card); color: var(--text); font:inherit; font-weight:700; font-size:15px; padding:13px 18px; border-radius:16px; cursor:pointer; }
.cal-btn.primario{ flex:1; border:none; color:#fff; background: var(--c); transition: background .25s; }
.cal-btn.peligro{ color:#E5484D; }

/* Tarea con un test del Específico: barra de lo hecho y lo que falta; al pulsarla se sigue */
.cal-tarea.con-test{ flex-wrap:wrap; row-gap:8px; }
.cal-test{ flex-basis:100%; display:flex; flex-direction:column; gap:7px; margin:0 0 0 36px; padding:10px 12px; border-radius:12px; text-align:left;
  background: var(--card-hi); border:1px solid var(--line); color: var(--text); font:inherit; cursor:pointer; transition: background .15s; }
.cal-test:hover{ background: var(--card); }
.cal-test-cab{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cal-test-t{ font-size:13px; color: var(--muted); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cal-test-t b{ color: var(--text); font-weight:600; }
.cal-test-accion{ flex-shrink:0; font-size:13px; font-weight:700; color: var(--coral); }
.cal-test-barra{ display:block; height:4px; border-radius:99px; background: var(--line); overflow:hidden; }
.cal-test-barra i{ display:block; height:100%; border-radius:inherit; background: var(--c); transition: width .3s; }
.cal-test-n{ font-size:12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.cal-tarea.hecha .cal-test{ opacity:.85; }

/* Hoja: elegir el test */
.cal-test-anadir{ width:100%; padding:12px 14px; border-radius:14px; border:1.5px dashed var(--line); background:none; color: var(--muted); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.cal-test-anadir span{ color: var(--c); font-weight:800; margin-right:4px; }
.cal-test-elegir{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.cal-test-elegir select{ width:100%; }
.cal-test-elegido{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:14px; background: var(--card); border:1px solid var(--line); }
.cal-test-elegido-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.cal-test-elegido-txt b{ font-size:14.5px; }
.cal-test-elegido-txt span{ font-size:12px; color: var(--muted); }

/* Varios tests en una tarea */
.cal-tests{ flex-basis:100%; display:flex; flex-direction:column; gap:6px; margin:0 0 0 36px; }
.cal-tests-cab{ display:flex; justify-content:space-between; font-size:12px; font-weight:500; color: var(--muted); padding:0 2px; }
.cal-tests .cal-test{ margin:0; }
.cal-test.acabado .cal-test-accion{ color: var(--green); }
.cal-test-elegidos{ display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }
.cal-test-elegido .cal-x{ width:30px; height:30px; font-size:13px; }
.cal-test-opciones{ width:100%; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; overflow:hidden; background: var(--card); }
.cal-test-op{ display:flex; align-items:center; gap:12px; padding:11px 14px; border:0; border-bottom:1px solid var(--line); background:none; color: var(--text); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.cal-test-op:last-child{ border-bottom:0; }
.cal-test-op.todos{ font-weight:700; }
.cal-test-caja{ width:18px; height:18px; flex-shrink:0; border:2px solid var(--muted); border-radius:4px; display:flex; align-items:center; justify-content:center; }
.cal-test-op.on .cal-test-caja{ background: var(--c); border-color: var(--c); }
.cal-test-op.on .cal-test-caja::after{ content:''; width:9px; height:5px; border:2px solid #fff; border-top:0; border-right:0; transform: translateY(-1px) rotate(-45deg); }

/* Ventanita de una tarea (desde Inicio) */
.cal-ver .cal-tests, .cal-ver .cal-test{ margin-left:0; }
.cal-ver-nota{ font-size:15px; line-height:1.5; color: var(--text); white-space:pre-line; overflow-wrap:anywhere; }
.cal-ver-nota.vacia{ color: var(--muted); }
.cal-ver-tests{ display:flex; flex-direction:column; }
.cal-ver-ir{ width:100%; padding:13px 14px; border-radius:14px; border:1px solid var(--line); background: var(--card); color: var(--text); font:inherit; font-size:15px; font-weight:600; text-align:left; cursor:pointer; }
.cal-ver .cal-hoja-pie{ display:flex; gap:8px; }
.cal-ver .cal-hoja-pie .cal-btn{ flex:1; }
.cal-ver.hecha .cal-hoja-tit h3{ text-decoration: line-through; color: var(--muted); }

/* Barra por tramos: uno por test de la tarea */
.cal-tramos{ display:flex; gap:3px; height:4px; flex:1; min-width:0; }
.cal-tramos i{ flex:1; border-radius:99px; background: var(--line); overflow:hidden; }
.cal-tramos b{ display:block; height:100%; background: var(--c); border-radius:inherit; transition: width .3s; }
.cal-tests > .cal-tramos{ margin:0 2px 4px; }
.ini-tarea-test .cal-tramos{ height:4px; }

/* Test de Legislación en la hoja: leyes, modo y cuántas preguntas */
.cal-legis{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.cal-legis .cal-test-opciones{ max-height:260px; overflow-y:auto; overscroll-behavior:contain; }
.cal-exa-grupo{ font-size:12px; font-weight:700; color: var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.cal-ley-txt{ display:flex; flex-direction:column; gap:1px; text-align:left; }
.cal-ley-txt small{ font-size:11.5px; font-weight:500; color: var(--muted); font-variant-numeric: tabular-nums; }
.cal-legis-tits{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:2px 0 10px 32px; }
.cal-legis-tits-t{ width:100%; font-size:12px; color: var(--muted); }
.cal-chip.cal-tit small{ opacity:.7; font-variant-numeric: tabular-nums; margin-left:2px; }
.cal-chip.cal-tit.on{ background: var(--purple); border-color: var(--purple); color:#fff; }
.cal-legis-fila{ width:100%; display:flex; flex-direction:column; gap:6px; }
.cal-legis-fila > span{ font-size:12px; font-weight:700; color: var(--muted); text-transform:uppercase; letter-spacing:.04em; }
/* Un título de test largo no ensancha la columna (se corta con «…») */
.cal-col, .cal-test, .cal-test-cab{ min-width:0; }
/* Test terminado de una tarea: ya no se abre */
div.cal-test.acabado{ cursor:default; }
div.cal-test.acabado:hover{ border-color: var(--line); }
.cal-test.acabado .cal-test-accion{ color: var(--muted); }

/* Mover tareas rápido: menú «Mover» del día, opciones (⋯) de cada tarea y arrastrar a un día del mes */
.cal-dia-btns{ display:flex; gap:6px; flex-shrink:0; }
.cal-mover{ display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); border-radius:99px; padding:7px 12px; background: var(--card-hi); color: var(--text); font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; }
.cal-mover svg{ width:15px; height:15px; }
.cal-mover.on{ border-color: var(--coral); color: var(--coral); }
.cal-mover-menu{ display:flex; flex-direction:column; gap:8px; margin:8px 0 6px; padding:10px; border-radius:14px; background: var(--card-hi); border:1px solid var(--line); }
.cal-mover-op{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background: var(--card); color: var(--text); font:inherit; text-align:left; cursor:pointer; }
.cal-mover-op:hover:not(:disabled){ border-color: var(--coral); }
.cal-mover-op:disabled{ opacity:.5; cursor:default; }
.cal-mover-op b, .cal-mover-todo b{ font-size:14px; font-weight:600; }
.cal-mover-op span, .cal-mover-todo > span{ font-size:12.5px; color: var(--muted); }
.cal-mover-todo{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background: var(--card); }
.cal-mover-chips, .cal-opciones{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.cal-chip:disabled{ opacity:.5; cursor:default; }
.cal-opciones{ flex-basis:100%; margin:0 0 0 36px; }
.cal-opciones .cal-chip{ display:inline-flex; align-items:center; gap:5px; background: var(--card-hi); }
.cal-opciones .cal-chip svg{ width:13px; height:13px; }
.cal-tarea.con-opciones{ flex-wrap:wrap; row-gap:8px; }
.cal-mas{ font-size:18px; font-weight:700; letter-spacing:1px; line-height:1; }
.cal-mas.on{ background: var(--card-hi); color: var(--text); }
.cal-tarea[draggable="true"]{ cursor:grab; }
#calRoot.arrastrando .cal-dia[data-f] .cal-num{ box-shadow: inset 0 0 0 1px var(--line); }
.cal-dia.soltar .cal-num{ background: color-mix(in srgb, var(--coral) 25%, transparent) !important; box-shadow: inset 0 0 0 2px var(--coral) !important; }

/* Examen: a quién se manda, y la copia que te han mandado */
.cal-exa-para{ display:flex; flex-wrap:wrap; gap:6px; }
.cal-exa-de{ font-size:14px; line-height:1.45; padding:10px 12px; border-radius:12px; background: color-mix(in srgb, var(--c, #E5484D) 10%, transparent); }
