/* Pipeline de ventas v2 (2026-09-25). Stage colours arrive through CSSOM (--pl-color); no inline styles (CSP). */
.pl-kpis{--pl-line:#e3ecef;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 16px}
.pl-kpis>div{background:#fff;border:1px solid var(--pl-line);border-radius:16px;padding:14px 16px;box-shadow:0 4px 18px -12px rgba(16,40,52,.25);min-width:0}
.pl-kpis small{display:block;font-size:11.5px;font-weight:600;color:#667a86}.pl-kpis strong{display:block;font-size:21px;margin:6px 0 2px;color:#1d2f3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-kpis span{font-size:12px;color:#7b8b95}
.pl-kpis>div.alert{background:#fff7ed;border-color:#f6d3a8}.pl-kpis>div.alert strong{color:#b45309}
.pl-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid #e3ecef;border-radius:16px;padding:10px 12px;margin-bottom:14px}
.pl-select{display:flex;flex-direction:column;gap:2px;font-size:10.5px;font-weight:600;color:#7b8b95;text-transform:uppercase;letter-spacing:.4px}.pl-select select{border:1px solid #e3ecef;border-radius:10px;padding:7px 10px;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;color:#1d2f3d;background:#fff}
.pl-search{flex:1 1 200px;margin:0;min-width:180px}
.pl-chips,.pl-view{display:flex;gap:4px;background:#eef3f4;border-radius:12px;padding:4px}.pl-chips button,.pl-view button{border:0;background:transparent;border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:600;color:#667a86;cursor:pointer}
.pl-chips button.selected,.pl-view button.selected{background:#fff;color:#0f7a67;box-shadow:0 1px 4px rgba(16,40,52,.15)}
.pl-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#4a5d69;cursor:pointer}
.pl-onboarding{display:flex;flex-direction:column;gap:4px;background:#f3faf7;border:1px dashed #9fd3c3;border-radius:14px;padding:14px 16px;margin-bottom:14px;font-size:13.5px;color:#35524a}
.pl-board{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 14px;align-items:flex-start;min-height:420px}
.pl-column{--pl-color:#78cfc2;flex:0 0 250px;background:#f3f6f7;border-radius:16px;display:flex;flex-direction:column;max-height:calc(100vh - 250px);border:1.5px solid transparent;transition:border-color .15s,background .15s}
.pl-column header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 12px 8px;border-top:4px solid var(--pl-color);border-radius:16px 16px 0 0}
.pl-stage{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px;color:#1d2f3d}.pl-stage i{width:9px;height:9px;border-radius:50%;background:var(--pl-color)}
.pl-column header small{display:block;font-size:11.5px;color:#667a86;margin-top:4px}
.pl-column-body{display:flex;flex-direction:column;gap:8px;padding:4px 8px 10px;overflow-y:auto;min-height:80px}
.pl-column.pl-closed{flex-basis:190px;background:#fafbfb}.pl-column.pl-closed.won header{background:#f0faf4}.pl-column.pl-closed.lost header{background:#fdf3f3}
.pl-dropzone,.pl-empty{border:1.5px dashed #cfdde1;border-radius:12px;padding:16px 10px;text-align:center;font-size:12px;color:#8a9aa3}
.pl-board.is-dragging .pl-column{background:#eef5f7}.pl-board.is-dragging .pl-dropzone{border-color:var(--pl-color);color:#35524a}
.pl-column.drag-over{border-color:var(--pl-color);background:#fff}
.pl-card{background:#fff;border:1px solid #e3ecef;border-radius:12px;padding:10px 12px;cursor:pointer;box-shadow:0 1px 2px rgba(16,40,52,.06);transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:5px}
.pl-card:hover{box-shadow:0 6px 16px -8px rgba(16,40,52,.35);transform:translateY(-1px)}.pl-card:focus-visible{outline:2px solid #0f7a67;outline-offset:2px}
.pl-card.dragging{opacity:.45}.pl-card.closed{opacity:.8}
.pl-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pl-card-top strong{font-size:13.5px;line-height:1.35;color:#1d2f3d}
.pl-owner{flex:0 0 26px;height:26px;border-radius:50%;background:#e8f5f1;color:#0f7a67;font-size:10.5px;font-weight:700;display:grid;place-items:center}
.pl-contact{font-size:12px;color:#667a86}.pl-card-value{display:flex;justify-content:space-between;align-items:baseline}.pl-card-value b{font-size:14px;color:#1d2f3d}.pl-card-value span{font-size:11px;color:#8a9aa3}
.pl-due{display:inline-block;max-width:100%;font-size:11.5px;font-weight:600;border-radius:8px;padding:3px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#eef3f4;color:#4a5d69}
.pl-due.overdue{background:#fdecec;color:#b42318}.pl-due.today{background:#fff4e0;color:#a15c00}.pl-due.soon{background:#eaf4ff;color:#1d5fa8}.pl-due.missing{background:#fff7ed;color:#b45309}.pl-due.won{background:#e6f7ee;color:#11683f}.pl-due.lost{background:#fdecec;color:#a02c2c}
.pl-age{font-size:10.5px;color:#9aa7af}
.pl-list{overflow:auto}.pl-list table{width:100%;border-collapse:collapse;font-size:13px}.pl-list th{text-align:left;font-size:11.5px;color:#667a86;font-weight:600;padding:10px 12px;border-bottom:1px solid #e3ecef;white-space:nowrap}
.pl-list td{padding:10px 12px;border-bottom:1px solid #eef3f4;vertical-align:middle}.pl-list tbody tr{cursor:pointer}.pl-list tbody tr:hover{background:#f7fafa}.pl-list .num{text-align:right;white-space:nowrap}
.pl-stage-chip{--pl-color:#78cfc2;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;background:#f3f6f7}.pl-stage-chip i{width:8px;height:8px;border-radius:50%;background:var(--pl-color)}
.pl-muted{color:#8a9aa3;font-size:13px}
.pl-empty-state{text-align:center;padding:40px}
.pl-drawer-backdrop{position:fixed;inset:0;background:rgba(15,30,40,.28);z-index:29;animation:plFade .18s ease-out}
.pipeline-drawer.pl-drawer{width:min(500px,100vw);padding:22px 24px;display:flex;flex-direction:column;gap:14px;animation:plSlide .22s ease-out}
.pl-drawer .pipeline-drawer-head{align-items:flex-start}.pl-drawer .pipeline-drawer-head h2{font-size:20px}.pl-drawer .pipeline-drawer-head small{color:#667a86}
.pl-stepper{display:flex;gap:4px;flex-wrap:wrap}.pl-stepper button{flex:1 1 auto;border:1px solid #e3ecef;background:#fff;border-radius:9px;padding:7px 8px;font-size:12px;font-weight:600;color:#667a86;cursor:pointer}
.pl-stepper button.done{background:#eef7f4;color:#35524a;border-color:#d3ebe3}.pl-stepper button.current{background:#0f7a67;color:#fff;border-color:#0f7a67}.pl-stepper button:disabled{cursor:default;opacity:.7}
.pl-drawer-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pl-section{border-top:1px solid #eef3f4;padding-top:12px}.pl-section h3{font-size:14px;margin:0 0 10px}
.pl-form-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pl-form-foot .form-error{margin:0}
.pl-task{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #eef3f4;font-size:13px}.pl-task.done{color:#8a9aa3;text-decoration:line-through}
.pl-task-form{display:grid;grid-template-columns:1fr 150px auto;gap:8px;margin-top:10px}.pl-task-form input{border:1px solid #e3ecef;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px}.pl-task-form .form-error{grid-column:1/-1;margin:0}
.pl-stage-head{display:grid;grid-template-columns:1fr 130px 120px;gap:8px;font-size:11.5px;color:#667a86;font-weight:600;margin:6px 0}
.pl-stage-edit{display:grid;grid-template-columns:1fr 130px 120px;gap:8px;margin-bottom:8px}.pl-stage-edit input,.pl-stage-edit select{border:1px solid #e3ecef;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px}
@keyframes plSlide{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}@keyframes plFade{from{opacity:0}to{opacity:1}}
@media (max-width:1200px){.pl-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.pl-kpis{grid-template-columns:1fr 1fr}.pl-column{flex-basis:84vw;max-height:none}.pl-task-form{grid-template-columns:1fr}.pl-stage-head{display:none}.pl-stage-edit{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pl-card,.pl-drawer,.pl-drawer-backdrop{animation:none;transition:none}}
/* Stage editor v2 */
.pl-config{display:grid;gap:14px}
.pl-config-block{border:1px solid #e3ecef;border-radius:14px;padding:14px}.pl-config-block header h3{margin:0 0 4px;font-size:15px}.pl-config-block header p{margin:0 0 12px;font-size:13px;color:#667a86;line-height:1.5}
.pl-steps{display:grid;gap:8px}
.pl-step{display:grid;grid-template-columns:28px 34px 1fr auto;gap:10px;align-items:center;background:#f7fafa;border:1px solid #e3ecef;border-radius:12px;padding:10px}
.pl-step-num{width:26px;height:26px;border-radius:50%;background:#0f7a67;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.pl-step input[type=color]{width:32px;height:32px;border:1px solid #e3ecef;border-radius:8px;padding:2px;background:#fff;cursor:pointer}
.pl-step-main{display:grid;gap:6px;min-width:0}.pl-step-main>input{border:1px solid #dbe6e9;border-radius:9px;padding:8px 10px;font:inherit;font-size:14px;font-weight:600;background:#fff}
.pl-prob{display:grid;grid-template-columns:auto 1fr 44px;gap:10px;align-items:center;font-size:12px;color:#667a86}.pl-prob input{accent-color:#0f7a67}.pl-prob b{font-size:13px;color:#1d2f3d;text-align:right}
.pl-step-tools{display:flex;gap:4px}.pl-step-tools .icon-btn{width:30px;height:30px;font-size:14px}.pl-step-tools .icon-btn:disabled{opacity:.3}.pl-danger:hover{color:#b42318}
.pl-add-step{margin-top:10px}
.pl-close-row{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;border-radius:12px;padding:10px;margin-top:8px}.pl-close-row.won{background:#effaf3}.pl-close-row.lost{background:#fdf2f2}
.pl-close-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700}.won .pl-close-icon{background:#3fae6a}.lost .pl-close-icon{background:#d9665f}
.pl-close-row input{border:1px solid #dbe6e9;border-radius:9px;padding:7px 10px;font:inherit;font-size:14px;font-weight:600;background:#fff;width:100%}.pl-close-row small{display:block;font-size:12px;color:#667a86;margin-top:4px}
.pl-config-note{margin:0;font-size:12px;color:#8a9aa3}
@media (max-width:720px){.pl-step{grid-template-columns:26px 1fr}.pl-step input[type=color]{grid-row:1}.pl-step-main{grid-column:1/-1}.pl-step-tools{grid-column:1/-1;justify-content:flex-end}.pl-prob{grid-template-columns:1fr 44px}.pl-prob span{grid-column:1/-1}}
/* v2.2: clearer toolbar, column headers and onboarding */
.pl-toolbar{flex-direction:column;align-items:stretch;gap:10px}.pl-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pl-filters{padding-top:10px;border-top:1px solid #eef3f4}.pl-filter-label{font-size:12.5px;font-weight:600;color:#667a86}
.pl-inline-select{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#4a5d69}.pl-inline-select select{border:1px solid #e3ecef;border-radius:9px;padding:6px 9px;font:inherit;font-size:12.5px;background:#fff}
.pl-toolbar-row .pl-search{flex:1 1 260px}
.pl-prob-chip{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:700;color:#4a5d69;background:#fff;border:1px solid #dbe6e9;border-radius:999px;padding:2px 8px}
.pl-column header{flex-wrap:wrap}
.pl-onboarding{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:linear-gradient(120deg,#f3faf7,#eef6fb)}
.pl-onboarding h3{margin:0 0 8px;font-size:16px;color:#1d2f3d}.pl-onboarding ol{margin:0;padding-left:20px;display:grid;gap:4px;font-size:13.5px;color:#35524a;line-height:1.5}
.pl-onboarding.small{padding:12px 16px}
@media (max-width:720px){.pl-onboarding{flex-direction:column;align-items:flex-start}}
.pl-toolbar .search-field{margin:0!important}.pl-toolbar{padding:12px 14px}
