:root{--green:var(--scb-green,#60b635);--dark:var(--scb-green-dark,#397d24);--line:#e4e9e6;--ink:#20242b;--muted:#718096}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5f7f6;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.top{display:flex;align-items:center;gap:24px;padding:11px 24px;border-bottom:1px solid var(--line);background:#fff;min-height:70px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand img{width:58px;height:45px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand b{font-size:14px}.brand small{font-size:10px;color:#98a2b3}.top nav{display:flex;gap:18px;margin-left:18px}.top nav a{font-size:12px;font-weight:700;color:var(--muted);text-decoration:none}.top nav a:hover{color:var(--dark)}.who{margin-left:auto;font-size:12px;color:var(--muted);text-align:right}.main{max-width:1320px;margin:0 auto;padding:28px 24px 65px}.hero{border:1px solid var(--line);border-radius:22px;background:#fff;padding:30px 34px;display:flex;gap:20px;justify-content:space-between;align-items:center}.eyebrow{color:var(--dark);font-size:10px;font-weight:900;letter-spacing:.12em}.hero h1{font-size:34px;letter-spacing:-.04em;margin:8px 0}.hero p,.dialogHead p{font-size:13px;color:var(--muted);line-height:1.5;margin:6px 0}.actions,.dialogFooter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary,.secondary{border-radius:10px;padding:11px 15px;font-weight:750;font-size:12px}.primary{color:#fff;border:1px solid var(--dark);background:var(--dark)}.secondary{color:#344054;border:1px solid var(--line);background:#fff}.primary:hover{filter:brightness(1.08)}.secondary:hover{background:#f4f7f4}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-top:18px;margin-bottom:19px;overflow-x:auto}.tabs button{border:0;background:none;padding:14px 18px;font-weight:750;font-size:13px;color:#667085;white-space:nowrap;border-bottom:3px solid transparent}.tabs button.active{border-bottom-color:var(--green);color:var(--dark)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:17px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;flex:1;min-width:235px}.search span{font-size:22px;color:#98a2b3}.search input{min-width:0;width:100%;border:0;background:transparent;outline:0;padding:13px 2px;color:var(--ink);font-size:13px}.toolbar select,.field select,.field input,.field textarea{background:#fff;border:1px solid #d9e0dc;border-radius:10px;padding:11px 12px;color:var(--ink);width:100%;outline-color:var(--green)}.toolbar select{width:auto;font-size:12px}.counter,.muted,.hint{color:var(--muted);font-size:12px}.personGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.person{border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px;text-align:left;display:flex;align-items:start;gap:13px;min-height:148px;color:inherit;box-shadow:0 4px 16px #00000004}.person:hover,.orgCard:hover{border-color:#acd6a0;box-shadow:0 7px 18px #52614e16}.avatar{border-radius:15px;background:#e8f4e6;color:var(--dark);width:54px;height:54px;flex:0 0 54px;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:900;overflow:hidden}.avatar.big{width:76px;height:76px;flex-basis:76px}.avatar img{height:100%;width:100%;object-fit:cover}.personBody{min-width:0;flex:1}.personName{font-size:15px;font-weight:850;margin-bottom:5px}.personTitle{font-size:12px;color:#415368;font-weight:650}.chips{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.chips span{border-radius:30px;padding:4px 7px;background:#f1f4f2;font-size:10px;color:#53645b}.chips .status.vacante{background:#fff3dc;color:#986300}.chips .status.inactivo{background:#f0f0f0;color:#8a8a8a}.chips .status.activo{background:#e8f7e5;color:#318337}.chevron{color:#a4ada8;font-size:24px}.empty{padding:34px;color:#77808c;text-align:center;border:1px dashed #d1dcd2;border-radius:12px;grid-column:1/-1;background:#fff}.sectionHeader{display:flex;justify-content:space-between;margin-bottom:16px}.sectionHeader h2,.findHeader h2{font-size:19px;margin:0 0 6px}.sectionHeader p,.findHeader p{font-size:13px;color:var(--muted);margin:0}.orgScroll{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:18px;min-height:260px;padding:38px 20px}.orgForest{display:flex;align-items:start;justify-content:center;gap:40px;min-width:max-content}.orgBranch{display:flex;align-items:center;flex-direction:column}.orgCard{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;background:#fff;border:1px solid #cbded0;border-top:4px solid var(--green);border-radius:13px;padding:14px 18px;width:220px;min-height:90px}.orgCard b{font-size:13px}.orgCard span{font-size:12px;color:#465369}.orgCard small{font-size:11px;color:var(--muted)}.orgChildren{position:relative;display:flex;align-items:start;gap:18px;padding-top:34px}.orgChildren:before{content:"";position:absolute;top:0;left:50%;height:34px;border-left:2px solid #c9dcd1}.orgChildren>.orgBranch{position:relative}.orgChildren>.orgBranch:before{content:"";position:absolute;top:-17px;height:17px;border-left:2px solid #c9dcd1}.orgChildren>.orgBranch:not(:only-child):after{content:"";position:absolute;top:-17px;left:50%;width:calc(100% + 18px);border-top:2px solid #c9dcd1}.orgChildren>.orgBranch:last-child:after{display:none}.findBox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.findHeader{margin-bottom:20px}.findBox .search{margin-bottom:20px}.overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:center;padding:20px;background:#111827a8}.dialog{background:#fff;width:min(100%,1050px);max-height:94vh;overflow-y:auto;border-radius:18px;box-shadow:0 22px 80px #0003;padding:27px}.dialogHead{display:flex;justify-content:space-between;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.dialogHead h2{font-size:23px;margin:7px 0 3px}.close{border:0;background:#f3f6f4;border-radius:9px;font-size:19px;width:36px;height:36px}.profileMeta{display:flex;gap:16px;align-items:center;margin-bottom:16px}.profileMeta p,.profileMeta small{color:var(--muted);font-size:12px;margin:7px 0}.profileSection{background:#fafcfb;border:1px solid #e8ebe9;border-radius:12px;padding:15px;margin:6px 0}.profileSection h3{font-size:13px;color:#394c40;margin:0 0 10px}.profileSection ul{margin:0;padding-left:22px;font-size:13px;line-height:1.6;white-space:pre-wrap}.profileSection p{font-size:13px;line-height:1.5;white-space:pre-wrap;margin:0}.profileCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flexibility{border-left:4px solid var(--green);background:#eef6eb;padding:16px;border-radius:8px;margin-top:17px;font-size:12px;color:#45544a;line-height:1.6}.flexibility b{font-size:13px}.flexibility p{margin:8px 0 0}.auditInfo{font-size:11px;color:var(--muted)}.dialogFooter{justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.fieldsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#475467;margin:10px 0}.field input,.field textarea,.field select{font-size:13px;font-weight:400}.field textarea{resize:vertical;min-height:84px}.editorBlock{margin-top:10px}.auditList{max-height:63vh;overflow-y:auto}.auditRow{border-bottom:1px solid var(--line);padding:12px 0}.auditRow small{display:block;margin-top:4px;color:var(--muted)}.auditRow p{margin:7px 0;color:#667085;font-size:12px}.notice{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:12px}.notice.ok{background:#e5f6e4;color:#2b722c}.notice.error,.errorPanel{background:#fff0ed;color:#b42318;padding:16px;border-radius:12px}.primary:disabled{opacity:.6;cursor:wait}@media(max-width:960px){.personGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.top{padding:8px 12px;gap:10px}.top nav{gap:10px;margin-left:0}.top nav a{font-size:11px}.brand img{width:38px;height:34px}.brand b{font-size:11px}.brand small,.who{display:none}.main{padding:13px 10px 35px}.hero{display:block;padding:23px 20px}.hero h1{font-size:29px}.actions{margin-top:15px}.tabs button{padding:13px 11px;font-size:12px}.personGrid,.fieldsGrid,.profileCols{grid-template-columns:1fr}.toolbar select{width:100%}.dialog{padding:15px;max-height:96vh}.overlay{padding:7px}.person{min-height:130px}.dialogHead h2{font-size:20px}.orgScroll{padding:25px 12px}}
/* Equipo y Funciones V2: organigrama compacto, sin desbordes horizontales obligatorios */
.orgTools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.orgTools .secondary{padding:9px 11px;white-space:nowrap}
#orgZoomLabel{font-size:12px;font-weight:800;color:#475467;min-width:42px;text-align:center}
.orgViewport{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:auto;max-height:min(78vh,850px);min-height:220px;padding:18px 12px;scrollbar-width:thin}
.orgCanvas{width:100%;min-width:260px;transform-origin:0 0;display:grid;gap:20px;align-content:start}
.orgMainRoots{display:grid;gap:14px;justify-items:stretch;max-width:100%}
.orgBranch{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;width:100%;position:relative}
.orgCard{position:relative;width:min(100%,250px);min-height:92px;padding:11px 12px;display:block;flex-direction:unset;border-top:4px solid var(--green)}
.orgCardTop{display:flex;justify-content:center;align-items:start;gap:7px}
.orgOpen{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.orgOpen b{font-size:12px;line-height:1.32;overflow-wrap:anywhere}
.orgOpen span{font-size:11px;color:#465369}
.orgOpen small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.orgToggle{border:1px solid #d7e6d7;background:#f4f9f2;border-radius:7px;width:26px;height:26px;flex:0 0 26px;color:#306c35;font-size:18px;font-weight:bold;padding:0}
.orgCard.orgVacant{background:#fff8e6;border-color:#e8bf6d;border-top-color:#d7a125}
.vacantLabel{font-size:10px;font-weight:800;color:#996300;margin-top:8px;background:#fff0bf;padding:5px 7px;border-radius:7px}
.orgKids{position:relative;width:100%;min-width:0;border-top:1px solid #c9dcd1;padding-top:15px;display:grid;grid-template-columns:1fr;gap:12px}
.orgKids:before{content:"";position:absolute;left:50%;top:-11px;height:11px;border-left:2px solid #c9dcd1}
.orgDeptGroup{min-width:0;background:#fbfdfb;border:1px solid #e8f1e9;padding:10px;border-radius:12px}
.orgDeptTitle{font-size:11px;font-weight:850;color:#476a48;margin:0 0 9px;text-align:left}
.orgGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;align-items:start}
.orgGrid>.orgBranch{border-left:1px solid #deebdf;padding-left:5px}
.orgPending{border:1px dashed #d0d8d5;background:#f9fbfa;border-radius:14px;padding:16px 14px}
.orgPending h3{font-size:14px;color:#475467;margin:0 0 5px}
.orgPending h3 small{font-weight:500;color:#98a2b3}
.orgPending p{margin:0 0 14px;color:#718096;font-size:12px}
.orgPendingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;align-items:start}
.orgPendingGrid .orgCard{border-top-color:#aab4b0}
.departmentsSummary{margin-top:16px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:15px}
.departmentsSummary>b{font-size:13px}.deptBadges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.deptBadge{display:flex;flex-direction:column;border:1px solid #e2e9e1;border-radius:10px;padding:9px 11px;font-size:12px;background:#f7faf8}
.deptBadge small{font-size:10px;color:var(--muted);margin-top:4px}
.deptRow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 4px;gap:10px}
.deptRow small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.otherRoles{font-size:11px;color:#397d24;margin-top:9px;background:#f2f9ef;padding:6px;border-radius:6px}
/* Circuitos comerciales y canales de consulta del equipo. */
.workGuide{min-width:0}
.guideNotice{border:1px solid #cfe4c9;border-left:4px solid var(--green);background:#eef6eb;border-radius:12px;padding:16px 18px;margin:16px 0;color:#344f38;font-size:13px;line-height:1.6}
.guideNotice p{margin:6px 0 0}
.workflowGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workflowRoute{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}
.workflowRoute h3,.channelGrid h3{font-size:16px;margin:0 0 8px;color:#344f38}
.routeScope{font-size:12px;color:var(--muted);margin:0 0 20px}
.workflowSteps{margin:0;padding-left:24px;display:grid;gap:18px}
.workflowSteps li{padding-left:5px;font-size:13px;line-height:1.5}
.workflowSteps li::marker{color:var(--dark);font-weight:800}
.workflowSteps span{display:block;margin-top:5px;color:#53645b}
.simpleRoute{margin-top:16px}
.simpleRoute p,.channelGrid p{font-size:13px;line-height:1.6;margin:8px 0 0;color:#53645b}
.channelGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.channelGrid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;min-width:0}
.communicationTable{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.communicationTable table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.6}
.communicationTable caption{text-align:left;padding:15px 18px;font-weight:800;font-size:15px}
.communicationTable th,.communicationTable td{padding:13px 18px;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.communicationTable thead{background:#eef6eb;color:#344f38}
.communicationTable tbody th{font-weight:600;width:39%}
.communicationTable td:nth-child(2){width:23%}
@media(max-width:680px){.workflowGrid,.channelGrid{grid-template-columns:1fr}.workflowRoute{padding:17px}.communicationTable table{min-width:560px}.guideNotice{padding:14px}}
@media(max-width:1050px){.orgTools{justify-content:flex-start}.sectionHeader{flex-direction:column;gap:13px}}
@media(max-width:650px){.orgGrid,.orgPendingGrid,.orgBranch[data-depth="2"] .orgGrid{grid-template-columns:1fr}.orgViewport{padding:10px 8px;max-height:72vh}.orgDeptGroup{padding:7px}.orgCard{width:100%;max-width:none;min-height:80px}.orgTools .secondary{font-size:11px;padding:8px 9px}.orgPending{padding:12px}.toolbar{gap:8px}.toolbar>select{width:calc(50% - 4px);min-width:0}.toolbar #exportFichas{width:100%}}

/* Flujo general por puestos; nombres sincronizados con las fichas. */
.generalWorkflow{list-style:none;counter-reset:workflow;display:grid;gap:14px;margin:0;padding:0}
.generalWorkflow>li{counter-increment:workflow;position:relative;padding-left:66px}
.generalWorkflow>li::before{content:counter(workflow);position:absolute;left:18px;top:20px;width:30px;height:30px;border-radius:50%;background:#eef6eb;color:var(--dark);display:grid;place-items:center;font-weight:800}
.generalWorkflow p{font-size:13px;line-height:1.6;color:#53645b;margin:8px 0 0}
.roleHolder{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.workflowRole{color:#344f38}
@media(max-width:680px){.generalWorkflow>li{padding-left:56px}.generalWorkflow>li::before{left:13px;top:17px}}
