.espacios-costos{display:grid;gap:18px}.espacios-costos-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.espacios-costos-heading h3{margin:3px 0 6px;font-size:1.35rem}.espacios-costos-heading p{margin:0;max-width:780px;color:var(--muted);line-height:1.45}.espacios-costos-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#ff5c33!important}.espacios-costos-heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.espacios-costos-version{font-size:.78rem;color:var(--muted)}.espacios-costos-button{border:0;border-radius:12px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;background:#ff5c33;color:#fff}.espacios-costos-button.is-secondary,.espacios-costos-button.is-ghost{background:var(--card);color:var(--ink);box-shadow:0 6px 18px rgba(15,23,42,.08)}.espacios-costos-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.espacios-costos-metric{display:grid;gap:4px;padding:16px;border-radius:18px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.06)}.espacios-costos-metric-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.espacios-costos-metric-value{font-size:1.65rem}.espacios-costos-metric-detail{font-size:.78rem;color:var(--muted)}.espacios-costos-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:end}.espacios-costos-field{display:grid;gap:6px;font-size:.77rem;font-weight:700;color:var(--muted)}.espacios-costos-field input,.espacios-costos-field select{width:100%;border:1px solid rgba(148,163,184,.28);border-radius:12px;padding:10px 12px;background:var(--card);color:var(--ink);outline:none}.espacios-costos-field input:focus,.espacios-costos-field select:focus{border-color:#ff5c33;box-shadow:0 0 0 3px rgba(255,92,51,.12)}.espacios-costos-context-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem}.espacios-costos-workspace{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);gap:14px;min-height:560px}.espacios-costos-list-panel,.espacios-costos-detail-card,.espacios-costos-detail-empty{border-radius:18px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.06)}.espacios-costos-list-panel{overflow:hidden}.espacios-costos-list{max-height:720px;overflow:auto;padding:8px}.espacios-costos-list-item{display:grid;width:100%;gap:5px;text-align:left;border:0;background:transparent;color:inherit;padding:12px;border-radius:14px;cursor:pointer}.espacios-costos-list-item:hover,.espacios-costos-list-item.is-active{background:rgba(255,92,51,.08)}.espacios-costos-list-code{font-weight:900;font-size:.86rem}.espacios-costos-list-name{font-size:.88rem}.espacios-costos-list-value{font-size:1rem;font-weight:800}.espacios-costos-list-meta{display:flex;gap:6px;flex-wrap:wrap}.espacios-costos-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900;letter-spacing:.04em;background:rgba(100,116,139,.12);color:var(--muted)}.espacios-costos-badge.is-direct{background:rgba(14,165,233,.12);color:#0284c7}.espacios-costos-badge.is-structure{background:rgba(139,92,246,.12);color:#7c3aed}.espacios-costos-badge.is-missing{background:rgba(100,116,139,.12);color:#64748b}.espacios-costos-badge.is-warning{background:rgba(245,158,11,.14);color:#b45309}.espacios-costos-detail-card{padding:20px;display:grid;gap:18px}.espacios-costos-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.espacios-costos-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.espacios-costos-detail-title-row h3{margin:0;font-size:1.3rem}.espacios-costos-detail-code{margin:5px 0 0;color:var(--muted);font-weight:800}.espacios-costos-total{text-align:right;display:grid;gap:2px}.espacios-costos-total span,.espacios-costos-total small{font-size:.75rem;color:var(--muted)}.espacios-costos-total strong{font-size:1.6rem}.espacios-costos-total strong.is-unresolved{font-size:1.15rem;color:#b45309}.espacios-costos-detail-meta,.espacios-costos-origin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.espacios-costos-detail-meta>div,.espacios-costos-origin-grid>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:rgba(148,163,184,.07)}.espacios-costos-detail-meta span,.espacios-costos-origin-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.espacios-costos-origin-card{display:grid;gap:12px;padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:16px}.espacios-costos-origin-card p{margin:0;color:var(--muted)}.espacios-costos-section-heading{display:flex;justify-content:space-between}.espacios-costos-section-heading div{display:flex;gap:10px;align-items:baseline}.espacios-costos-section-heading span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.espacios-costos-warnings{display:grid;gap:8px}.espacios-costos-warning{padding:11px 13px;border-radius:12px;background:rgba(245,158,11,.1);color:#a16207;font-size:.82rem}.espacios-costos-table-wrap{overflow:auto}.espacios-costos-table{width:100%;border-collapse:collapse;font-size:.82rem}.espacios-costos-table th,.espacios-costos-table td{padding:10px;border-bottom:1px solid rgba(148,163,184,.16);text-align:left}.espacios-costos-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.espacios-costos-table .is-number{text-align:right;white-space:nowrap}.espacios-costos-table tr.is-warning{background:rgba(245,158,11,.06)}.espacios-costos-empty,.espacios-costos-detail-empty{padding:24px;color:var(--muted)}.espacios-costos-state{min-height:360px;display:grid;place-items:center}.espacios-costos-state-card{display:grid;justify-items:center;gap:10px;text-align:center;padding:28px;border-radius:18px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.06)}.espacios-costos-state-title{font-weight:900;margin:0}.espacios-costos-state-copy{margin:0;color:var(--muted)}.espacios-costos-spinner{width:30px;height:30px;border-radius:50%;border:3px solid rgba(148,163,184,.24);border-top-color:#ff5c33;animation:espacios-costos-spin .8s linear infinite}@keyframes espacios-costos-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.espacios-costos-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.espacios-costos-workspace{grid-template-columns:1fr}.espacios-costos-list{max-height:320px}.espacios-costos-detail-meta,.espacios-costos-origin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.espacios-costos-heading,.espacios-costos-detail-header,.espacios-costos-context-line{flex-direction:column}.espacios-costos-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.espacios-costos-toolbar,.espacios-costos-detail-meta,.espacios-costos-origin-grid{grid-template-columns:1fr}.espacios-costos-total{text-align:left}}


/* P-UI1 · presentación compacta y consistente de Producto */
.espacios-costos-heading{align-items:center;padding:15px 18px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:none}
.espacios-costos-heading h3{margin:0;font-size:19px}
.espacios-costos-heading-actions{margin-left:auto}
.espacios-costos-metric{min-height:88px;padding:15px 17px;box-shadow:none}
.espacios-costos-metric-value{margin-top:7px;font-size:28px}
.espacios-costos-toolbar,.espacios-costos-list-panel,.espacios-costos-detail-card{box-shadow:none}
.espacios-costos-calculation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.espacios-costos-calculation-grid>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:rgba(148,163,184,.07)}
.espacios-costos-calculation-grid span,.espacios-costos-calculation-result span,.espacios-costos-audit span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.espacios-costos-calculation-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18)}
.espacios-costos-calculation-result strong{font-size:1.15rem}
.espacios-costos-audit{padding-top:4px}
.espacios-costos-audit summary{cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:800}
.espacios-costos-audit>div{display:grid;gap:4px;margin-top:10px}
.espacios-costos-unresolved-card{padding:16px;border:1px solid rgba(245,158,11,.25);border-radius:14px;background:rgba(245,158,11,.07)}
.espacios-costos-unresolved-card strong{display:block;margin-bottom:5px;color:#b45309}
.espacios-costos-unresolved-card p{margin:0;color:var(--muted);line-height:1.45}
@media(max-width:900px){.espacios-costos-calculation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.espacios-costos-calculation-grid{grid-template-columns:1fr}}


/* P-UI2 · integración nativa con Light / Dark de CORE */
.espacios-costos{
  color:var(--ink);
}

.espacios-costos-heading,
.espacios-costos-metric,
.espacios-costos-list-panel,
.espacios-costos-detail-card,
.espacios-costos-detail-empty,
.espacios-costos-state-card{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--ink);
}

.espacios-costos-button.is-secondary,
.espacios-costos-button.is-ghost{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--ink);
  box-shadow:none;
}

.espacios-costos-field input,
.espacios-costos-field select{
  border-color:var(--border);
  background:var(--card);
  color:var(--ink);
}

.espacios-costos-field input::placeholder{
  color:var(--muted);
  opacity:1;
}

.espacios-costos-field select option{
  background:var(--card);
  color:var(--ink);
}

.espacios-costos-detail-meta>div,
.espacios-costos-origin-grid>div,
.espacios-costos-calculation-grid>div{
  border:1px solid var(--border);
  background:color-mix(in srgb, var(--card) 92%, var(--ink) 8%);
  color:var(--ink);
}

.espacios-costos-origin-card{
  border-color:var(--border);
  background:var(--card);
  color:var(--ink);
}

.espacios-costos-calculation-result,
.espacios-costos-table th,
.espacios-costos-table td{
  border-color:var(--border);
}

html[data-theme="dark"] .espacios-costos-badge.is-direct{
  color:#7dd3fc;
}

html[data-theme="dark"] .espacios-costos-badge.is-structure{
  color:#c4b5fd;
}

html[data-theme="dark"] .espacios-costos-badge.is-warning,
html[data-theme="dark"] .espacios-costos-warning,
html[data-theme="dark"] .espacios-costos-total strong.is-unresolved,
html[data-theme="dark"] .espacios-costos-unresolved-card strong{
  color:#fbbf24;
}

html[data-theme="dark"] .espacios-costos-warning,
html[data-theme="dark"] .espacios-costos-unresolved-card{
  border-color:rgba(251,191,36,.28);
  background:rgba(251,191,36,.08);
}

/* P6A · cotización BNA y carga consistente */
.espacios-costos-state{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.espacios-costos-state-card:not(.is-error){
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:left;
  padding:24px 28px;
}

.espacios-costos-state-card:not(.is-error) .espacios-costos-state-title{
  margin:0;
}

.espacios-costos-exchange-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--card);
  color:var(--ink);
}

.espacios-costos-exchange-main{
  display:grid;
  gap:4px;
  min-width:190px;
}

.espacios-costos-exchange-main span,
.espacios-costos-exchange-meta span{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}

.espacios-costos-exchange-main strong{
  font-size:1.45rem;
}

.espacios-costos-exchange-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
  flex:1;
}

.espacios-costos-exchange-meta>div{
  display:grid;
  gap:3px;
  padding:9px 12px;
  border-radius:12px;
  background:color-mix(in srgb, var(--card) 92%, var(--ink) 8%);
}

.espacios-costos-exchange-card.is-stale{
  border-color:rgba(245,158,11,.35);
}

.espacios-costos-exchange-card.is-unavailable{
  border-color:rgba(239,68,68,.28);
}

@media(max-width:900px){
  .espacios-costos-exchange-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .espacios-costos-exchange-meta{
    grid-template-columns:1fr;
    width:100%;
  }
}


/* P6B · edición versionada de costos directos */
.espacios-costos-detail-actions{display:flex;align-items:flex-start;gap:14px}
.espacios-costos-editor{display:grid;gap:14px;padding:16px;border:1px solid rgba(255,92,51,.28);border-radius:16px;background:color-mix(in srgb,var(--card) 96%,#ff5c33 4%)}
.espacios-costos-editor-note{margin:0;color:var(--muted);font-size:.82rem}
.espacios-costos-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.espacios-costos-field textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--card);color:var(--ink);font:inherit;outline:none}
.espacios-costos-field textarea:focus{border-color:#ff5c33;box-shadow:0 0 0 3px rgba(255,92,51,.12)}
.espacios-costos-editor-exchange{display:flex;gap:12px;flex-wrap:wrap}
.espacios-costos-editor-exchange>div{display:grid;gap:4px;min-width:220px;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 92%,var(--ink) 8%)}
.espacios-costos-editor-exchange span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.espacios-costos-editor-error{padding:10px 12px;border-radius:12px;background:rgba(239,68,68,.09);color:#dc2626;font-weight:700;font-size:.82rem}
.espacios-costos-editor-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:900px){.espacios-costos-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.espacios-costos-detail-actions{flex-direction:column;align-items:flex-end}}
@media(max-width:600px){.espacios-costos-editor-grid{grid-template-columns:1fr}.espacios-costos-detail-actions{align-items:flex-start}.espacios-costos-editor-actions{justify-content:stretch}.espacios-costos-editor-actions .espacios-costos-button{flex:1}}

/* P7C · alternativas, incidencia y comparación de costos */
.espacios-costos-variants{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:10px 0 2px;
}

.espacios-costos-variants-label{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.espacios-costos-variants-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.espacios-costos-variant-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--ink);
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
}

.espacios-costos-variant-button:hover{
  border-color:rgba(255,92,51,.42);
}

.espacios-costos-variant-button.is-active{
  border-color:rgba(255,92,51,.5);
  background:rgba(255,92,51,.08);
  color:#ff5c33;
}

.espacios-costos-variant-button.is-current span{
  color:#22a67a;
  font-size:.72rem;
}

.espacios-costos-compare-toggle{
  display:inline-grid;
  place-items:center;
  justify-self:end;
  width:34px;
  height:34px;
  margin-top:5px;
  padding:0;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card);
  color:var(--muted);
  cursor:pointer;
}

.espacios-costos-compare-toggle:hover,
.espacios-costos-compare-toggle[aria-expanded="true"]{
  border-color:rgba(255,92,51,.48);
  background:rgba(255,92,51,.08);
  color:#ff5c33;
}

.espacios-costos-compare-toggle svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.espacios-costos-variant-compare{
  display:grid;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:15px;
  background:color-mix(in srgb,var(--card) 96%,var(--ink) 4%);
}

.espacios-costos-compare-table tr.is-selected{
  background:rgba(255,92,51,.06);
}

.espacios-costos-compare-select{
  border:0;
  padding:0;
  background:transparent;
  color:#ff5c33;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}

.espacios-costos-component-link{
  border:0;
  padding:0;
  background:transparent;
  color:#ff5c33;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  text-align:left;
}

.espacios-costos-component-link:hover,
.espacios-costos-component-link:focus-visible,
.espacios-costos-compare-select:hover,
.espacios-costos-compare-select:focus-visible{
  text-decoration:underline;
  outline:none;
}

.espacios-costos-table .is-incidence{
  font-weight:800;
}

@media(max-width:700px){
  .espacios-costos-variants{
    align-items:flex-start;
    flex-direction:column;
  }

  .espacios-costos-compare-toggle{
    justify-self:start;
  }
}
