/* redmine_catasia_track — estilos de componentes (matriz, detalle, snapshots, formularios) */

/* ETIQUETAS DE ESTADO */
.ct-stag{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:bold;white-space:nowrap}
.ct-t-ok{background:#d4edda;color:#1a6b2e}
.ct-t-prep{background:#e2e3e5;color:#495057}
.ct-t-pending{background:#fff3cd;color:#856404}
.ct-t-sched{background:#d1ecf1;color:#0c5460}
.ct-t-closed{background:#cce5ff;color:#004085}
.ct-t-pink{background:#f8d7da;color:#721c24}

/* MONOSPACE PARA DATOS TÉCNICOS */
.ct-mono{font-family:monospace;font-size:11px;background:#f0f0f0;padding:1px 4px;border-radius:3px;color:#444}

/* BARRA DE FILTROS */
.ct-fbar{background:#f5f5f5;border:1px solid #ddd;padding:7px 10px;margin-bottom:10px;border-radius:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ct-fbar label{color:#555;font-weight:bold;font-size:11px}
.ct-fbar select,.ct-fbar input{padding:3px 5px;border:1px solid #ccc;border-radius:3px;font-size:11px}

/* MATRIZ */
.ct-mt{width:100%;border-collapse:collapse;font-size:12px}
.ct-mt thead tr{background:#628db6}
.ct-mt th{color:#fff;padding:5px 8px;text-align:left;font-weight:normal;font-size:11px;white-space:nowrap}
.ct-mt th.ct-cc{text-align:center;width:74px}
.ct-mt td{padding:5px 8px;border-bottom:1px solid #eee;vertical-align:middle}
.ct-mt tr:hover td{background:#f0f6fc}
.ct-mt tr:nth-child(even) td{background:#f9f9f9}
.ct-mt tr:nth-child(even):hover td{background:#f0f6fc}
.ct-mt td.ct-cc{text-align:center}
.ct-rl{color:#507aa6;font-weight:bold}
.ct-deploy-cell{cursor:pointer;font-size:14px;text-decoration:none}

/* TARJETA DE DETALLE */
.ct-card{border:1px solid #ddd;border-radius:4px;margin-bottom:12px;overflow:hidden}
.ct-card .ct-head{background:#628db6;color:#fff;padding:8px 14px;font-weight:bold;font-size:13px}
.ct-card .ct-body{padding:12px 14px}
.ct-dgrid{display:grid;grid-template-columns:140px 1fr 140px 1fr;gap:8px 12px;margin-bottom:4px}
.ct-df label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:2px}
.ct-df span{font-size:12px}
.ct-sec{font-size:12px;font-weight:bold;color:#333;border-bottom:1px solid #eee;padding-bottom:4px;margin:12px 0 8px}

/* TABLAS INTERNAS */
.ct-it{width:100%;border-collapse:collapse;font-size:12px}
.ct-it th{background:#f0f0f0;padding:4px 8px;text-align:left;border-bottom:1px solid #ccc;font-weight:bold;font-size:11px}
.ct-it td{padding:4px 8px;border-bottom:1px solid #eee;vertical-align:middle}
.ct-it tr:hover td{background:#f5f5f5}

/* FORMULARIOS DE PÁGINA */
.ct-form{max-width:560px;margin-top:10px}
.ct-form .ct-fr{margin-bottom:12px}
.ct-form .ct-fr label{display:block;font-size:11px;font-weight:bold;color:#555;margin-bottom:3px}
.ct-form .ct-fr input[type=text],
.ct-form .ct-fr input[type=date],
.ct-form .ct-fr select,
.ct-form .ct-fr textarea{width:100%;padding:4px 7px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff}
.ct-form .ct-fr textarea{height:60px;resize:vertical}
.ct-form .ct-fr input[readonly]{background:#f5f5f5}
.ct-form .ct-hint{font-size:10px;color:#888;margin-top:2px}
.ct-ichk{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;border:1px solid #ddd;border-radius:3px;padding:5px 7px;background:#fafafa}
.ct-ichk label{display:flex;align-items:center;gap:5px;font-size:11px;cursor:pointer;padding:1px 0;font-weight:normal}
.ct-cl-grid{display:flex;gap:12px;flex-wrap:wrap}
.ct-cl-grid label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:normal}
.ct-actions{display:flex;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid #eee}

/* GATE DE DESPLIEGUE */
.ct-gate{border-radius:4px;padding:8px 12px;margin:12px 0;font-size:12px;border:1px solid}
.ct-gate-ok{background:#d4edda;border-color:#a3d3b0;color:#1a6b2e}
.ct-gate-warn{background:#fff3cd;border-color:#e6d87a;color:#856404}

/* CAJA INFORMATIVA */
.ct-info-box{background:#e8f4f8;border:1px solid #b8dce8;border-radius:3px;padding:6px 10px;font-size:11px;color:#0c5460;margin-bottom:10px}
.ct-roles-bar{background:#fffbe6;border:1px solid #e6d87a;border-radius:3px;padding:5px 10px;margin-bottom:10px;font-size:11px;color:#7a6a00}

/* SNAPSHOTS */
.ct-snt{width:100%;border-collapse:collapse;font-size:12px}
.ct-snt th{background:#628db6;color:#fff;padding:5px 8px;text-align:left;font-weight:normal;font-size:11px}
.ct-snt td{padding:5px 8px;border-bottom:1px solid #eee}
.ct-snt tr:hover td{background:#f0f6fc}

/* RESPONSIVE: scroll horizontal en tablas anchas */
.ct-table-wrap{overflow-x:auto;width:100%}
@media (max-width:768px){
  .ct-dgrid{grid-template-columns:1fr}
  .ct-form{max-width:100%}
}

/* COD-3: marca "hijo con padre ausente" en el tablero de Scrum
   (subtarea cuyo padre está en un Sprint distinto). */
table.catasia-parent-elsewhere{
  border:2px solid #d32f2f !important;
  box-shadow:0 0 0 1px #d32f2f inset;
}
a.catasia-parent-warn{
  display:inline-block;
  margin-top:4px;
  padding:1px 6px;
  border-radius:3px;
  background:#d32f2f;
  color:#fff !important;
  font-weight:bold;
  font-size:11px;
  line-height:1.4;
  text-decoration:none;
}
a.catasia-parent-warn:hover{background:#b71c1c;text-decoration:none}

/* Punto 1: tarea mostrada bajo su padre pero que pertenece a OTRO Sprint. */
table.catasia-foreign-sprint{
  border-left:5px solid #f59e0b !important;   /* franja ámbar a la izquierda */
}
a.catasia-foreign-warn{
  display:inline-block;
  margin-top:4px;
  padding:1px 6px;
  border-radius:3px;
  background:#f59e0b;
  color:#3a2a00 !important;
  font-weight:bold;
  font-size:11px;
  line-height:1.4;
  text-decoration:none;
}
a.catasia-foreign-warn:hover{background:#d98806;text-decoration:none}

/* Ocultar el menú contextual de Scrum (Tablero del Sprint, Burndown horas/PHs,
   Estadísticas, Ayuda y los botones nuevo/editar/borrar/esfuerzo) para reducir
   ruido en el tablero. Solo presentación; reversible quitando esta regla. */
.scrum-menu{display:none !important}
/* EXCEPCIÓN: la pestaña Configuración del proyecto → Sprints (y → Product
   backlogs) usa la MISMA clase .scrum-menu para el botón "Nuevo sprint" /
   "Nuevo product backlog". Ése es el flujo legítimo para crear/gestionar
   sprints, NO ruido del tablero, así que se re-muestra sólo ahí. */
body.controller-projects.action-settings .scrum-menu{display:block !important}

/* ===== SuperScrum (tablero experimental por iniciativa) ===== */
.ss-muted{color:#888;font-weight:normal;font-size:.9em}
.ss-reload{margin-left:8px;text-decoration:none;font-weight:bold}
.ss-close-btn{background:#c9822a;color:#fff;border:1px solid #a96a1c;
  border-radius:3px;padding:2px 8px;cursor:pointer}
.ss-close-btn:hover{background:#a96a1c}

/* En pantallas angostas la fila se apila y el select ocupa el ancho disponible. */
@media (max-width:768px){
  .ss-move-form{flex-wrap:wrap}
  .ss-move-form select{flex:1 1 100%;max-width:100%}
}
.ss-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:8px 0 14px;
  padding:8px 10px;background:#f7f9fb;border:1px solid #e3e8ee;border-radius:6px}
.ss-field label{margin-right:6px;font-weight:bold}
.ss-base{font-weight:bold;color:#123}
.ss-chk{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.ss-chk-sep{border-left:1px solid #cfd8e0;padding-left:14px}
.ss-plus{color:#1c6ea4;font-weight:bold}
.ss-showing{margin-left:auto;color:#555}
.ss-help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;
  border-radius:50%;background:#9bb;color:#fff;font-size:10px;font-weight:bold;cursor:help;
  text-decoration:none}
.ss-help:hover{background:#1c6ea4}
.ss-toggle{display:inline-flex;border:1px solid #bbb;border-radius:5px;overflow:hidden}
.ss-tg{padding:4px 12px;text-decoration:none;color:#333;background:#f5f5f5}
.ss-tg+.ss-tg{border-left:1px solid #bbb}
.ss-tg.ss-on{background:#159 /*fallback*/;background:#1c6ea4;color:#fff}
.ss-tg:hover{background:#e8e8e8}
.ss-tg.ss-on:hover{background:#17557f}

.ss-board-wrap{overflow-x:auto;width:100%;border:1px solid #ddd;border-radius:6px}
table.ss-board{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}
table.ss-board th,table.ss-board td{border:1px solid #e3e3e3;vertical-align:top}
.ss-col-h,.ss-lane-h{background:#f0f4f8;position:sticky;top:0;z-index:2;padding:6px 8px;
  text-align:left;font-size:11px;color:#334}
.ss-col-h{text-align:center}
.ss-lane-h{left:0;z-index:3;min-width:170px}
.ss-lane-title{background:#fafbfc;padding:6px 8px;min-width:170px;max-width:200px;
  position:sticky;left:0;z-index:1}
.ss-lane-name{font-weight:bold;color:#123;margin:2px 0}
.ss-cell{padding:5px;background:#fff;min-width:150px}
.ss-empty{text-align:center;color:#888;padding:22px}

/* El fondo/sombra/redondeo lo da la clase .post-it de Scrum (heredada). */
.ss-card{padding:5px 7px;margin-bottom:6px;cursor:move}
.ss-card.ss-foreign{border-left:4px solid #f59e0b}
.ss-cell-hover{outline:2px dashed #1c6ea4;outline-offset:-2px;background:#eef6fb}
.ss-card.ss-dragging{opacity:.6}
/* Caja del sprint de correcciones rápidas (Fix_pendiente). */
.ss-fix-box{margin:10px 0 14px;padding:10px 12px;background:#f7f9fb;
  border:1px solid #e3e8ee;border-left:4px solid #1c6ea4;border-radius:5px}
.ss-fix-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}
.ss-fix-btn{flex:0 0 auto;background:#1c6ea4;color:#fff;border:1px solid #14547e;
  border-radius:3px;padding:3px 10px;cursor:pointer;white-space:nowrap}
.ss-fix-btn:hover{background:#14547e}
.ss-fix-ok{color:#2e7d32;font-weight:bold;margin-right:4px}

.ss-table-wrap{overflow-x:auto}
/* Número con desglose por tracker en el tooltip. */
.ss-hint{cursor:help;border-bottom:1px dotted #9bb}
.ss-manage .ss-num{text-align:right;white-space:nowrap}
.ss-manage td{vertical-align:middle}

/* Columna "Mover todas a…": el select se fija a un ancho común para que los
   botones queden alineados en columna entre filas (si no, el ancho del nombre
   del sprint desplaza cada botón). La separación la da SOLO el gap del flex. */
.ss-move-form{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;margin:0}
.ss-move-form select{flex:0 0 240px;max-width:240px}
.ss-move-form input[type="submit"]{flex:0 0 auto;white-space:nowrap;margin:0}
.ss-card-head{display:flex;justify-content:space-between;align-items:center;gap:6px}
.ss-card-user{font-size:10px;color:#556;background:#eef;border-radius:3px;padding:0 4px;
  white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}
.ss-card-subj{margin:3px 0;line-height:1.3;color:#222}
.ss-card-parent{font-size:10px;color:#777}
.ss-card-path{font-size:10px;color:#8a6d00;margin-top:2px;line-height:1.3;
  border-top:1px dashed #eadfa0;padding-top:2px}
.ss-card-path a{color:#8a6d00;text-decoration:none}
.ss-card-path a:hover{text-decoration:underline}
@media (max-width:768px){ table.ss-board{min-width:700px} }
