/* recetas.css — editor de recetas en panel y listas de recetas (views/recetas.js, manual técnico cap. 17 §17.16).
   Solo paleta oficial (cap. 29): blanco lienzo, negro estructura, dorado botones, rojo alertas. Sobre el panel de Costeo. */
.rc-fondo { position:fixed; inset:0; background:rgba(29,29,27,.45); opacity:0; pointer-events:none; transition:opacity .18s; z-index:4250; }
.rc-fondo.open { opacity:1; pointer-events:auto; }
.rc-panel { position:fixed; top:0; right:0; bottom:0; width:min(1040px, 100vw); background:var(--marca-blanco); z-index:4300;
    transform:translateX(102%); transition:transform .2s; border-left:3px solid var(--marca-negro); display:flex; flex-direction:column; }
.rc-panel.open { transform:none; }
.rc-cab { display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--marca-negro); color:var(--marca-blanco); border-bottom:4px solid var(--marca-dorado); }
.rc-cab-t { flex:1; min-width:0; }
.rc-titulo { font-family:var(--font-titulo); font-size:1.6rem; letter-spacing:.5px; line-height:1.05; }
.rc-sub { font-size:.82rem; opacity:.9; }
.rc-cab .rc-btn { background:transparent; color:var(--marca-blanco); border-color:rgba(255,255,255,.55); }
.rc-cab .rc-btn:hover { background:var(--marca-verde); }
.rc-kpis { display:flex; flex-wrap:wrap; gap:10px; padding:12px 18px; background:var(--marca-crema); border-bottom:1.5px solid var(--marca-negro); }
.rc-kpi { flex:1 1 180px; background:var(--marca-blanco); border:1.5px solid var(--marca-negro); border-radius:10px; padding:8px 12px; box-shadow:2px 2px 0 var(--marca-negro); }
.rc-kpi-ancho { flex-basis:100%; }
.rc-kpi-l { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; color:var(--text-muted); }
.rc-kpi-v { font-size:1.25rem; font-weight:800; white-space:nowrap; }
.rc-kpi-v .fa-arrow-right { font-size:.75rem; color:var(--text-muted); }
.rc-kpi-s { font-size:.76rem; color:var(--text-muted); }
.rc-fc.ok .rc-kpi-v { color:var(--marca-verde); }
.rc-fc.warn { border-color:var(--marca-dorado); box-shadow:2px 2px 0 var(--marca-dorado); }
.rc-fc.mal .rc-kpi-v { color:var(--marca-rojo); }
.rc-fc.mal { border-color:var(--marca-rojo); box-shadow:2px 2px 0 var(--marca-rojo); }
.rc-aviso { border-color:var(--marca-rojo); font-size:.85rem; }
.rc-aviso i { color:var(--marca-rojo); }
.rc-antes { color:var(--text-muted); text-decoration:line-through; font-weight:600; font-size:.85em; }
.rc-tabs { display:flex; gap:6px; padding:10px 18px 0; border-bottom:1.5px solid var(--border-color); }
.rc-tabs button { border:1.5px solid var(--border-color); border-bottom:none; background:var(--marca-blanco); border-radius:10px 10px 0 0; padding:8px 14px; font-weight:800; cursor:pointer; color:var(--text-main); }
.rc-tabs button.on { background:var(--marca-negro); color:var(--marca-blanco); border-color:var(--marca-negro); }
.rc-tabs button b { background:var(--marca-dorado); color:var(--marca-negro); border-radius:999px; padding:0 7px; margin-left:4px; font-size:.75rem; }
.rc-cuerpo { flex:1; overflow-y:auto; padding:14px 18px; }
.rc-pie { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:12px 18px; border-top:3px solid var(--marca-negro); background:var(--marca-blanco); }
.rc-pie-btns { display:flex; gap:8px; margin-left:auto; }
.rc-punto { color:var(--marca-dorado); font-size:.6rem; vertical-align:middle; }
.rc-confirma { flex:1 1 100%; font-size:.88rem; }
.rc-confirma ul { margin:6px 0 8px 18px; padding:0; max-height:180px; overflow-y:auto; }
.rc-btn { border:1.5px solid var(--marca-negro); background:var(--marca-blanco); color:var(--text-main); border-radius:999px; padding:7px 14px; font-weight:700; font-size:.82rem; cursor:pointer; white-space:nowrap; }
.rc-btn:hover { background:var(--marca-dorado); }
.rc-btn-s { padding:4px 10px; font-size:.76rem; }
.rc-btn-claro { color:var(--text-main) !important; border-color:var(--marca-negro) !important; }
.rc-x { padding:7px 11px; }
.rc-muted { color:var(--text-muted); font-size:.8rem; }
.rc-rojo { color:var(--marca-rojo); font-weight:700; }
.rc-h { font-weight:800; margin:4px 0 4px; }
.rc-nota { margin-top:12px; line-height:1.45; }
.rc-in { padding:7px 9px; border:1.5px solid var(--border-color); border-radius:var(--radius-sm); font:inherit; font-size:.88rem; background:var(--marca-blanco); color:var(--text-main); }
.rc-in:focus { outline:none; border-color:var(--marca-negro); box-shadow:0 0 0 2px var(--marca-dorado); }
.rc-in:disabled { background:var(--marca-crema); color:var(--text-main); opacity:1; }
.rc-mini { width:58px; }
.rc-mini2 { width:76px; }
.rc-tablawrap { overflow-x:auto; border:1.5px solid var(--marca-negro); border-radius:12px; box-shadow:3px 3px 0 var(--marca-negro); }
.rc-tabla { width:100%; border-collapse:collapse; font-size:.88rem; }
.rc-tabla th { text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.5px; color:var(--text-muted); padding:8px 8px; border-bottom:1.5px solid var(--marca-negro); background:var(--marca-crema); }
.rc-tabla td { padding:7px 8px; border-bottom:1px solid var(--border-color); vertical-align:top; }
.rc-tabla tr:last-child td { border-bottom:none; }
.rc-tabla-s td { vertical-align:middle; }
.rc-fila.rc-off td { background:rgba(225,68,72,.06); }
.rc-fila.rc-arrastrando { opacity:.45; }
.rc-fila.rc-sobre td { border-top:3px solid var(--marca-dorado); }
.rc-mover { width:44px; white-space:nowrap; color:var(--text-muted); }
.rc-asa { cursor:grab; padding:6px 2px; display:inline-block; }
.rc-flechas { display:inline-flex; flex-direction:column; vertical-align:middle; }
.rc-flechas button { border:none; background:none; padding:0 4px; cursor:pointer; color:var(--text-muted); font-size:.68rem; line-height:1.3; }
.rc-flechas button:disabled { opacity:.25; cursor:default; }
.rc-ing { min-width:200px; }
.rc-ing .rc-nombre { width:100%; font-weight:700; }
.rc-cant { white-space:nowrap; }
.rc-paso { display:inline-flex; align-items:stretch; border:1.5px solid var(--border-color); border-radius:var(--radius-sm); overflow:hidden; vertical-align:middle; }
.rc-paso input { width:72px; border:none; border-radius:0; text-align:right; }
.rc-paso input:focus { box-shadow:none; }
.rc-paso button { border:none; background:var(--marca-crema); width:28px; font-weight:800; font-size:1rem; cursor:pointer; color:var(--text-main); }
.rc-paso button:hover { background:var(--marca-dorado); }
.rc-paso:focus-within { border-color:var(--marca-negro); box-shadow:0 0 0 2px var(--marca-dorado); }
.rc-um { font-weight:700; color:var(--text-muted); margin-left:4px; }
.rc-tipo { min-width:170px; }
.rc-tipo select { display:block; width:100%; }
.rc-tipo select + select { margin-top:4px; font-size:.8rem; padding:4px 7px; }
.rc-costo { min-width:96px; white-space:nowrap; }
.rc-barra { height:5px; background:var(--marca-crema); border-radius:3px; margin:3px 0 1px; overflow:hidden; }
.rc-barra i { display:block; height:100%; background:var(--marca-dorado); }
.rc-quitar button, button.rc-quitar { border:none; background:none; color:var(--marca-rojo); cursor:pointer; padding:6px; }
.rc-agregar { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px; align-items:center; }
.rc-reglas { margin-top:14px; border:1.5px dashed var(--marca-negro); border-radius:12px; padding:10px 14px; }
.rc-regla { padding:5px 0; font-size:.88rem; }
.rc-nuevo { margin-top:6px; padding:10px; border:1.5px solid var(--marca-negro); border-radius:10px; background:var(--marca-crema); display:grid; gap:6px; font-size:.84rem; }
.rc-nuevo-campos { display:flex; gap:8px; flex-wrap:wrap; }
.rc-nuevo-campos label { display:grid; gap:2px; font-weight:700; }
.rc-chips { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.rc-paso-fila { display:flex; gap:8px; align-items:flex-start; margin:6px 0; }
.rc-paso-fila textarea { flex:1; resize:vertical; }
.rc-paso-n { width:26px; height:26px; flex:0 0 26px; border-radius:50%; background:var(--marca-negro); color:var(--marca-blanco); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.8rem; margin-top:4px; }
.rc-medida { white-space:nowrap; }
/* listas */
.rc-filtro-ins { display:flex; align-items:center; gap:6px; flex:1; min-width:240px; border:1.5px solid var(--marca-negro); border-radius:var(--radius-sm); padding:0 8px; background:var(--marca-blanco); }
.rc-filtro-ins input { flex:1; border:none; padding:9px 4px; font:inherit; background:transparent; }
.rc-filtro-ins input:focus { outline:none; }
.rc-check { display:inline-flex; align-items:center; gap:6px; font-size:.82rem; font-weight:600; cursor:pointer; }
.rc-check input { width:16px; height:16px; accent-color:var(--marca-verde); }
.rc-nom { background:none; border:none; padding:0; font:inherit; cursor:pointer; text-align:left; color:var(--text-main); }
.rc-nom:hover b { text-decoration:underline; text-decoration-color:var(--marca-dorado); text-decoration-thickness:2px; }
.rc-lista td { vertical-align:top; }
.rc-lleva { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:2px 0; }
.rc-fc-t { font-weight:800; white-space:nowrap; }
.rc-fc-t.ok { color:var(--marca-verde); }
.rc-fc-t.warn { color:var(--text-main); background:var(--marca-dorado); padding:0 5px; border-radius:4px; }
.rc-fc-t.mal { color:var(--marca-rojo); }
.rc-det td { background:var(--marca-crema); }
.rc-ing-lista { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.rc-ing-chip { display:inline-flex; align-items:center; gap:5px; border:1.5px solid var(--marca-negro); border-radius:999px; padding:3px 6px 3px 10px; background:var(--marca-blanco); font-size:.82rem; }
button.rc-ing-chip { padding:3px 10px; cursor:pointer; }
.rc-ing-chip.on { background:var(--marca-dorado); }
.rc-ing-chip.rc-off { border-color:var(--marca-rojo); }
.rc-ing-chip .rc-in { padding:3px 6px; font-size:.82rem; }
.rc-ing-n { background:none; border:none; padding:0; font:inherit; font-weight:700; cursor:pointer; color:var(--text-main); }
.rc-ing-n:hover { text-decoration:underline; }
.rc-masivo { border:1.5px solid var(--marca-negro); border-radius:12px; background:var(--marca-crema); box-shadow:3px 3px 0 var(--marca-negro); padding:10px 14px; margin-bottom:12px; font-size:.88rem; display:grid; gap:8px; }
.rc-masivo-acc { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
@media (max-width:760px) {
    .rc-tabla thead { display:none; }
    .rc-tabla tr.rc-fila { display:grid; grid-template-columns:36px 1fr auto; border-bottom:1.5px solid var(--border-color); }
    .rc-tabla tr.rc-fila td { border:none; }
    .rc-tabla tr.rc-fila .rc-mover { grid-row:span 3; }
    .rc-tabla tr.rc-fila .rc-ing { grid-column:2 / 4; }
    .rc-tabla tr.rc-fila .rc-tipo { grid-column:2 / 4; }
    .rc-kpi { flex-basis:45%; }
    .rc-titulo { font-size:1.3rem; }
}
.rc-filtro-ins input { min-width:0; width:auto; }
.rc-filtro-ins .rc-btn { flex:0 0 auto; }
.rc-lista .btn { padding:6px 12px; font-size:.8rem; white-space:nowrap; }
.rc-panel .btn-sm, .rc-masivo .btn-sm, .rc-det .btn-sm { padding:6px 12px; font-size:.8rem; }
