:root { --primary:#0d6efd }
.wizard-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:.75rem;background:#fff;border:1px solid var(--bs-border-color)}
.wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap}
.wizard-step{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:999px;background:#f8f9fa;border:1px solid #e9ecef;font-weight:600;transition:all .2s}
.wizard-step .label{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-step.active{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px rgba(13,110,253,.12)}
.wizard-step .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);opacity:.9}
.nav-tabs .nav-link.disabled{pointer-events:none;opacity:.45}
.tpl-card,.sector-card,.user-card{cursor:pointer;border:1px solid var(--bs-border-color);border-radius:.75rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:#fff}
.tpl-card:hover,.sector-card:hover,.user-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.tpl-card.selected,.sector-card.selected,.user-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(13,110,253,.15)}
.tpl-badges .badge{margin-right:.35rem;margin-bottom:.25rem}
.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.text-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.fade-slide{animation:fadeSlide .22s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.mini-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#6c757d}
.notice{background:#f8faff;border:1px dashed rgba(13,110,253,.3);border-radius:.5rem;padding:.5rem .75rem}
.user-card{padding:.7rem;position:relative}
.user-card .avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.user-card .initial{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:#0d6efd;font-weight:700}
.user-grid{row-gap:.5rem}
.user-card.disabled{opacity:.5;filter:grayscale(.2);border-style:dashed;pointer-events:none}
.user-controls{display:grid;grid-template-columns:1fr 130px;gap:.5rem;align-items:center}
.user-controls .form-range{height:1.75rem}
.user-controls .input-group .form-control{min-width:90px}
.weight-badge{position:absolute;top:.5rem;right:.5rem;background:var(--primary);color:#fff;border-radius:.5rem;padding:.1rem .45rem;font-weight:800;font-size:.92rem;line-height:1;border:1px solid rgba(0,0,0,.06)}
.select-pill{border:1px solid #e9ecef;background:#f8f9fa;border-radius:999px;padding:.2rem .5rem;font-size:.8rem}
.dropzone{border:1px dashed rgba(13,110,253,.4);background:#f8faff;border-radius:.75rem;padding:1rem;text-align:center;transition:all .15s}
.dropzone.dragover{background:#eef4ff}
.dz-icon{font-size:28px;color:var(--primary)}
.file-meta{display:flex;align-items:center;gap:.5rem;justify-content:center}
.k-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--bs-border-color);border-radius:.5rem;overflow:hidden}
.k-table th,.k-table td{padding:.5rem .6rem;border-bottom:1px solid var(--bs-border-color);font-size:.92rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.k-table thead th{background:#f8f9fa}
.exec-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.summary-card{border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.75rem;background:#fff}
.summary-value{font-weight:800;color:#0d6efd}
