/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/* Variables globales y reset muy ligero */

:root {
  --color-dark:         #062C4B;
  --color-accent-start: #F6911B;
  --color-accent-end:   #FF9419;
  --color-bg-light:     #FFFFFF;
  --color-bg-grey:      #F5F7FA;
  --color-panel:        #F0F2F5;
  --color-text:         #333;
  --divider:            #DDD;
  --header-text:        #FFFFFF;
  --header-icon:        #BBDEFB;
  --color-bg-panel: var(--color-panel);
  --color-border: #CCD1D9;
  --color-accent: var(--color-accent-start);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  overflow: hidden;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: var(--color-bg-light);
  color: var(--color-text);
}

/* Estilos globales para el selector de origen de datos */
/* justo debajo de tus otros estilos ds-selector */
.summary-content {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* opcional: espacio entre ícono y texto */
}
.ds-label {
  margin: 0 0 0.5rem 0; /* pequeño espacio debajo del título */
  font-size: 0.95rem;
  font-weight: 600;
}
.ds-selector {
  width: 100%;
  margin: 0 0 1rem 0;
}
.ds-selector details {
  width: 100%;
  background: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}
.ds-selector summary {
  list-style: none;
  padding: 0.75rem 1rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-bg-light);
  font-weight: 500;
}
.ds-selector summary::-webkit-details-marker {
  display: none;
}
.ds-selector summary .arrow {
  font-size: 1.6rem;
  color: var(--color-accent);
  transition: transform 0.2s;
}
.ds-selector details[open] > summary .arrow {
  transform: rotate(-180deg);
}
.ds-selector .body {
  display: grid;
  grid-template-columns: 1fr 2fr;
  border-top: 1px solid var(--color-border);
}
@media (max-width: 600px) {
  .ds-selector .body {
    display: flex;
    flex-direction: column;
  }
}
.ds-selector .nav {
  background: var(--color-bg-light);
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
}
.ds-selector .nav label {
  padding: 0.5rem 0.75rem; /* más compacto y alineado a la izquierda */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.2s;
}
.ds-selector .nav label:hover,
.ds-selector .nav label.active {
  background: var(--color-bg-panel);
  font-weight: 600;
}
.ds-selector .db-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto; /* que crezca y permita truncar */
  min-width: 0;
}
.ds-selector .db-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--color-text);
  stroke-width: 2;
}
.ds-selector summary .db-icon {
  width: 20px;
  height: 20px;
  stroke: var(--color-accent);  
  fill: none;
  stroke-width: 2;
}
.ds-selector .badge {
  background: var(--color-accent);
  color: #fff;
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  margin-left: 0.75rem; /* separación del texto */
}
.ds-selector .schemas {
  padding: 1rem;
  background: var(--color-bg-light);
}
.ds-selector .schemas ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ds-selector .schemas li {
  padding: 0.4rem 0.85rem; /* más compacto */
  border: 1px solid var(--color-accent);
  border-radius: 6px;
  cursor: pointer;
  background: var(--color-bg-panel);
  transition: background 0.2s, color 0.2s;
  font-size: 0.9rem;       /* fuente más chica */
  line-height: 1.1;
}
.ds-selector .schemas li:hover,
.ds-selector .schemas li.active {
  background: var(--color-accent);
  color: #fff;
}

/* Estilos para el selector de modelos de IA */
.ai-selector {
  width: 100%;
  margin: 0 0 1rem 0;
}
.ai-selector details {
  width: 100%;
  background: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}
.ai-selector summary {
  list-style: none;
  padding: 0.75rem 1rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-bg-light);
  font-weight: 500;
}
.ai-selector summary::-webkit-details-marker {
  display: none;
}
.ai-selector summary .arrow {
  font-size: 1.6rem;
  color: var(--color-accent);
  transition: transform 0.2s;
}
.ai-selector details[open] > summary .arrow {
  transform: rotate(-180deg);
}
.ai-selector .body {
  display: grid;
  grid-template-columns: 1fr 2fr;
  border-top: 1px solid var(--color-border);
}
@media (max-width: 600px) {
  .ai-selector .body {
    display: flex;
    flex-direction: column;
  }
}
.ai-selector .nav {
  background: var(--color-bg-light);
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
}
.ai-selector .nav label {
  padding: 0.5rem 0.75rem; /* más compacto y alineado a la izquierda */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.2s;
}
.ai-selector .nav label:hover,
.ai-selector .nav label.active {
  background: var(--color-bg-panel);
  font-weight: 600;
}
.ai-selector .db-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto; /* que crezca y permita truncar */
  min-width: 0;
}
.ai-selector .db-icon {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--color-text);
  stroke-width: 2;
}
.ai-selector summary .db-icon {
  width: 20px;
  height: 20px;
  stroke: var(--color-accent);  
  fill: none;
  stroke-width: 2;
}
.ai-selector .badge {
  background: var(--color-accent);
  color: #fff;
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  margin-left: 0.75rem; /* separación del texto */
}
.ai-selector .schemas {
  padding: 1rem;
  background: var(--color-bg-light);
}
.ai-selector .schemas ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ai-selector .schemas li {
  padding: 0.4rem 0.85rem; /* más compacto */
  border: 1px solid var(--color-accent);
  border-radius: 6px;
  cursor: pointer;
  background: var(--color-bg-panel);
  transition: background 0.2s, color 0.2s;
  font-size: 0.9rem;       /* fuente más chica */
  line-height: 1.1;
}
.ai-selector .schemas li:hover,
.ai-selector .schemas li.active {
  background: var(--color-accent);
  color: #fff;
}

