/* Módulo compartido de Reportes y Gráficas (documents.html / products.html).
   Se apoya en las variables ya definidas en documents.css. */

.analyze-menu {
  position: fixed;
  z-index: 1700;
  width: 220px;
  background: var(--cyc-card);
  border: 1px solid var(--cyc-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  padding: 8px;
  display: none;
}
.analyze-menu.open { display: block; }
.analyze-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 13.5px;
  color: var(--cyc-text);
  cursor: pointer;
  text-align: left;
}
.analyze-menu-item:hover { background: var(--soft-bg); }
.analyze-menu-item i { width: 20px; color: var(--cyc-blue); }

.reports-dialog { width: min(1180px, 96vw) !important; }
.charts-dialog { width: min(980px, 96vw) !important; }

.reports-body { padding: clamp(16px, 2.5vw, 26px); overflow: auto; }

.reports-builder-grid {
  display: grid;
  grid-template-columns: 260px 1fr 1fr;
  gap: 22px;
}
.reports-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.reports-col-label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--cyc-muted);
  margin-top: 6px;
}
.reports-col-label:first-child { margin-top: 0; }

.reports-action-buttons { display: flex; gap: 12px; justify-content: center; margin: 4px 0 6px; }
.reports-circle-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  transition: transform .1s ease;
}
.reports-circle-btn:hover { transform: scale(1.05); }
.reports-circle-btn:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.reports-circle-btn.play { background: var(--cyc-green); }
.reports-circle-btn.edit { background: var(--cyc-blue); }
.reports-circle-btn.delete { background: var(--cyc-red); }

.reports-readonly-list, .reports-editable-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--cyc-border);
  border-radius: var(--radius-md);
  background: var(--soft-bg);
  min-height: 44px;
  max-height: 220px;
  overflow: auto;
}
.reports-readonly-list li, .reports-editable-list li {
  padding: 9px 12px;
  font-size: 13px;
  border-bottom: 1px solid var(--cyc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.reports-readonly-list li:last-child, .reports-editable-list li:last-child { border-bottom: 0; }
.reports-readonly-list .empty, .reports-editable-list .empty { color: var(--cyc-muted); justify-content: center; }
.reports-editable-list li button {
  border: 0;
  background: transparent;
  color: var(--cyc-muted);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.reports-editable-list li button:hover { background: rgba(255,107,74,.15); color: var(--cyc-red); }

.reports-position-row { display: flex; gap: 8px; align-items: center; }
.reports-position-row input { width: 90px; flex: 0 0 auto; }
.reports-position-row select { flex: 1; min-width: 0; }

.reports-condition-value-wrap { display: flex; gap: 8px; }
.reports-condition-value-wrap input, .reports-condition-value-wrap select { flex: 1; min-width: 0; }

.reports-name-field { margin-bottom: 6px; }

.reports-builder-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--cyc-border);
}

.reports-results-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.reports-results-toolbar .search-box { flex: 1; min-width: 220px; }
.reports-export-buttons { display: flex; gap: 8px; }
.reports-export-btn {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  border: 1px solid var(--cyc-border);
  display: grid;
  place-items: center;
  background: var(--cyc-card);
  cursor: pointer;
}
.reports-export-btn.excel { color: var(--cyc-green); }
.reports-export-btn.pdf { color: var(--cyc-red); }
.reports-export-btn.print, .reports-export-btn.copy { color: var(--cyc-blue); }
.reports-export-btn:hover { background: var(--soft-bg); }

.reports-results-table-wrap { overflow: auto; border: 1px solid var(--cyc-border); border-radius: var(--radius-md); }
.reports-results-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.reports-results-table th {
  text-align: left;
  padding: 12px 14px;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--cyc-muted);
  background: var(--soft-bg);
  border-bottom: 1px solid var(--cyc-border);
  white-space: nowrap;
}
.reports-results-table td {
  padding: 11px 14px;
  font-size: 13px;
  border-bottom: 1px solid var(--cyc-border);
  white-space: nowrap;
}
.reports-results-table tr:last-child td { border-bottom: 0; }
.reports-results-footer { margin-top: 12px; color: var(--cyc-muted); font-size: 12.5px; }

.reports-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--cyc-blue);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  margin-bottom: 14px;
  padding: 0;
}

.charts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: clamp(16px, 2.5vw, 26px); }
.chart-card { border: 1px solid var(--cyc-border); border-radius: var(--radius-lg); padding: 18px; background: var(--cyc-card); }
.chart-card h3 { margin: 0 0 14px; font-size: 15px; }
.chart-card-canvas-wrap { position: relative; height: 260px; }

@media (max-width: 980px) {
  .reports-builder-grid { grid-template-columns: 1fr; }
  .charts-grid { grid-template-columns: 1fr; }
}
