/* Dashboard360 2.5.2 — prolijidad visual. Sólo reutiliza colores y fuentes existentes (variables --d360-card-*, --sigma-*). */

/* 1. Colores de tarjetas: las clases de estado existentes no llegaban a aplicarse (menor especificidad que la tarjeta base).
      Se agregan tonos explícitos d360-tone-* con los mismos colores del sistema. */
body.d360-ui main.container :is(.sg-tone-success,.success,.rk-kpi-success,.v10-green,.v11-green,.inicio-kpi-collect,.d360-tone-green)[class] { --d360-accent: var(--d360-card-green); }
body.d360-ui main.container :is(.sg-tone-warning,.warning,.rk-kpi-warning,.v10-amber,.v11-amber,.inicio-kpi-result,.d360-tone-amber)[class] { --d360-accent: var(--d360-card-amber); }
body.d360-ui main.container :is(.sg-tone-danger,.danger,.rk-kpi-danger,.v10-red,.v11-red,.inicio-kpi-pay,.d360-tone-red)[class] { --d360-accent: var(--d360-card-red); }
body.d360-ui main.container :is(.v11-darkred,.d360-tone-darkred)[class] { --d360-accent: #87162d; }
body.d360-ui main.container :is(.inicio-kpi-today,.d360-tone-cyan)[class] { --d360-accent: var(--d360-card-cyan); }
body.d360-ui main.container :is(.v10-blue,.v11-blue,.d360-tone-blue)[class] { --d360-accent: var(--d360-card-blue); }

/* 2. Navegación: el menú principal ya no pinta de rojo el último ítem (Configuración). */
.topbar nav a:last-child { color: var(--sigma-blue); border-color: rgba(3,46,124,.14); background: rgba(234,241,251,.68); }
.topbar nav a:last-child:hover { background: var(--sigma-blue); color: #fff; border-color: var(--sigma-blue); }
.topbar nav a.active, .topbar nav a.active:last-child { background: var(--sigma-blue); color: #fff; border-color: var(--sigma-blue); }

/* Pestañas internas (Económico, Financiero, Importaciones, Configuración): una sola apariencia; la seleccionada en azul Sigma. */
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) {
  display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 14px; padding: 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) a,
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) a:visited {
  display: inline-flex; align-items: center; min-height: 34px; padding: 7px 13px !important;
  border: 1px solid #d3e0ef !important; border-radius: 10px !important; background: #fff !important;
  color: #183d70 !important; font-size: 12px !important; font-weight: 800 !important; text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(22,52,89,.05) !important;
}
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) a:not(.active):hover { background: #eaf2fc !important; border-color: #b8cde7 !important; color: #032e7c !important; }
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) a.active,
body.d360-ui :is(.gs-module-nav,.finance-subnav,.finance-subnav.finance-subnav-unified,.imports-tabs) a.active:hover {
  background: var(--d360-card-blue) !important; border-color: var(--d360-card-blue) !important; color: #fff !important;
}

/* 3. Botones: siempre azul Sigma con texto blanco (también los que eran contorno o enlaces sueltos). */
body.d360-ui main.container :is(.btn-soft,.v10-btn.v10-outline,.d360-btn),
body.d360-ui main.container :is(.btn-soft,.v10-btn.v10-outline,.d360-btn):visited {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 14px; border: 1px solid var(--d360-card-blue) !important; border-radius: 9px;
  background: var(--d360-card-blue) !important; color: #fff !important;
  font-weight: 600; font-size: 13px; line-height: 1.3; text-decoration: none !important; white-space: nowrap; cursor: pointer;
}
body.d360-ui main.container :is(.btn-soft,.v10-btn.v10-outline,.d360-btn):hover { background: #0a429a !important; border-color: #0a429a !important; }
body.d360-ui main.container .d360-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* 4. Tarjetas compactas: el tamaño se ajusta al dato. */
body.d360-ui main.container .d360-compact :is(.kpi,.equilibrio-card,.op-kpis>article,.op-kpis>a,.v10-metric,.d360-kpi) {
  min-height: 0 !important; padding: 11px 14px 12px !important; gap: 2px !important;
}
body.d360-ui main.container .d360-compact :is(.kpi,.equilibrio-card,.v10-metric,.d360-kpi) > :is(strong,.v10-number) {
  --d360-number-size: clamp(15px, 1.25vw, 19px);
}
body.d360-ui main.container .d360-compact :is(.kpi,.equilibrio-card,.d360-kpi) > span { font-size: 11.5px !important; }
body.d360-ui main.container .d360-compact.kpi-grid,
body.d360-ui main.container .d360-compact.equilibrio-cards,
body.d360-ui main.container .d360-kpi-row { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)) !important; gap: 10px !important; }

/* Tarjeta genérica usada en filtros clickeables (Cobranzas). */
body.d360-ui main.container .d360-kpi {
  --d360-accent: var(--d360-card-blue);
  position: relative; display: flex; flex-direction: column; box-sizing: border-box;
  border: 1px solid var(--d360-card-border); border-top: 4px solid var(--d360-accent);
  border-radius: var(--d360-card-radius); background: #fff; box-shadow: var(--d360-card-shadow);
  color: inherit; text-decoration: none;
}
body.d360-ui main.container .d360-kpi > span { color: #61738b; font: 600 12px/1.4 var(--font-body, Inter, system-ui, sans-serif); }
body.d360-ui main.container .d360-kpi > strong { color: var(--d360-accent); font-size: var(--d360-number-size, clamp(15px,1.25vw,19px)); font-weight: 750; line-height: 1.25; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.d360-ui main.container .d360-kpi > small { color: #75859b; font-size: 11px; line-height: 1.4; }

/* Selección y hover de tarjetas-filtro (Riesgo y Cobranzas): sin doble línea; se marca con el color de la tarjeta. */
body.d360-ui main.container :is(.v11-band-card,.rk-band-card,a.d360-kpi):is(.is-selected,[aria-current="page"]) {
  outline: none !important;
  border-color: var(--d360-accent) !important;
  background: #f6f9fe !important;
  box-shadow: inset 0 0 0 1px var(--d360-accent), var(--d360-card-shadow) !important;
}
body.d360-ui main.container a.d360-kpi:hover { background: #f6f9fe; border-color: var(--d360-accent); }
body.d360-ui main.container a.d360-kpi:focus-visible { outline: 3px solid #1186b5; outline-offset: 3px; }
body.d360-ui main.container .v11-bands .v11-band-card { min-height: 0 !important; padding: 12px 15px 13px !important; }

/* 5. Económico: barra de período en una sola línea. */
body.d360-ui .v10-shell .d360-period-bar {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px;
  margin: 0 0 16px; padding: 14px 16px; background: #fff;
  border: 1px solid var(--d360-card-border); border-radius: var(--d360-card-radius); box-shadow: var(--d360-card-shadow);
}
body.d360-ui .v10-shell .d360-period-bar .d360-field { display: flex; flex-direction: column; gap: 6px; min-width: 170px; margin: 0; color: #032e7c; font-size: 12px; font-weight: 700; }
body.d360-ui .v10-shell .d360-period-bar .d360-field-company { flex: 1 1 220px; }
body.d360-ui .v10-shell .d360-period-bar .d360-field[hidden] { display: none; }
body.d360-ui .v10-shell .d360-period-bar :is(select,input[type="month"]) { height: 40px; min-height: 40px; margin: 0; padding: 7px 10px; border: 1px solid #b9cbea; border-radius: 8px; background: #fff; color: #032e7c; font: inherit; font-weight: 600; }
body.d360-ui .v10-shell .d360-month-stepper { display: flex; gap: 6px; align-items: center; }
body.d360-ui .v10-shell .d360-month-stepper .v10-btn { min-width: 36px; min-height: 40px; padding: 6px 10px !important; font-size: 18px; line-height: 1; }
body.d360-ui .v10-shell .d360-month-stepper input { width: 150px; }
body.d360-ui .v10-shell .d360-inline-controls { display: flex; gap: 8px; align-items: center; }
body.d360-ui .v10-shell label.d360-check { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; height: 40px; color: #032e7c; font-weight: 600; white-space: nowrap; }
body.d360-ui .v10-shell label.d360-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--d360-card-blue); }
body.d360-ui .v10-shell .d360-period-title { margin: 4px 0 12px; }
body.d360-ui .v10-shell .d360-period-title p { margin: 2px 0 0; color: #61738b; font-size: 12px; }

/* 6. Estado de resultados: jerarquía visible (conceptos, subtotales y detalle desplegado). */
body.d360-ui .result-details .result-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 12px; }
body.d360-ui .result-details .result-toolbar label { display: flex; flex-direction: column; gap: 6px; min-width: 220px; margin: 0; color: #032e7c; font-size: 12px; font-weight: 700; }
body.d360-ui .result-details .result-toolbar select { height: 40px; padding: 7px 10px; border: 1px solid #b9cbea; border-radius: 8px; background: #fff; color: #032e7c; font: inherit; font-weight: 600; }
body.d360-ui .result-details .result-tree thead th { background: var(--d360-card-blue) !important; color: #fff !important; text-align: right; font-size: 12px; padding: 11px 14px; }
body.d360-ui .result-details .result-tree thead th:first-child { width: 40%; text-align: left; }
body.d360-ui .result-details .result-tree tbody :is(th,td) { padding: 10px 14px; border-bottom: 1px solid #e2e9f3; background: #fff !important; color: #19365c; font-size: 13px; vertical-align: middle; }
body.d360-ui .result-details .result-tree tbody th.result-label { padding-left: calc(14px + var(--result-depth,0) * 34px); text-align: left; }
body.d360-ui .result-details .result-toggle,
body.d360-ui .result-details .result-name {
  display: inline-flex; align-items: center; gap: 8px; min-height: 0; margin: 0; padding: 2px 0 !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  color: inherit !important; font: inherit !important; font-weight: inherit !important; text-align: left; cursor: pointer;
}
body.d360-ui .result-details .result-name { cursor: default; padding-left: 20px !important; }
body.d360-ui .result-details .result-arrow { display: inline-flex; justify-content: center; width: 12px; color: var(--d360-card-blue); font-size: 11px; }
body.d360-ui .result-details .result-op { display: inline-flex; justify-content: center; width: 14px; color: #61738b; font-weight: 800; }
body.d360-ui .result-details .result-kind-expense .result-op { color: var(--d360-card-red); }
body.d360-ui .result-details .result-kind-subtotal .result-op { color: var(--d360-card-cyan); }
/* Conceptos principales */
body.d360-ui .result-details tr.result-root :is(th,td) { font-weight: 650; }
/* Subtotales: franja celeste y cifra destacada */
body.d360-ui .result-details tr.result-kind-subtotal :is(th,td) { background: #eaf2fc !important; color: #032e7c; font-weight: 750; }
body.d360-ui .result-details tr.result-final :is(th,td) { background: #dde8fa !important; border-top: 2px solid var(--d360-card-blue); color: #032e7c; font-size: 14px; }
/* Concepto desplegado: borde azul a la izquierda y fondo suave */
body.d360-ui .result-details tr.is-expanded :is(th,td) { background: #f6f9fe !important; }
body.d360-ui .result-details tr.is-expanded th.result-label { box-shadow: inset 4px 0 0 var(--d360-card-blue); }
/* Filas de detalle: más chicas, sin negrita, con guía lateral */
body.d360-ui .result-details tr.result-child :is(th,td) { background: #fff !important; color: #46494f; font-size: 12.5px; font-weight: 500; padding-top: 8px; padding-bottom: 8px; }
body.d360-ui .result-details tr.result-child th.result-label { box-shadow: inset 4px 0 0 #b8cde7; }
body.d360-ui .result-details tr.result-child.is-expanded th.result-label { box-shadow: inset 4px 0 0 var(--d360-card-blue); }
body.d360-ui .result-details .result-share { color: #61738b; font-size: 12px; white-space: nowrap; }
body.d360-ui .result-details .result-negative { color: var(--d360-card-red); }
body.d360-ui .result-details .result-coverage,
body.d360-ui .result-details .result-index { display: block; margin-top: 2px; font-size: 11px; font-weight: 400; color: #657896; }
body.d360-ui .result-details .result-footnote { margin: 10px 0 0; color: #61738b; font-size: 11.5px; }

/* 7. Tesorería: un solo título; acciones como botones. */
body.d360-ui .treasury-actions-bar { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }

/* 8. Cobranzas: tarjetas de proyección como filtro. */
body.d360-ui main.container .cobranzas-summary-line { margin: 4px 0 12px; color: #61738b; font-size: 12.5px; }
body.d360-ui main.container .cobranzas-summary-line strong { color: #032e7c; }
body.d360-ui main.container .cobranzas-filter-note { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 10px; color: #183d70; font-size: 12.5px; font-weight: 600; }

@media (max-width: 760px) {
  body.d360-ui .v10-shell .d360-period-bar .d360-field { min-width: 0; flex: 1 1 100%; }
  body.d360-ui .v10-shell .d360-month-stepper input { flex: 1; width: auto; }
}
body.d360-ui .v10-shell .d360-period-bar .d360-field-inflation { min-width: 0; }
body.d360-ui .v10-shell .d360-inline-controls label.d360-check { flex: 0 0 auto; }
body.d360-ui .v10-shell .d360-inline-controls select { width: 190px; flex: 0 0 auto; }

/* Tesorería: acciones al final de la barra de filtros y tarjetas con el formato estándar. */
body.d360-ui .treasury-filter-bar .treasury-actions-bar { margin: 0 0 0 auto; align-self: flex-end; }
body.d360-ui main.container .treasury-kpi {
  --d360-accent: var(--d360-card-blue);
  border: 1px solid var(--d360-card-border) !important; border-top: 4px solid var(--d360-accent) !important;
  border-radius: var(--d360-card-radius) !important; box-shadow: var(--d360-card-shadow) !important; padding: 13px 15px !important;
}
body.d360-ui main.container .treasury-kpi.is-income { --d360-accent: var(--d360-card-green); }
body.d360-ui main.container .treasury-kpi.is-projected { --d360-accent: var(--d360-card-amber); }
body.d360-ui main.container .treasury-kpi.is-expense { --d360-accent: var(--d360-card-red); }
body.d360-ui main.container .treasury-kpi span { color: #61738b !important; font: 600 12px/1.4 var(--font-body, Inter, system-ui, sans-serif) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.d360-ui main.container .treasury-kpi strong { color: var(--d360-accent) !important; font-size: clamp(16px,1.35vw,21px) !important; font-weight: 750 !important; margin: 4px 0 2px !important; font-variant-numeric: tabular-nums; }
body.d360-ui main.container .treasury-kpi small { color: #75859b !important; font-size: 11px !important; }

/* Desplegables dentro de paneles: mismo estilo que "Ver detalle" del sistema. */
body.d360-ui main.container :is(.panel,.v10-card) details > summary { width: fit-content; margin: 10px 0 0; color: #032e7c; font-size: 13px; font-weight: 700; cursor: pointer; }
body.d360-ui main.container :is(.panel,.v10-card) > details:first-child > summary { margin-top: 0; }
body.d360-ui main.container :is(.panel,.v10-card) details > summary strong { font-weight: 700; }
body.d360-ui main.container :is(.panel,.v10-card) details[open] > summary { margin-bottom: 10px; }
body.d360-ui main.container .cobranzas-projection > h2 { margin: 0 0 2px; }
body.d360-ui main.container .v11-bands .v11-band-card:not(.is-selected):not([aria-current="page"]) { background: #fff !important; }
