.cl-tool{background:var(--bg-white);border:1.5px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 8px 40px #16234017;margin-top:12px}.cl-steps{display:flex;align-items:center;gap:0;margin-bottom:28px;flex-wrap:wrap;gap:4px}.cl-step{display:flex;align-items:center;gap:8px}.cl-step__num{width:26px;height:26px;border-radius:50%;background:var(--bg-card-subtle);border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:var(--text-secondary);flex-shrink:0}.cl-step--active .cl-step__num{background:var(--green);border-color:var(--green);color:var(--bg)}.cl-step--done .cl-step__num{background:#4db84e26;border-color:var(--green);color:var(--green)}.cl-step__label{font-size:.78rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.cl-step--active .cl-step__label{color:var(--text-primary)}.cl-step--done .cl-step__label{color:var(--text-secondary)}.cl-step-line{flex:1;height:1.5px;background:var(--border);min-width:20px}@media(max-width:560px){.cl-steps{gap:10px 16px}.cl-step-line,.cl-step__label{display:none}.cl-step--active .cl-step__label{display:inline}}.cl-intro{font-size:.9rem;color:var(--text-secondary);margin-bottom:18px}.cl-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:600px){.cl-category-grid{grid-template-columns:repeat(2,1fr)}}.cl-cat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 12px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg-card-subtle);cursor:pointer;transition:border-color .2s,background .2s,transform .15s;color:var(--text-primary)}.cl-cat-btn:hover{border-color:var(--border-hover);transform:translateY(-2px)}.cl-cat-btn--selected{border-color:var(--green);background:#4db84e14}.cl-cat-icon{font-size:1.6rem}.cl-cat-name{font-size:.78rem;font-weight:700;text-align:center}.cl-progress-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}.cl-progress-row span{font-size:.78rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.cl-progress-bar{flex:1;height:6px;background:var(--bg-card-subtle);border-radius:4px;overflow:hidden}.cl-progress-fill{height:100%;background:var(--green);transition:width .3s ease;width:0%}.cl-group{margin-bottom:32px}.cl-group-title{font-size:.85rem;font-weight:800;color:var(--text-primary);margin-bottom:14px;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1.5px solid var(--border)}.cl-group-title span{font-size:1.1rem}.cl-item{border:1.5px solid var(--border);border-radius:14px;margin-bottom:10px;background:var(--bg-card-subtle);overflow:hidden;transition:border-color .2s,box-shadow .2s}.cl-item:hover{box-shadow:0 2px 12px #16234012}.cl-item--yes{border-color:#4db84e80;box-shadow:0 0 0 1px #4db84e26}.cl-item--no{border-color:#ff6b6b80;box-shadow:0 0 0 1px #ff6b6b1a}.cl-item--unsure{border-color:#ffc10780;box-shadow:0 0 0 1px #ffc1071a}.cl-item-body{padding:16px 18px 12px}.cl-item-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cl-sev-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cl-sev-pill:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.cl-sev-pill--critical{background:#ff4d4d1f;color:#ff4d4d}.cl-sev-pill--critical:before{background:#ff4d4d}.cl-sev-pill--high{background:#ff8c001f;color:#ff8c00}.cl-sev-pill--high:before{background:#ff8c00}.cl-sev-pill--medium{background:#c8a0001f;color:#c8a000}.cl-sev-pill--medium:before{background:#c8a000}.cl-sev-pill--low{background:#7878781a;color:var(--text-muted)}.cl-sev-pill--low:before{background:var(--text-muted)}.cl-item-link{font-size:.75rem;font-weight:700;color:var(--green-dark);text-decoration:none;opacity:.8}.cl-item-link:hover{opacity:1;text-decoration:underline}.cl-item-text{font-size:.88rem;font-weight:500;color:var(--text-primary);line-height:1.6;margin:0}.cl-answers{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1.5px solid var(--border)}.cl-ans{padding:11px 8px;border:none;border-right:1.5px solid var(--border);background:transparent;cursor:pointer;font-family:var(--font-main);font-size:.8rem;font-weight:700;color:var(--text-muted);transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;gap:5px}.cl-ans:last-child{border-right:none}.cl-ans:hover{background:var(--bg-card);color:var(--text-primary)}.cl-ans--yes.active{background:#4db84e21;color:#4db84e}.cl-ans--no.active{background:#ff6b6b21;color:#e05555}.cl-ans--unsure.active{background:#ffc10721;color:#c8a000}.cl-ans-icon{font-size:.9rem}.cl-result-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:28px}.cl-score-circle{width:140px;height:140px;border-radius:50%;border:5px solid var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.cl-score-pct{font-size:2.6rem;font-weight:800;color:var(--text-primary);line-height:1}.cl-score-sub{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.cl-risk-badge{display:inline-block;padding:7px 22px;border-radius:20px;font-size:.88rem;font-weight:800;letter-spacing:.04em}.cl-risk-badge--low{background:#4db84e26;color:#4db84e}.cl-risk-badge--medium{background:#ffc10726;color:#c8a000}.cl-risk-badge--high{background:#ff8c0026;color:#ff8c00}.cl-risk-badge--critical{background:#ff4d4d26;color:#ff4d4d}.cl-risk-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.6;max-width:460px;margin:0}.cl-gaps-title{font-size:.85rem;font-weight:800;color:var(--text-primary);margin-bottom:12px}.cl-gap-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;border:1.5px solid rgba(255,107,107,.25);background:#ff6b6b0a;margin-bottom:8px;font-size:.84rem;color:var(--text-secondary);line-height:1.5}.cl-gap-sev{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-top:2px}.cl-gap-sev--critical{color:#ff4d4d}.cl-gap-sev--high{color:#ff8c00}.cl-gap-sev--medium{color:#c8a000}.cl-all-good{font-size:.9rem;color:#4db84e;font-weight:700;padding:16px;background:#4db84e12;border-radius:10px;text-align:center}
