/* =========================================================
   TAQ Material Request — UI refresh (7 columnas)
   ========================================================= */

/* ---------- Design tokens ---------- */
:root{
  --mr-bg: #ffffff;
  --mr-muted: #64748b;
  --mr-text: #0f172a;
  --mr-border: #e5e7eb;
  --mr-soft: #f6f8fc;
  --mr-primary: #3b5bff;
  --mr-primary-weak: #eef2ff;
  --mr-danger: #e11d48;
  --mr-radius: 14px;
  --mr-radius-sm: 10px;
  --mr-shadow: 0 8px 30px rgba(15, 23, 42, .06);
}

/* Ocultar aviso superior de presupuesto excedido (se usa badge en lista) */
.taq-mr-warn{ display:none !important; }

/* ---------- Card contenedor ---------- */
.taq-mr-wrap{
  max-width: 980px;
  margin: 28px auto;
  background: var(--mr-bg);
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius);
  box-shadow: var(--mr-shadow);
  overflow: hidden;
}

/* ---------- Sticky (total arriba) ---------- */
.taq-mr-stickybar{
  position: sticky;
  top: var(--taq-sticky-offset, 0px);
  z-index: 1002;
  background: #eef4ff;
  border-bottom: 1px solid var(--mr-border);
  padding: 14px 18px;
}
.taq-mr-stickybar .row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.taq-mr-stickybar .tag{ font-weight:600; color:#1f2937; }
.taq-mr-stickybar .tag.muted{ color:var(--mr-muted); }
.taq-mr-stickybar .value{ font-weight:800; color:var(--mr-text); }
.taq-mr-stickybar .value.muted{ color:var(--mr-muted); font-weight:700; }
.taq-mr-stickybar .sep{ width:1px; height:18px; background:var(--mr-border); }

/* Presets en Vista de Gerencia */
#taq_mr_mgr_filters .mgr-presets{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.mgr-presets .mgr-btn{ border:1px solid var(--mr-border); background:#fff; color:#374151; border-radius:10px; padding:6px 10px; font-weight:700; }
.mgr-presets .mgr-btn.is-active{ box-shadow: inset 0 0 0 999px rgba(59,91,255,.12); border-color:#3b5bff; color:#111827; }
#taq_mr_preset_pending{ background:#fee2e2; color:#991b1b; }
#taq_mr_preset_pending.is-active{ background:#fecaca; color:#7f1d1d; }
#taq_mr_preset_over{ background:#ffedd5; color:#9a3412; }
#taq_mr_preset_over.is-active{ background:#fed7aa; color:#7c2d12; }
#taq_mr_preset_realized{ background:#dcfce7; color:#065f46; }
#taq_mr_preset_realized.is-active{ background:#bbf7d0; color:#065f46; }
#taq_mr_preset_all{ background:#f3f4f6; color:#111827; }
#taq_mr_preset_all.is-active{ background:#e0e7ff; color:#111827; border-color:#3b5bff; }

/* Deadline compact */
.mgr-deadline-box__controls{ display:flex; gap:8px; align-items:center; flex-wrap:wrap }
.mgr-deadline-box input[type="date"],
.mgr-deadline-box input[type="time"]{ height:36px; padding:6px 8px; }

/* Deadline compacto en toolbar */
.mgr-deadline-compact{ display:flex; gap:6px; align-items:center; margin-left:10px; }
.mgr-deadline-compact .lbl{ color:#6b7280; font-size:12px; }
.mgr-deadline-compact input[type="date"],
.mgr-deadline-compact input[type="time"]{ height:32px; padding:4px 6px; }
/* Alinear a la izquierda y evitar overflow a la derecha */
.mgr-deadline-right{ justify-content:flex-start !important; }
.mgr-deadline-compact{ flex-wrap: wrap; }
/* Modo ver: ocultar edición por defecto */
.mgr-deadline-compact input[type="date"],
.mgr-deadline-compact input[type="time"],
.mgr-deadline-compact #taq_mr_mgr_deadline_save,
.mgr-deadline-compact #taq_mr_mgr_deadline_clear{ display:none; }
.mgr-deadline-compact.editing input[type="date"],
.mgr-deadline-compact.editing input[type="time"],
.mgr-deadline-compact.editing #taq_mr_mgr_deadline_save,
.mgr-deadline-compact.editing #taq_mr_mgr_deadline_clear{ display:inline-block; }
/* Indicador de lapiz al lado del valor actual */
.mgr-deadline-compact .cur{ position:relative; cursor:pointer; }
.mgr-deadline-compact .cur::after{ content: " \270E"; /* pencil */ margin-left:6px; opacity:.8; }
.mgr-deadline-compact.editing .cur::after{ content: " \00D7"; /* × close */ }
/* Mostrar separador solo en modo edición */
.mgr-deadline-compact .sep{ display:none; }
.mgr-deadline-compact.editing .sep{ display:inline-block; }

/* Oculta el bloque grande legacy de fecha límite */
#taq_mr_mgr_deadline{ display:none !important; }
/* Oculta la versión compacta cuando está en la fila de filtros (usamos la de la derecha) */
.taq-mr-mgr-row--meta .mgr-deadline-compact{ display:none !important; }
.mgr-deadline-right{ justify-content:flex-end; }

/* ---------- Form base ---------- */
.taq-mr-form{ padding: 18px; }
.taq-mr-row{ display:flex; flex-direction:column; margin-bottom: 14px; }
.taq-mr-row label{ font-weight:700; margin-bottom:8px; color:var(--mr-text); }

.taq-mr-row input,
.taq-mr-row select,
.taq-mr-row textarea{
  height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius-sm);
  background: #fafbff;
  color: var(--mr-text);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.taq-mr-row textarea{ min-height: 100px; height:auto; resize: vertical; }
.taq-mr-row input:focus,
.taq-mr-row select:focus,
.taq-mr-row textarea:focus{
  outline: 0;
  border-color: var(--mr-primary);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59,91,255,.15);
}

/* Asegura que opciones ocultas del selector no se muestren en algunos navegadores */
#taq_mr_admin option[hidden]{ display:none !important; }

/* ===== Secciones (chips) ===== */
.taq-mr-sections{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:6px 0 12px; width:100%; }
.taq-mr-sections__wrap{ display:flex; gap:6px; flex-wrap:wrap }
.taq-mr-sec-chip{ background:#eef2ff; border:1px solid var(--mr-border); border-radius:999px; padding:4px 10px; font-size:12px; cursor:pointer; user-select:none }
.taq-mr-sec-chip.is-active{ background:#dbeafe; border-color:#93c5fd }
.taq-mr-sec-add{ border:1px dashed var(--mr-border); background:#fff; padding:4px 10px; border-radius:999px; font-size:12px; cursor:pointer }
.taq-mr-sections.is-loading .taq-mr-sec-chip{background:#e5e7eb;color:transparent;cursor:default;border-color:#e2e8f0;position:relative;}
.taq-mr-sections.is-loading .taq-mr-sec-chip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8fafc,#e5e7eb,#f8fafc);animation:mr-shimmer 1.2s infinite;}
.taq-mr-sections.is-loading .taq-mr-sec-chip.is-active{background:#f8f9ff;}
@keyframes mr-shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

/* Evitar que el encabezado de columnas quede sticky por estilos del tema */
.taq-mr-items-head{ position: static !important; top: auto !important; }

/* Cuando el editor está abierto, ocultar barra del sitio para no tapar títulos */
body.mr-editor-open header,
body.mr-editor-open .site-header,
body.mr-editor-open #masthead,
body.mr-editor-open .navbar,
body.mr-editor-open .main-header{ display:none !important; }

/* =========================================================
   ÍTEMS (7 columnas): Código | Artículo | Formato | Valor | Cantidad | Total | X
   ========================================================= */
.taq-mr-items-head{
  display:grid;
  grid-template-columns: 120px 1.5fr 120px 140px 110px 110px 120px 44px;
  gap:10px;
  align-items:center;
  color: #374151;
  font-weight: 600;
  font-size: 14px;
  margin: 6px 0 8px;
}

.mr-hide-format .taq-mr-items-head,
.mr-hide-format .taq-mr-items-body .taq-mr-item{
  grid-template-columns: 120px 2.5fr 140px 110px 110px 120px 44px;
}
.mr-hide-format .taq-mr-items-head span:nth-child(3),
.mr-hide-format .taq-mr-item input[name="item_formato[]"]{
  display:none;
}
.mr-hide-format .taq-mr-items-head span:nth-child(4){
  grid-column: 3;
}
.taq-mr-item-error{
  border:1px solid #ef4444;
  box-shadow:0 0 0 2px rgba(239,68,68,.15);
  border-radius:10px;
}

.taq-mr-items-body .taq-mr-item{
  display:grid;
  grid-template-columns: 120px 1.5fr 120px 140px 110px 110px 120px 44px;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}

/* Evita que inputs expandan columnas */
.taq-mr-items-body .taq-mr-item > *{ min-width:0; }
.taq-mr-items-body input,
.taq-mr-items-body select,
.taq-mr-items-body button{
  width:100%;
  box-sizing:border-box;
}

/* Inputs de la grilla */
.taq-mr-item input[type="text"],
.taq-mr-item input[type="number"],
.taq-mr-item select{
  height: 42px;
  background: #fff;
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius-sm);
  padding: 10px 12px;
}
.taq-mr-item input:focus,
.taq-mr-item select:focus{
  border-color: var(--mr-primary);
  box-shadow: 0 0 0 3px rgba(59,91,255,.12);
}

/* Campos bloqueados (vienen del Excel) */
.taq-mr-item input[readonly]{
  background: #f8fafc;
  color: #374151;
  cursor: not-allowed;
}

/* ===== Placeholders de carga (skeleton) ===== */
.mr-skel{
  height: 42px;
  border-radius: var(--mr-radius-sm);
  background: linear-gradient(90deg, #f3f6fb 25%, #e9edf5 37%, #f3f6fb 63%);
  background-size: 400% 100%;
  animation: mrShimmer 1.2s ease-in-out infinite;
}
.taq-mr-item.mr-skeleton > .mr-skel{
  height: 42px;
  border-radius: var(--mr-radius-sm);
  background: linear-gradient(90deg, #f3f6fb 25%, #e9edf5 37%, #f3f6fb 63%);
  background-size: 400% 100%;
  animation: mrShimmer 1.2s ease-in-out infinite;
}
.taq-mr-item.mr-skeleton > .mr-skel.mr-skel--icon{
  width: 28px;
  height: 28px;
  justify-self: center;
  align-self: center;
  border-radius: 999px;
}
@keyframes mrShimmer{
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

/* Skeleton para lista de instalaciones */
.mr-skeleton-install{ background:#fff; border:1px solid var(--mr-border); border-radius: var(--mr-radius-sm); padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mr-skeleton-install .mr-skel-col{ flex:1; min-width: 220px; display:flex; flex-direction:column; gap:8px; }
.mr-skeleton-install .mr-skel--title{ height:18px; width: 40%; }
.mr-skeleton-install .mr-skel--line{ height:12px; width: 60%; }
.mr-skeleton-install .mr-skel--line.short{ width:30%; }
.mr-skeleton-install .mr-skel-actions{ display:flex; align-items:center; gap:10px; }
.mr-skeleton-install .mr-skel--pill{ height:28px; width:120px; border-radius:999px; }
.mr-skeleton-install .mr-skel--btn{ height:34px; width:140px; border-radius: var(--mr-radius-sm); }

/* Alineaciones numéricas */
.taq-mr-item .taq-mr-qty{ text-align: right; }
.taq-mr-item .taq-mr-line-total{
  text-align: right;
  font-weight: 700;
}

/* Botón quitar (columna X) */
.taq-mr-rowdel{
  display:inline-flex; justify-content:center; align-items:center;
  width:36px; height:36px; border:0; border-radius:8px;
  background:#fee2e2; color:#b91c1c; cursor:pointer;
}
.taq-mr-rowdel:hover{ background:#fecaca; }

/* ---------- Botón “Agregar ítem” (si lo usas) ---------- */
.taq-mr-rowadd{
  display: inline-block;
  margin-top: 6px;
  padding: 9px 12px;
  border-radius: var(--mr-radius-sm);
  border: 1px dashed #cbd5e1;
  background: var(--mr-soft);
  font-weight: 600;
  color: #0f172a;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.taq-mr-rowadd:hover{ background: #f1f5ff; border-color: #b9c6ff; }

/* ---------- Acciones (botón + totales inline) ---------- */
.taq-mr-actions{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
  padding: 12px 16px;
  background: #fff;
  position: sticky;
  bottom: 0;
  z-index: 2;
  border-top: 1px solid #e5e7eb;
}
.taq-mr-btn{
  background: var(--mr-primary);
  color: #fff; border: none;
  padding: 12px 18px;
  border-radius: var(--mr-radius-sm);
  cursor: pointer; font-weight: 800;
  transition: transform .08s ease, filter .15s ease, box-shadow .15s ease;
  box-shadow: 0 6px 18px rgba(59,91,255,.18);
}
.taq-mr-btn:hover{ filter: brightness(.98); transform: translateY(-1px); }
.taq-mr-btn:active{ transform: translateY(0); box-shadow: 0 4px 12px rgba(59,91,255,.18); }

/* Totales junto al botón */
.taq-mr-inline{
  border:1px solid var(--mr-border);
  background:#f7f9ff;
  border-radius: var(--mr-radius-sm);
  padding: 8px 12px;
  display:flex; align-items:center; gap:10px;
}
.taq-mr-inline .tag{ font-weight:700; color:#1f2937; }
.taq-mr-inline .tag.muted{ color: var(--mr-muted); font-weight:600; }
.taq-mr-inline .value{ font-weight:800; color:var(--mr-text); }
.taq-mr-inline .value.muted{ color: var(--mr-muted); font-weight:700; }
.taq-mr-inline .sep{ width:1px; height:16px; background:var(--mr-border); }

/* ---------- FAB flotante ---------- */
.taq-mr-fab{
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 20;
  background:#f7f9ff;
  border:1px solid var(--mr-border);
  border-radius: var(--mr-radius);
  padding: 10px 14px;
  box-shadow: var(--mr-shadow);
  pointer-events: none;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
}
.taq-mr-fab.show{ opacity:1; transform: translateY(0); }
.taq-mr-fab .row{ display:flex; align-items:center; gap:10px; }
.taq-mr-fab .tag{ font-weight:700; }
.taq-mr-fab .tag.muted{ color: var(--mr-muted); }
.taq-mr-fab .value{ font-weight:800; }
.taq-mr-fab .value.muted{ color: var(--mr-muted); font-weight:700; }
.taq-mr-fab .sep{ width:1px; height:16px; background:var(--mr-border); }

/* ---------- Ayudas / errores ---------- */
.help{ color: var(--mr-muted); font-size: 12px; margin-top: 6px; }
.taq-mr-error{
  background:#fef2f2; color:#991b1b;
  border:1px solid #fecaca; padding:10px;
  border-radius: var(--mr-radius-sm); margin:12px 0;
}

/* ---------- Warn neutral + Over budget ---------- */
.taq-mr-warn{
  background: transparent;
  border: 1px solid var(--mr-border);
  color: var(--mr-text);
  padding: 14px 16px;
  border-radius: 12px;
  margin: 10px 18px;
  text-align:center;
}
.taq-mr-warn[hidden]{ display:none !important; }
.taq-mr-warn .title{ font-weight:700; margin-bottom:6px; }
.taq-mr-warn .contact{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content:center; align-items:center;
  font-weight:600;
}
.taq-mr-warn .sep{ opacity:.45; }
.taq-mr-warn .ico{ filter:saturate(1.05); }
.taq-mr-warn a{ color:var(--mr-primary); text-decoration:none; }
.taq-mr-warn a:hover{ text-decoration:underline; }

/* Estado “over” (naranjo suave) */
.taq-mr-stickybar.over{ background:#FFF7ED; border-color:#FDBA74; }
.taq-mr-stickybar.over .tag,
.taq-mr-stickybar.over .value{ color:#9A3412; }
.taq-mr-stickybar.over .value.muted{ color:#B45309; }
.taq-mr-inline.over,
.taq-mr-fab.over{ background:#FFF7ED; border-color:#FDBA74; color:#9A3412; }

/* ---------- Gerencia / Modal / Tabla ---------- */
.taq-mr-muted-link{ color:#64748b; text-decoration:underline; font-size:12px }
.taq-mr-admin-entrance{ text-align:right; margin:6px 0 -6px 0 }

.taq-mr-modal[hidden]{ display:none }
.taq-mr-modal{ position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:9999;
  display:flex; align-items:center; justify-content:center }
.taq-mr-modal .box{ background:#fff; border-radius:12px; padding:18px; width:320px; box-shadow:0 10px 30px rgba(0,0,0,.12) }
.taq-mr-modal .actions{ display:flex; gap:6px; justify-content:flex-end; margin-top:10px }
.taq-mr-modal .msg{ font-size:12px; color:#ef4444; margin-top:6px }

/* Modal secciones/turnos */
.mr-modal{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px 12px;box-sizing:border-box;}
.mr-modal[hidden]{display:none;}
.mr-modal__sheet{background:#fff;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.18);width:min(860px,96vw);max-height:calc(100vh - 72px);display:flex;flex-direction:column;}
.mr-modal__sheet--sm{width:min(520px,96vw);}
.mr-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb;}
.mr-modal__body{padding:12px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px;}
.mr-modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e5e7eb;}
.mr-x{appearance:none;border:0;background:transparent;font-size:24px;line-height:1;padding:0 6px;cursor:pointer;color:#4b5563;}
.mr-x:hover{color:#111827;}
.mr-modal__inline{display:flex;gap:8px;align-items:center;}
.mr-modal__inline input{flex:1;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;}
.mr-modal__label{display:block;font-weight:600;margin:6px 0 0;}
.mr-modal__hint{min-height:18px;font-size:12px;color:#b91c1c;margin-top:-4px;}
.mr-modal__subhint{margin:2px 0 8px;font-size:12px;color:#6b7280;}
.mr-modal__block{padding:8px 0;}
.mr-modal__list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.mr-modal__list li{background:#eef2ff;border:1px solid #cbd5ff;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px;}
.mr-modal__list .rm{cursor:pointer;color:#b91c1c;font-weight:700;}
body.mr-modal-open{overflow:hidden;}
body.mr-modal-open footer,
body.mr-modal-open .site-footer,
body.mr-modal-open #colophon,
body.mr-modal-open #footer,
body.mr-modal-open .footer,
body.mr-modal-open .site-info{display:none !important;}

.taq-mr-manager[hidden]{ display:none }
.taq-mr-manager{ margin:12px 0; padding:10px; border:1px solid #e5e7eb; border-radius:12px; background:#f8fafc }
.taq-mr-manager-head{ display:flex; gap:8px; align-items:center }
.taq-mr-manager-head .spacer{ flex:1 }
.taq-mr-table{ width:100%; border-collapse:collapse; margin-top:8px; font-size:14px }
.taq-mr-table th,.taq-mr-table td{ border-bottom:1px solid #e5e7eb; padding:8px }
.taq-mr-table .tm-amount,
.taq-mr-table td:nth-child(8),
.taq-mr-table td:nth-child(9){
  white-space:nowrap;
}
.mgr-sortable{appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;gap:6px;padding:0;color:#0f172a;font-weight:600;cursor:pointer;}
.mgr-sortable .mgr-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #c4c8d0;transition:transform .15s, border-color .15s;}
.mgr-sortable.is-active.asc .mgr-caret{transform:rotate(180deg);border-top-color:#111827;}
.mgr-sortable.is-active.desc .mgr-caret{border-top-color:#111827;}
.taq-mr-mgr-actions{display:flex;gap:6px;}
.taq-mr-mgr-actions button{flex:1;min-width:56px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;padding:4px 8px;font-size:12px;}
.taq-mr-mgr-actions .taq-mr-edit{background:#eef2ff;border-color:#cbd5ff;color:#1e3a8a;}
.taq-mr-mgr-actions .taq-mr-delete{background:#fee2e2;border-color:#fecaca;color:#b91c1c;}
.taq-mr-mgr-actions .taq-mr-mgr-pdf{background:#fef3c7;border-color:#fde68a;color:#92400e;}
.taq-mr-mgr-actions button:hover{filter:brightness(.97);}
.taq-mr-mgr-actions button[disabled],
.taq-mr-mgr-actions button:disabled{
  cursor:not-allowed;
  opacity:0.6;
  background:#e5e7eb;
  border-color:#d1d5db;
  color:#6b7280;
  box-shadow:none;
}

/* ---------- Catálogo modal opcional ---------- */
.taq-mr-modal .box[role="dialog"]{ width:min(96vw,980px); }
.taq-mr-table th, .taq-mr-table td { padding:8px 10px; border-bottom:1px solid #eee; }
.taq-mr-pick { margin-left:6px; padding:6px 8px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .taq-mr-items-head,
  .taq-mr-items-body .taq-mr-item{
    grid-template-columns: 90px minmax(200px,1.5fr) 90px 110px 96px 96px 110px 36px;
    gap: 8px;
  }
}
@media (max-width: 640px){
  /* Mantén 7 columnas más compactas para evitar saltos de fila */
  .taq-mr-items-head,
  .taq-mr-items-body .taq-mr-item{
    grid-template-columns: 80px 1fr 90px 100px 92px 92px 110px 36px;
    gap: 6px;
  }

  .taq-mr-actions{
    flex-direction: column;
    align-items: center;
  }
  .taq-mr-inline{
    justify-content: center;
    width: 100%;
    max-width: 520px;
  }
}

/* Ajuste de grilla cuando se muestra la columna de Sección (solo en chip \"Todas\") */
@media (min-width: 1440px){
  .taq-show-section-col .taq-mr-items-head,
  .taq-show-section-col .taq-mr-item{
    grid-template-columns: 100px minmax(260px,1.6fr) 100px 130px 110px 110px 130px 44px;
  }
}
@media (max-width: 1439px) and (min-width: 1200px){
  .taq-show-section-col .taq-mr-items-head,
  .taq-show-section-col .taq-mr-item{
    grid-template-columns: 90px minmax(220px,1.5fr) 90px 120px 100px 100px 120px 40px;
  }
}
@media (max-width: 1199px) and (min-width: 900px){
  .taq-show-section-col .taq-mr-items-head,
  .taq-show-section-col .taq-mr-item{
    grid-template-columns: 84px minmax(200px,1.4fr) 84px 110px 96px 96px 110px 36px;
  }
}
@media (max-width: 900px){
  .taq-show-section-col .taq-mr-items-head,
  .taq-show-section-col .taq-mr-item{
    grid-template-columns: 80px 1fr 90px 100px 92px 92px 100px 36px;
  }
}
@media (max-width: 640px){
  .taq-show-section-col .taq-mr-items-head,
  .taq-show-section-col .taq-mr-item{
    grid-template-columns: 78px 1fr 82px 94px 82px 82px 96px 34px;
  }
}

/* ===== Mejor distribución: contenedor más ancho ===== */
.taq-mr-wrap{
  max-width: min(1200px, 96vw);
}

/* ===== Grilla unificada (cabecera + filas) =====
   Código | Artículo | Formato | Sección | Valor | Cant | Total | X */
.taq-mr-items-head,
.taq-mr-item{
  display:grid;
  grid-template-columns:
    110px                          /* Código   */
    minmax(260px, 1.7fr)           /* Artículo */
    110px                          /* Formato  */
    130px                          /* Sección  */
    110px                          /* Valor    */
    110px                          /* Cantidad */
    130px                          /* Total    */
    44px;                          /* X        */
  gap:10px;
  align-items:center;
}

/* Siempre mostrar la columna Sección */
.taq-mr-section-col{ display:block; }
/* En pantallas medianas (1200–1439) */
@media (max-width: 1439px) and (min-width: 1200px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns:
      100px minmax(230px,1.6fr) 100px 120px 100px 100px 120px 40px;
    gap:8px;
  }
}

/* En 900–1199 px mantenemos legible */
@media (max-width: 1199px) and (min-width: 900px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns:
      90px minmax(200px,1.5fr) 90px 110px 96px 96px 110px 36px;
    gap:8px;
  }
}

/* Compactos ≤900 (ya tenías regla; la dejamos) */
@media (max-width: 900px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 80px 1fr 90px 100px 92px 92px 100px 36px;
    gap:8px;
  }
}

/* ===== Legibilidad: nombre ocupa espacio y muestra el texto completo al hover ===== */
.taq-mr-item input[name="item_nombre[]"]{
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Si prefieres 2 líneas y corte elegante, usa esto en lugar de lo anterior:
.taq-mr-item input[name="item_nombre[]"]{
  height:auto;
  white-space:normal;
  line-height:1.2;
} */

/* Alinear números y columnas “tabulares” */
.taq-mr-item input[name="item_valor[]"],
.taq-mr-item input[name="item_cantidad[]"],
.taq-mr-item input[name="item_total[]"],
.taq-mr-item .taq-mr-line-total{
  text-align:right;
  font-variant-numeric: tabular-nums;
}

/* Que Total luzca como campo de solo lectura consistente */
.taq-mr-item .taq-mr-line-total,
.taq-mr-item input[name="item_total[]"]{
  background:#f8fafc;
  border:1px solid var(--mr-border);
  border-radius: var(--mr-radius-sm);
  padding:10px 12px;
  height:42px;
  display:flex; align-items:center; justify-content:flex-end;
}

/* Tamaños visuales un pelín más compactos en 1200 */
@media (max-width: 1439px){
  .taq-mr-item input[type="text"],
  .taq-mr-item input[type="number"]{
    padding:8px 10px;
    height:40px;
  }
}

/* Cabecera más legible y pegada arriba si hay scroll largo */
.taq-mr-items-head{
  position: sticky;
  top: 54px; /* debajo del sticky bar principal */
  z-index: 2;
  background: var(--mr-bg);
  padding: 6px 0;
  border-bottom: 1px solid var(--mr-border);
}

/* Zebra para filas (ayuda a seguir la vista) */
.taq-mr-items-body .taq-mr-item:nth-child(odd){
  background: #fafbff;
  border-radius: 8px;
}

/* Contenedor FAB */
.taq-mr-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  z-index: 9999;                 /* Asegura que quede encima */
  pointer-events: auto;          /* Permite hacer click */
}

/* Estado cuando se oculta por scroll (si usas .show/.over en tu JS) */
.taq-mr-fab:not(.show) {
  opacity: .95;
}

/* Texto interno */
.taq-mr-fab .label { color:#6b7280; font-weight:600; margin-right:6px }
.taq-mr-fab .sep { color:#9aa0a6; margin: 0 8px }

/* Botones ▲ ▼ */
.taq-mr-fab-btn {
  appearance: none;
  border: 0;
  background: #eef2ff;           /* suave */
  border-radius: 999px;
  width: 32px; height: 32px;
  line-height: 32px;
  text-align: center;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}
.taq-mr-fab-btn:hover { transform: translateY(-1px) }
.taq-mr-fab-btn:active { transform: translateY(0) }
.taq-mr-fab-btn:focus { outline: 2px solid #3b82f6; outline-offset: 2px }

/* Resaltado cuando excede presupuesto */
.taq-mr-fab.over {
  border-color:#fecaca;
  box-shadow: 0 8px 24px rgba(185,28,28,.18);
}
.taq-mr-fab.over .taq-mr-fab-body strong#taq_mr_total_fab { color:#b91c1c }

.taq-mr-mgr-toolbar{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px;
  padding:10px 12px; margin:10px 0 16px;
}

.tm-btn{
  appearance:none; border:0; border-radius:10px; padding:10px 14px;
  font-weight:700; cursor:pointer; line-height:1; white-space:nowrap;
}
.tm-primary{ background:#3b5bfd; color:#fff; }
.tm-success{ background:#16a34a; color:#fff; }
.tm-ghost{ background:#fff; color:#111827; border:1px solid #e5e7eb; }

.tm-btn:disabled{ opacity:.6; cursor:not-allowed; }
.tm-badge{
  display:inline-block; min-width:22px; padding:2px 6px; margin-left:6px;
  border-radius:999px; font-weight:800; background:#eef2ff; text-align:center;
}
.tm-hint{ color:#6b7280; font-size:.9rem; margin-left:2px; }

/* Badges “Sí” / “No” en la tabla */
.badge-over-yes{
  background:#fee2e2; color:#b91c1c; padding:2px 8px; border-radius:10px; font-weight:800;
}
.badge-over-no{
  background:#eef2ff; color:#475569; padding:2px 8px; border-radius:10px; font-weight:700;
}

/* Tabla Gerencia: formato de montos */
#taq_mr_mgr_table td.tm-amount{ white-space:nowrap; }
#taq_mr_mgr_table td.tm-amount--over{ background:#fee2e2; color:#b91c1c; font-weight:800; }

/* Tabla: en pantallas de 1200px o menos comprime columnas poco relevantes */
@media (max-width: 1200px){
  #taq_mr_mgr_table th:nth-child(2),  /* ID */
  #taq_mr_mgr_table td:nth-child(2),
  #taq_mr_mgr_table th:nth-child(6),  /* Ítems */
  #taq_mr_mgr_table td:nth-child(6){
    width:60px; text-align:center;
  }
  #taq_mr_mgr_table th:nth-child(4),  /* Instalación */
  #taq_mr_mgr_table td:nth-child(4){
    max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
}

/* ====== Toolbar Gerencia en 1 fila (y colapsa bien) ====== */
.taq-mr-mgr-toolbar{
  display:grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap:10px;
  align-items:center;
  background:#f6f7f9;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  margin:10px 0 16px;
}

/* Asignación de columnas (desktop >= 1200px) */
#taq_mr_mgr_client { grid-column: span 3; }
#taq_mr_mgr_admin  { grid-column: span 3; }
#taq_mr_mgr_search { grid-column: span 3; }
.taq-mr-mgr-toolbar .mgr-check { grid-column: span 1; white-space:nowrap; }

#taq_mr_mgr_refresh { grid-column: span 1; }
#taq_mr_mgr_logout  { grid-column: span 1; }
.taq-mr-mgr-toolbar .mgr-spacer { grid-column: span 2; }

#taq_mr_mat_btn   { grid-column: span 3; }
#taq_mr_log_send  { grid-column: span 3; }

/* Controles visuales */
.mgr-ctrl, .mgr-btn, .mgr-check{
  height:40px; font-size:14px;
}
.mgr-ctrl{
  width:100%;
  padding:8px 10px;
  border:1px solid #dfe3e8; border-radius:10px;
  background:#fff;
}
.mgr-check input{ vertical-align:middle; margin-right:6px; }

.mgr-btn{
  padding:8px 12px; border-radius:10px; border:1px solid transparent;
  background:#eef1f5; color:#111827; font-weight:600; cursor:pointer;
}
.mgr-btn:hover{ filter:brightness(0.98); }
.btn-ghost{ background:#fff; border-color:#e5e7eb; }
.btn-primary{ background:#3b5bfd; color:#fff; }
.mgr-btn-pdf{ background:#a40d0d; color:#fff; border:none; }
.mgr-btn-pdf:hover{ filter:brightness(0.9); }
.mgr-btn-excel{ background:#1d6f42; color:#fff; border:none; }
.mgr-btn-excel:hover{ filter:brightness(0.9); }
.mgr-btn-toggle{ background:#1d4ed8; color:#fff; border:none; }
.mgr-btn-toggle:hover{ filter:brightness(0.9); }
.btn-success{ background:#34a853; color:#fff; }

.mgr-badge{
  display:inline-block; min-width:22px; padding:0 6px; margin-left:6px;
  border-radius:999px; background:#fff; color:#111; border:1px solid #e5e7eb;
  text-align:center; font-weight:700; font-size:12px;
}

/* ====== Responsivo ====== */
/* <= 1280px: dar más aire a acciones y evitar apretujes */
@media (max-width:1280px){
  #taq_mr_mgr_client { grid-column: span 4; }
  #taq_mr_mgr_admin  { grid-column: span 4; }
  #taq_mr_mgr_search { grid-column: span 4; }
  .taq-mr-mgr-toolbar .mgr-check { grid-column: span 2; }
  #taq_mr_mgr_refresh { grid-column: span 2; }
  #taq_mr_mgr_logout  { grid-column: span 2; }
  .taq-mr-mgr-toolbar .mgr-spacer { display:none; }
  #taq_mr_mat_btn   { grid-column: span 6; }
  #taq_mr_log_send  { grid-column: span 6; }
}

/* <= 900px: 2–3 filas ordenadas */
@media (max-width:900px){
  .taq-mr-mgr-toolbar{
    grid-template-columns: repeat(6, minmax(0,1fr));
  }
  #taq_mr_mgr_client, #taq_mr_mgr_admin { grid-column: span 3; }
  #taq_mr_mgr_search { grid-column: span 6; }
  .taq-mr-mgr-toolbar .mgr-check { grid-column: span 3; }
  #taq_mr_mgr_refresh, #taq_mr_mgr_logout { grid-column: span 3; }
  #taq_mr_mat_btn, #taq_mr_log_send { grid-column: span 6; }
}

/* <= 600px: una columna cómoda */
@media (max-width:600px){
  .taq-mr-mgr-toolbar{
    grid-template-columns: 1fr;
  }
  .taq-mr-mgr-toolbar > * { grid-column: 1 / -1; }
}

.taq-mr-mgr-toolbar{
  display:grid; grid-template-columns: 1fr auto;
  gap:12px; align-items:center; margin:12px 0 16px;
}

.mgr-filters{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.mgr-actions{ display:flex; gap:10px; align-items:center; white-space:nowrap; }

.mgr-btn{ height:40px; padding:0 14px; border-radius:10px; font-weight:600; }
.btn-primary{ background:#3b5bfd; color:#fff; border:none; }
.btn-success{ background:#22c55e; color:#fff; border:none; }
.btn-ghost{ background:#fff; border:1px solid #e5e7eb; }

.mgr-badge{
  display:inline-flex; min-width:22px; height:22px;
  padding:0 6px; border-radius:999px; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; background:#111827; color:#fff; margin-left:6px;
}

/* Responsive */
@media (max-width: 900px){
  .taq-mr-mgr-toolbar{ grid-template-columns:1fr; }
  .mgr-actions{ justify-content:flex-start; }
}

/* Botones: alto uniforme y contenido centrado */
.mgr-btn{
  display:inline-flex;            /* <— centra vertical/horizontal */
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 14px;
  border-radius:10px;
  font-weight:600;
}

/* Enviar a logística con badge absoluto (no desplaza el texto) */
#taq_mr_log_send{ position:relative; }
#taq_mr_sel_badge{
  position:absolute; right:-8px; top:-8px;
  min-width:22px; height:22px; padding:0 6px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; font-size:12px; font-weight:700;
  background:#eaf3ff;            /* <— fondo claro */
  color:#1d4ed8;                  /* <— texto azul */
  border:1px solid #cfe0ff;       /* <— borde suave */
}

/* Barra superior: filtros (izq) + acciones (der) */
.taq-mr-mgr-toolbar{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:16px;
  align-items:start;
  margin:12px 0 16px;
}
.taq-mr-mgr-filters{
  border:1px solid var(--mr-border);
  border-radius:var(--mr-radius);
  padding:12px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.taq-mr-mgr-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.taq-mr-mgr-row select,
.taq-mr-mgr-row .mgr-btn,
.taq-mr-mgr-row input[type="search"]{
  height:40px;
  border:1px solid var(--mr-border);
  border-radius:10px;
  padding:6px 10px;
  font-size:13px;
}
.taq-mr-mgr-search{
  display:flex;
  gap:8px;
  flex:1;
}
.taq-mr-mgr-search input{flex:1;}
.taq-mr-mgr-row--meta{
  justify-content:space-between;
  align-items:center;
}
.mgr-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mgr-actions .mgr-btn{ width:100%; }
.mgr-btn.btn-danger{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;}
.mgr-btn.btn-danger:hover{filter:brightness(.95);}

/* Opcional: en pantallas chicas todo en una sola columna */
@media (max-width: 900px){
  .taq-mr-mgr-toolbar{ grid-template-columns: 1fr; }
  .mgr-actions{ flex-direction:row; flex-wrap:wrap; }
  .mgr-actions .mgr-btn{ width:auto; flex:1; }
}

/* Ocultas si NO se está editando */
#taq_mr_inline,
#taq_mr_fab,
#taq_mr_sticky { display:none; }

/* Muéstralas solo en modo edición */
body.mr-edit #taq_mr_inline,
body.mr-edit #taq_mr_fab,
body.mr-edit #taq_mr_sticky { display:flex; }  /* o block según tu HTML */


/* ---------- Listado de instalaciones y editor ---------- */
.taq-mr-selector{margin:0 18px 20px;}
.taq-mr-installations{border:1px solid var(--mr-border);border-radius:var(--mr-radius);background:var(--mr-soft);padding:16px;margin-bottom:18px;}
.taq-mr-installations__intro{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.taq-mr-installations__hint{margin:0;color:var(--mr-muted);font-size:13px;}
.taq-mr-installations__counts{font-size:13px;color:var(--mr-muted);}
.taq-mr-installations__list{display:flex;flex-direction:column;gap:10px;}
.taq-mr-history{
  border:1px solid var(--mr-border);
  border-radius:var(--mr-radius);
  background:#fff;
  padding:16px;
  margin-bottom:18px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.taq-mr-history[hidden]{display:none;}
.taq-mr-history__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.taq-mr-history__eyebrow{
  margin:0;
  font-size:12px;
  letter-spacing:.08em;
  color:#475569;
  text-transform:uppercase;
}
.taq-mr-history__title{
  margin:4px 0 0;
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}
.taq-mr-history__hint{
  margin:6px 0 0;
  font-size:13px;
  color:#6b7280;
  max-width:480px;
}
.taq-mr-history__actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
.taq-mr-history__actions button:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.taq-mr-history__tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
  padding:12px 16px;
  border:1px solid #e0e7ff;
  border-radius:20px;
  background:#f8faff;
  box-shadow:0 16px 30px rgba(79,70,229,.12);
}
.taq-mr-tabs{
  border:1px solid var(--mr-border);
  border-radius:var(--mr-radius);
  background:#fff;
  padding:12px;
  box-shadow:0 12px 20px rgba(15,23,42,.08);
  margin-bottom:18px;
}
.taq-mr-tabs__head{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.taq-mr-tab-btn{
  appearance:none;
  border:1px solid #d1d5db;
  border-radius:999px;
  padding:8px 18px;
  font-weight:600;
  font-size:14px;
  font-family:'Inter','Segoe UI',sans-serif;
  background:#fff;
  color:#1f2937;
  cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
  box-shadow:0 0 0 0 transparent;
}
.taq-mr-tab-btn.is-active{
  background:#eef2ff;
  border-color:#6366f1;
  color:#312e81;
  box-shadow:0 10px 30px rgba(79,70,229,.25);
}
.taq-mr-tabs__body{
  display:flex;
  gap:16px;
}
.taq-mr-tabs__panel{
  width:100%;
  display:none;
}
.taq-mr-tabs__panel.is-active{
  display:block;
}
.taq-mr-history__tab{
  appearance:none;
  border:1px solid var(--mr-border);
  border-radius:999px;
  padding:8px 18px;
  font-size:14px;
  font-family:'Inter','Segoe UI',sans-serif;
  background:#fff;
  cursor:pointer;
  color:#475569;
  transition:background .2s, border-color .2s, box-shadow .2s, color .2s;
  box-shadow:0 0 0 0 transparent;
}
.taq-mr-history__tab.is-active{
  background:#eef2ff;
  border-color:#6366f1;
  color:#312e81;
  font-weight:600;
  box-shadow:0 12px 28px rgba(79,70,229,.2);
}
.taq-mr-history__tab.is-disabled{
  cursor:default;
  opacity:.6;
}
.taq-mr-history__list{
  min-height:100px;
  margin-top:14px;
}
.taq-mr-history__empty{
  margin:0;
  color:#6b7280;
  font-size:14px;
}
.taq-mr-history__item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:16px 0;
  border-bottom:1px solid #ebeef4;
  flex-wrap:wrap;
}
.taq-mr-history__item:last-child{
  border-bottom:none;
}
.taq-mr-history__meta{
  flex:1;
  min-width:0;
}
.taq-mr-history__meta strong{
  font-size:15px;
  color:#0f172a;
  display:block;
}
.taq-mr-history__meta .meta-line{
  font-size:13px;
  color:#475569;
  margin-top:4px;
  display:block;
}
.taq-mr-history__period{
  display:block;
  font-size:13px;
  color:#94a3b8;
  margin-top:6px;
}
.taq-mr-history__status{
  font-size:12px;
  font-weight:700;
  padding:4px 12px;
  border-radius:999px;
  white-space:nowrap;
  background:#eef2ff;
  color:#1d4ed8;
  border:1px solid #dbeafe;
}
.taq-mr-history__status.status-draft{background:#fef3c7;color:#b45309;border-color:#fde68a;}
.taq-mr-history__status.status-pendiente{background:#fee2e2;color:#991b1b;border-color:#fecaca;}
.taq-mr-history__status.status-new{background:#dcfce7;color:#047857;border-color:#bbf7d0;}
.taq-mr-history__status.status-pendiente-aprobacion{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.taq-mr-history__status.status-cerrado{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1;}
.taq-mr-history__status.status-aprobado{background:#d1fae5;color:#047857;border-color:#86efac;}
.taq-mr-history__amount{
  font-size:16px;
  font-weight:700;
  color:#0f172a;
}
.taq-mr-history__actions button{
  height:40px;
  padding:0 20px;
  font-size:14px;
  font-weight:500;
  border-radius:12px;
  letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(37,99,235,.2);
  transition:transform .2s, box-shadow .2s;
}
.taq-mr-history__more{
  margin-top:12px;
  text-align:center;
}
.taq-mr-history__more button{
  width:100%;
}
@media (max-width: 640px){
  .taq-mr-history__head{flex-direction:column;align-items:flex-start;}
  .taq-mr-history__actions{width:100%;justify-content:flex-end;}
  .taq-mr-history__more button{width:100%;}
  .taq-mr-history__item{flex-direction:column;}
}
.taq-mr-installation{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--mr-border);border-radius:var(--mr-radius-sm);padding:12px 14px;background:#fff;}
.taq-mr-installation.is-active{border-color:var(--mr-primary);box-shadow:0 0 0 1px rgba(59,91,255,.25);}
.taq-mr-installation__info{flex:1;min-width:220px;}
.taq-mr-installation__info strong{display:block;font-size:15px;color:var(--mr-text);}
.taq-mr-installation__group{display:inline-block;margin-top:2px;font-size:12px;color:var(--mr-muted);}
.taq-mr-installation__detail{display:block;margin-top:2px;font-size:12px;color:var(--mr-muted);}
.taq-mr-installation__actions{display:flex;align-items:center;gap:10px;}
.taq-mr-installation__over{font-size:12px;line-height:1.2;padding:6px 10px;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;display:inline-flex;align-items:center;gap:6px;}
.taq-mr-installation__status{font-weight:600;font-size:12px;padding:6px 12px;border-radius:999px;background:#e2e8f0;color:var(--mr-text);} 
.taq-mr-installation__status.is-requested{background:#dcfce7;color:#166534;}
.taq-mr-installation__status.is-pending{background:#fee2e2;color:#b91c1c;}
.taq-mr-installation__status.is-draft{background:#fef3c7;color:#92400e;}
.taq-mr-installation__btn{border:1px solid var(--mr-border);background:#fff;border-radius:var(--mr-radius-sm);padding:8px 12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease, box-shadow .15s ease;}
.taq-mr-installation__btn:hover{background:var(--mr-soft);box-shadow:0 2px 6px rgba(15,23,42,.08);}
.taq-mr-installation__select{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mr-muted);}
@media(max-width:640px){
  .taq-mr-installation{flex-direction:column;align-items:flex-start;}
  .taq-mr-installation__actions{width:100%;justify-content:space-between;}
}
.taq-mr-deadline{
  margin:10px 0 12px;
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border:1px solid #c7d2fe;           /* azul suave */
  background:#eef2ff;                 /* fondo destacado */
  color:#1e3a8a;                      /* texto azul fuerte */
  border-radius:12px;
  font-weight:700; font-size:14px;
  white-space: pre-line;
}
.taq-mr-deadline::before{ content:'📅'; font-size:18px; line-height:1; }
.taq-mr-deadline.is-past{
  border-color:#fecaca;
  background:#fee2e2;
  color:#b91c1c;
}
.taq-mr-installations__bulk{margin:12px 0;padding:12px;border:1px dashed var(--mr-border);border-radius:var(--mr-radius-sm);background:#fff;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.taq-mr-installations__bulk-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mr-muted);}
.taq-mr-installations__bulk-hint{font-size:12px;color:var(--mr-muted);}
.taq-mr-installation__btn--primary{background:var(--mr-primary);color:#fff;border-color:var(--mr-primary);}
.taq-mr-installation__btn--primary:hover{filter:brightness(.95);}
.taq-mr-access{ text-align:right; margin:10px 0 20px; padding:0 18px; }
.taq-mr-editor{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 12px 24px;z-index:9999;}
.taq-mr-editor[hidden]{display:none;}
.taq-mr-editor__sheet{background:#fff;border-radius:18px;box-shadow:0 40px 80px rgba(15,23,42,.35);width:min(1200px,98vw);max-height:92vh;display:flex;flex-direction:column;}
.taq-mr-editor__head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 8px;border-bottom:1px solid var(--mr-border);gap:10px;}
.taq-mr-editor__head > div{flex:1;min-width:0;}
.taq-mr-editor__eyebrow{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mr-muted);}
.taq-mr-editor__subtitle{margin:0;font-size:13px;color:#0f172a;line-height:1.2;}
.taq-mr-editor__section-label{margin:0;font-size:14px;font-weight:700;color:#0f172a;}
.taq-mr-editor__title{margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.taq-mr-editor__period-row{display:flex;align-items:center;gap:6px;margin:0;flex-wrap:wrap;line-height:1;}
.taq-mr-editor__period{margin:0;font-size:12px;color:var(--mr-muted);}
.taq-mr-editor__period-edit{display:none;align-items:center;gap:6px;border:1px solid var(--mr-border);background:#fff;border-radius:8px;padding:4px 8px;font-size:12px;color:#374151;cursor:pointer;line-height:1.1;height:26px;}
.taq-mr-editor__period-edit .icon{font-size:13px;line-height:1;}
.taq-mr-editor__period-edit.is-active{background:#eef2ff;border-color:#c7d2fe;color:#1e3a8a;}
body.mr-manager .taq-mr-editor__period-edit{display:inline-flex;}
.taq-mr-editor__period-control{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:6px;}
.taq-mr-editor__period-control[hidden]{display:none!important;}
.taq-mr-period-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;max-width:520px;}
.taq-mr-period-label{font-size:13px;color:#374151;white-space:nowrap;}
#taq_mr_period_month{flex:0 0 180px;min-width:160px;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;}
#taq_mr_period_year{flex:0 0 90px;width:90px;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;}
.taq-mr-editor__close{appearance:none;border:0;background:#eef2ff;border-radius:50%;width:34px;height:34px;font-size:18px;font-weight:700;cursor:pointer;}
.taq-mr-editor__body{padding:14px 18px 12px;overflow:auto;}
.taq-mr-editor__notice{background:#fff7ed;border:1px solid #fdba74;color:#92400e;border-radius:12px;padding:10px 14px;margin-bottom:16px;}
.taq-mr-editor__autosave{font-size:0.85rem;color:#1d4ed8;margin-bottom:12px;min-height:1.2em;}
.taq-mr-editor__autosave.is-success{color:#047857;}
.taq-mr-editor__autosave.is-error{color:#dc2626;}
.taq-mr-items-empty{border:1px dashed #d1d5db;border-radius:10px;padding:18px 14px;margin-top:12px;background:#f8fafc;color:#374151;font-size:0.95rem;text-align:center;}
.taq-mr-row--hidden{display:none;}
.taq-mr-editor .taq-mr-form{padding:0;}
/* Autocomplete de materiales */
.mr-suggest{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.12);max-height:260px;overflow:auto;z-index:10000;font-size:13px;width:min(480px,calc(100vw - 40px));}
.mr-suggest__item{padding:8px 10px;display:flex;flex-direction:column;gap:2px;cursor:pointer;}
.mr-suggest__item:hover{background:#f8fafc;}
.mr-suggest__code{font-weight:700;color:#0f172a;}
.mr-suggest__name{color:#4b5563;}
.mr-suggest__meta{font-size:12px;color:#6b7280;}
@media(max-width:640px){
  .taq-mr-editor{padding:24px 8px;}
  .taq-mr-editor__sheet{border-radius:12px;}
}
.mgr-deadline-box{border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;background:#fff;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;}
.mgr-deadline-box__info{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:#0f172a;}
.mgr-deadline-box__controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.mgr-deadline-box__controls input{border:1px solid #cbd5f5;border-radius:8px;padding:8px 10px;}
.mgr-deadline-box small{color:#6b7280;}

/* Limpieza de elementos que ya no se usan */
.taq-mr-installations__bulk {
  display: none !important;
}

#taq_mr_fab {
  display: none !important;
}

/* Limpieza: ocultar acciones masivas y FAB de totales, ya no se usan */
.taq-mr-installations__bulk {
  display: none !important;
}

#taq_mr_fab {
  display: none !important;
}

/* Vista Gerencia: oculta selector e instalaciones inferiores */
body.mr-manager .taq-mr-selector,
body.mr-manager #taq_mr_installations_panel,
body.mr-manager .taq-mr-access{
  display: none !important;
}

/* === Ajustes de legibilidad: ampliar columna Artículo y usar más ancho === */
/* Mayor ancho del sheet ya aplicado más arriba; repetimos aquí para precedencia */
.taq-mr-editor__sheet{ width:min(1200px,98vw); }

/* Reforzar grilla: Artículo con más espacio por defecto */
.taq-mr-items-head,
.taq-mr-item{
  grid-template-columns: 110px minmax(300px, 2fr) 110px 130px 110px 110px 140px 44px;
}

/* 1200–1439 px */
@media (max-width: 1439px) and (min-width: 1200px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 100px minmax(260px,1.8fr) 100px 120px 100px 100px 130px 40px;
  }
}

/* 900-1199 px */
@media (max-width: 1199px) and (min-width: 900px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 90px minmax(220px,1.6fr) 90px 110px 96px 96px 120px 36px;
  }
}

/* === Override final: asegurar 8 columnas con Sección visible y alineada === */
.taq-mr-items-head,
.taq-mr-item{
  grid-template-columns:
    110px
    minmax(260px, 1.7fr)
    110px
    140px
    110px
    110px
    130px
    44px;
}
.taq-mr-section-col{ display:block; }
@media (max-width: 1439px) and (min-width: 1200px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 100px minmax(230px,1.6fr) 100px 130px 100px 100px 120px 40px;
  }
}
@media (max-width: 1199px) and (min-width: 900px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 90px minmax(200px,1.5fr) 90px 110px 96px 96px 110px 36px;
  }
}
@media (max-width: 900px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 80px 1fr 90px 100px 92px 92px 100px 36px;
  }
}
@media (max-width: 640px){
  .taq-mr-items-head,
  .taq-mr-item{
    grid-template-columns: 78px 1fr 82px 94px 82px 82px 96px 34px;
  }
}


.taq-mr-installation__btn[disabled]{opacity:0.6;cursor:not-allowed;background:#f3f4f6;border-color:#e5e7eb;color:#6b7280;}
