/* Salmon-Connect: organigrama en árbol invertido, ubicación de personas y puntaje de perfil. Usa los tokens --fx-* del sistema de diseño. */
.oc-score { padding: 12px 14px; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-lg); background: var(--fx-surface-2); margin-bottom: 12px; }
.oc-score-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; } .oc-score-h b { font: 600 20px/26px var(--fx-font-ui); }
.oc .link { background: none; border: 0; padding: 0; color: var(--fx-accent-text); cursor: pointer; font: inherit; font-size: 13px; text-decoration: underline; }
.oc-bg { height: 8px; border-radius: 999px; background: var(--fx-surface-3); overflow: hidden; margin-top: 8px; } .oc-bg i { display: block; height: 100%; background: var(--fx-accent); border-radius: 999px; }
.oc-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; } .oc-bar select { max-width: 260px; }
.oc-top { border: 2px dashed var(--fx-border-strong); border-radius: var(--fx-radius-md); padding: 8px; text-align: center; font-size: 13px; color: var(--fx-text-2); margin-bottom: 8px; } .oc-top.over { border-color: var(--fx-accent); background: var(--fx-accent-subtle); }
.oc-scroll { overflow-x: auto; padding: 8px 4px 16px; }
.oc-tree, .oc-tree ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; position: relative; }
.oc-tree { width: max-content; min-width: 100%; }
.oc-tree ul { padding-top: 22px; }
.oc-tree li { position: relative; display: flex; flex-direction: column; align-items: center; padding: 22px 6px 0; }
.oc-tree > li { padding-top: 0; }
.oc-tree li::before, .oc-tree li::after { content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 22px; border-top: 2px solid var(--fx-border-strong); }
.oc-tree li::after { right: auto; left: 50%; border-left: 2px solid var(--fx-border-strong); }
.oc-tree > li::before, .oc-tree > li::after, .oc-tree li:only-child::before, .oc-tree li:only-child::after { display: none; }
.oc-tree li:only-child { padding-top: 22px; } .oc-tree > li:only-child { padding-top: 0; }
.oc-tree li:first-child::before, .oc-tree li:last-child::after { border: 0 none; }
.oc-tree li:last-child::before { border-right: 2px solid var(--fx-border-strong); border-radius: 0 6px 0 0; }
.oc-tree li:first-child::after { border-radius: 6px 0 0 0; }
.oc-tree ul::before { content: ""; position: absolute; top: 0; left: 50%; border-left: 2px solid var(--fx-border-strong); width: 0; height: 22px; }
.oc-node { width: 172px; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 8px; text-align: center; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-lg); background: var(--fx-surface-1); cursor: pointer; position: relative; }
.oc-node:hover, .oc-node:focus-visible { border-color: var(--fx-accent); outline: none; box-shadow: 0 0 0 2px var(--fx-accent-subtle); }
.oc-node b { font-size: 13px; line-height: 17px; } .oc-node small { font-size: 11.5px; line-height: 15px; color: var(--fx-text-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.oc-node .dr-av { width: 42px; height: 42px; }
.oc-team { font-size: 11px; color: var(--fx-text-3); }
.oc-cats { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; } .oc-cats i, .oc-chips .badge { font-style: normal; font-size: 10.5px; line-height: 14px; padding: 1px 6px; border-radius: 999px; background: var(--fx-accent-subtle); color: var(--fx-accent-text); max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oc-chips { display: flex; flex-wrap: wrap; gap: 6px; } .oc-chips .badge { font-size: 12px; max-width: none; }
.oc-node.hit, .oc-chip.hit { border-color: var(--fx-accent); background: var(--fx-accent-subtle); box-shadow: 0 0 0 2px var(--fx-accent); }
.oc-node.edit { cursor: grab; } .oc-node.drag, .oc-chip.drag { opacity: .45; } .oc-node.over { border-color: var(--fx-accent); border-style: dashed; background: var(--fx-accent-subtle); }
.oc-tray { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--fx-border); } .oc-tray h4 { margin: 0 0 8px; font: 600 12px/16px var(--fx-font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--fx-text-3); }
.oc-chips2 { display: flex; flex-wrap: wrap; gap: 8px; }
.oc-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px 6px 6px; border: 1px solid var(--fx-border); border-radius: 999px; background: var(--fx-surface-1); cursor: pointer; } .oc-chip .dr-av { width: 30px; height: 30px; font-size: 11px; }
.oc-chip span { display: flex; flex-direction: column; line-height: 15px; } .oc-chip b { font-size: 12.5px; } .oc-chip small { font-size: 11px; color: var(--fx-text-2); }
.oc-list { margin: 4px 0 8px 18px; padding: 0; } .oc-list li { margin: 3px 0; }
.oc-cats-pick { max-height: 240px; overflow: auto; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-md); padding: 6px 10px; background: var(--fx-surface-1); }
.oc-cats-pick details { padding: 4px 0; border-bottom: 1px dashed var(--fx-border); } .oc-cats-pick summary { cursor: pointer; font-weight: 600; font-size: 13px; } .oc-cats-pick label.check { display: flex; gap: 8px; align-items: center; padding: 3px 0 3px 8px; font-size: 13px; }
.oc-cats-pick [hidden] { display: none !important; }
.oc-link, .oc .link { background: none; border: 0; padding: 0; color: var(--fx-accent-text); cursor: pointer; font: inherit; text-decoration: underline; }
@media (max-width: 640px) { .oc-node { width: 148px; } }

/* Empleos: editor de preguntas del aviso */
.jq { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 8px; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-md); background: var(--fx-surface-2); margin-bottom: 6px; } .jq .jq-t { flex: 1 1 260px; } .jq .jq-o { flex: 1 1 200px; }

/* Unidades de negocio de un proveedor */
.un-row { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px dashed var(--fx-border); } .un-row:first-child { border-top: 0; } .un-row.off { opacity: .6; } .un-row .link { background: none; border: 0; padding: 0; color: var(--fx-accent-text); cursor: pointer; font: inherit; font-size: 13px; text-decoration: underline; }
.un-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; } .un-kpi { padding: 12px; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-md); background: var(--fx-surface-2); }
.un-big { font: 600 28px/34px var(--fx-font-ui); } .un-big small { font-size: 13px; color: var(--fx-text-3); } .un-big.ok { color: var(--fx-success, #3FA66B); } .un-big.warn { color: var(--fx-warning); } .un-big.bad { color: var(--fx-danger, #D64545); }

/* Primer ingreso */
.onb-dots { display: flex; gap: 6px; } .onb-dots i { width: 28px; height: 4px; border-radius: 4px; background: var(--fx-surface-3); } .onb-dots i.on { background: var(--fx-accent); } .onb-dots i.done { background: var(--fx-accent-subtle); }
.onb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin-top: 10px; }
.onb-card { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--fx-border); border-radius: var(--fx-radius-lg); background: var(--fx-surface-2); cursor: pointer; font-size: 14px; line-height: 20px; }
.onb-card:hover { border-color: var(--fx-border-strong); } .onb-card.on { border-color: var(--fx-accent); background: var(--fx-accent-subtle); } .onb-card input { margin-top: 3px; }
