.ecosistema-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:22px}
.ecosistema-field{display:flex;flex-direction:column;gap:8px}
.ecosistema-field label{font-weight:700;color:var(--eco-muted)}
.ecosistema-field input,.ecosistema-field select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--eco-line);background:var(--eco-panel-strong);color:var(--eco-text)}
.viewer-grid{margin-top:26px}
.viewer-card{position:relative;border-left:6px solid var(--eco-line-soft)}
.viewer-card.vivo{border-left-color:#1fa34a}
.viewer-card.historico{border-left-color:#b8860b;opacity:.92}
.viewer-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.viewer-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#24324a;color:var(--eco-text)}
.viewer-badge--vivo{background:#1f7a3e}
.viewer-badge--historico{background:#9a6b05;color:#111}
.viewer-badge--arquitectura{background:#1d4ed8}.viewer-badge--bitacoras{background:#7c3aed}.viewer-badge--auditorias{background:#b91c1c}.viewer-badge--decisiones{background:#0f766e}.viewer-badge--reportes{background:#92400e}.viewer-badge--runtime{background:#155e75}.viewer-badge--cod{background:#1f2937}.viewer-badge--cdi{background:#1e40af}.viewer-badge--shared{background:#334155}.viewer-badge--maker{background:#166534}.viewer-badge--store{background:#854d0e}.viewer-badge--fases{background:#5b21b6}.viewer-badge--integraciones{background:#0f766e}.viewer-summary{color:var(--eco-muted);line-height:1.6}
.viewer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.viewer-actions a{display:inline-flex}
.reader-shell{display:grid;gap:24px}
.reader-back{display:flex;gap:12px;flex-wrap:wrap}
.reader-panel{background:var(--eco-panel-strong);border:1px solid var(--eco-line-soft);border-radius:24px;padding:24px;box-shadow:var(--eco-shadow)}
.reader-content{color:var(--eco-text);line-height:1.75;overflow-wrap:anywhere}
.reader-content h1,.reader-content h2,.reader-content h3{color:var(--eco-gold)}
.reader-content pre{white-space:pre-wrap;background:#09111f;padding:18px;border-radius:16px;border:1px solid var(--eco-line);overflow:auto}
.reader-content code{background:#0f172a;padding:2px 6px;border-radius:6px}
.reader-empty{color:var(--eco-muted)}
