/* Teología UNADECA: complementos al estilo común */
.grupo{display:inline-block;padding:1px 9px;border-radius:999px;font:600 12px var(--f-head);background:var(--tint);color:var(--blue-700)}
.grupo.externo{background:var(--gold-tint);color:#6F5C2B}.grupo.personal{background:#ECEBE7;color:#4d4d48}
.franjas{display:grid;gap:8px}
.franja{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 14px}
.franja.libre{background:#FBFAF6;border-style:dashed}
.franja .h{font:700 16px var(--f-head);color:var(--blue);min-width:92px;font-variant-numeric:tabular-nums}
.franja .q{flex:1;min-width:160px}
.franja .q small{display:block;color:var(--muted)}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:8px}
.v{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--card)}
.v small{display:block;color:var(--muted);font-size:12px}
.v b{font:700 20px var(--f-head);font-variant-numeric:tabular-nums;color:var(--ink)}
.v em{font-style:normal;font-size:12px;margin-left:4px;font-weight:700}
.v.warn{background:var(--warn-bg);border-color:#E7C98C}.v.warn b,.v.warn em{color:var(--warn)}
.v.bad{background:var(--bad-bg);border-color:#E0A9A9}.v.bad b,.v.bad em{color:var(--bad)}
.entrada{border-left:4px solid var(--line);padding:6px 0 6px 14px;margin:0 0 16px}
.entrada.med{border-left-color:var(--heaven)}.entrada.dx{border-left-color:var(--blue)}.entrada.com{border-left-color:var(--sunset)}
.entrada .h{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.entrada .h b{color:var(--ink)}
.entrada.corregida .cuerpo{text-decoration:line-through;opacity:.6}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;background:var(--tint);color:var(--blue-700)}
.chip.alergia{background:var(--bad-bg);color:var(--bad);font-weight:600}.chip.condicion{background:var(--warn-bg);color:var(--warn)}
.procs{display:flex;gap:8px;flex-wrap:wrap}
.procs a{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);text-decoration:none;font-size:14px}
.procs a.on,.procs a:hover{border-color:var(--blue);background:var(--tint)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
textarea{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:8px;width:100%;min-height:76px}
.lista-simple{margin:0;padding:0;list-style:none}.lista-simple li{padding:8px 0;border-bottom:1px solid var(--line-soft);display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.dias-chk{display:flex;gap:10px;flex-wrap:wrap}

/* Dos columnas de las pantallas de día y ficha (no usar .cols/.col: son del gráfico de barras) */
.dcols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}
.dcol{min-width:0}
@media (max-width:900px){.dcols{grid-template-columns:1fr}}

/* Varios procedimientos: los datos de cada uno aparecen al marcarlo */
.multiproc .pitem{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fff}
.multiproc .pcampos{display:none;margin-top:10px}
.multiproc .pitem:has(input[name=pid]:checked){border-color:var(--blue);background:#f7f9fc}
.multiproc .pitem:has(input[name=pid]:checked) .pcampos{display:block}
.nav a.vol{border:1px dashed rgba(255,255,255,.35);margin:0 0 10px;font-weight:600}.nav a.vol:hover{border-style:solid}

/* Asistencia de miércoles (pensada para el celular) */
.asis-bar{position:sticky;top:0;z-index:5;display:flex;gap:8px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:14px}
.asis-bar .c b{font:700 18px var(--f-head);font-variant-numeric:tabular-nums}
.asis-bar .P b{color:#1f7a3d}.asis-bar .T b{color:#9a6b00}.asis-bar .A b{color:var(--bad)}.asis-bar .J b{color:var(--blue)}.asis-bar .S b{color:var(--muted)}
.asis-list{display:grid;gap:8px}
.asis-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px 12px}
.asis-row.guardando{opacity:.6}.asis-row.error{border-color:var(--bad)}
.asis-nom{min-width:0;flex:1 1 200px}.asis-nom b{display:block}.asis-nom small{color:var(--muted)}
.asis-btns{display:flex;gap:6px;flex:1 1 280px;justify-content:flex-end}
.ab{flex:1;min-width:64px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;font:600 14px var(--f-body,inherit);cursor:pointer;color:var(--ink)}
.ab.on.P{background:#1f7a3d;border-color:#1f7a3d;color:#fff}.ab.on.T{background:#c88a00;border-color:#c88a00;color:#fff}.ab.on.A{background:var(--bad);border-color:var(--bad);color:#fff}.ab.on.J{background:var(--blue);border-color:var(--blue);color:#fff}
@media (max-width:560px){.asis-btns{flex-basis:100%}.ab{min-height:48px}}

/* Reportes y gráficos */
.graf{width:100%;height:auto;max-height:280px}
.graf .gl{stroke:var(--line);stroke-width:1}.graf .gl.meta{stroke:var(--bad);stroke-dasharray:4 4}
.graf .gt{font:11px var(--f-body,sans-serif);fill:var(--muted)}.graf .gt.falta{font-size:10px}
.graf .gv{font:700 11px var(--f-head,sans-serif);fill:var(--ink)}
.graf .gb.ok{fill:var(--blue)}.graf .gb.bajo{fill:var(--bad)}
.mx{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:4px;font:700 11px var(--f-head,sans-serif);background:#EEE;color:#555;margin-right:2px}
.mx.P{background:#1f7a3d;color:#fff}.mx.T{background:#c88a00;color:#fff}.mx.A{background:var(--bad);color:#fff}.mx.J{background:var(--blue);color:#fff}
.mxs{display:flex;flex-wrap:wrap;gap:2px}.mxs .mx{margin:0}
.pcb{display:inline-block;padding:2px 10px;border-radius:999px;font:700 13px var(--f-head,sans-serif);background:#EEE}
.pcb.ok{background:#DDF1E3;color:#1f7a3d}.pcb.med{background:#FBEFD0;color:#8a6200}.pcb.bajo{background:var(--bad-bg);color:var(--bad)}
@media print{.side,.topbar,.nop,.acts{display:none!important}.app{display:block}.main{margin:0!important}.card{break-inside:avoid;box-shadow:none}}
