/* Saaj Contractor Website Grader - scoped styles (dark theme) */
.saaj-wg{--wg-orange:#ff6824;--wg-orange-d:#ff8247;--wg-ink:#111318;--wg-bg:#0d1523;--wg-card:#131d2e;--wg-card2:#18253a;--wg-text:#e8edf5;--wg-muted:#a9b4c5;--wg-line:#2a3a54;--wg-pass:#34d399;--wg-warn:#fbbf24;--wg-fail:#f87171;--wg-unk:#94a3b8;--wg-radius:14px;
  max-width:880px;margin:0 auto;color:var(--wg-text);font-size:16px;line-height:1.55;text-align:left}
.saaj-wg *,.saaj-wg *::before,.saaj-wg *::after{box-sizing:border-box}
.saaj-wg__card{background:var(--wg-card);border:1px solid var(--wg-line);border-radius:var(--wg-radius);padding:20px;margin:0 0 20px;box-shadow:0 10px 30px rgba(0,0,0,.35);color:var(--wg-text)}
.saaj-wg__card:focus,.saaj-wg__full:focus{outline:none}
.saaj-wg__step{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:700;font-size:18px;color:#fff}
.saaj-wg__num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--wg-orange);color:var(--wg-ink);font-size:14px;flex:0 0 28px}
.saaj-wg__label{display:block;font-weight:600;color:#fff;margin:14px 0 6px;font-size:15px;padding:0}
.saaj-wg__opt{font-weight:400;color:var(--wg-muted)}
.saaj-wg__req{font-weight:400;color:var(--wg-orange-d)}
.saaj-wg .saaj-wg__input{display:block;width:100%;min-height:48px;padding:10px 14px;font-size:16px;line-height:1.4;color:var(--wg-text);background:var(--wg-bg);border:1.5px solid var(--wg-line);border-radius:10px;margin:0;box-shadow:none;font-family:inherit}
.saaj-wg select.saaj-wg__input{appearance:auto}
.saaj-wg textarea.saaj-wg__textarea{min-height:88px;resize:vertical}
.saaj-wg .saaj-wg__input::placeholder{color:#7d8aa0;opacity:1}
.saaj-wg .saaj-wg__input:focus{border-color:var(--wg-orange);outline:3px solid rgba(255,104,36,.35);outline-offset:1px}
.saaj-wg .saaj-wg__input[aria-invalid="true"]{border-color:var(--wg-fail)}
.saaj-wg__row{display:grid;grid-template-columns:1fr;gap:0 16px}
.saaj-wg__hint{margin:10px 0 0;font-size:14px;color:var(--wg-muted)}
.saaj-wg a{color:var(--wg-orange-d);text-decoration:underline}
.saaj-wg .saaj-wg__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:10px;font-size:16px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .15s,border-color .15s,color .15s;text-align:center;white-space:nowrap;letter-spacing:0;text-transform:none;box-shadow:none;font-family:inherit}
/* Dark text on orange: #111318 on #ff6824 = 7.0:1 contrast. */
.saaj-wg .saaj-wg__btn--primary{background:var(--wg-orange);color:var(--wg-ink);border-color:var(--wg-orange)}
.saaj-wg .saaj-wg__btn--primary:hover,.saaj-wg .saaj-wg__btn--primary:focus{background:var(--wg-orange-d);border-color:var(--wg-orange-d);color:var(--wg-ink)}
.saaj-wg .saaj-wg__btn--ghost{background:transparent;color:#fff;border-color:#5b6b85}
.saaj-wg .saaj-wg__btn--ghost:hover,.saaj-wg .saaj-wg__btn--ghost:focus{background:#fff;border-color:#fff;color:var(--wg-ink)}
.saaj-wg .saaj-wg__btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.saaj-wg .saaj-wg__btn[disabled]{opacity:.7;cursor:progress}
.saaj-wg__btn--block{width:100%;margin-top:18px}
.saaj-wg__spin{width:18px;height:18px;border:3px solid rgba(17,19,24,.3);border-top-color:var(--wg-ink);border-radius:50%;animation:saaj-wg-spin .8s linear infinite}
@keyframes saaj-wg-spin{to{transform:rotate(360deg)}}
.saaj-wg__status{margin-top:10px;font-size:15px;min-height:1px;color:var(--wg-muted)}
.saaj-wg__status.is-error{color:var(--wg-fail);font-weight:600}
.saaj-wg__status.is-ok{color:var(--wg-pass);font-weight:600}
.saaj-wg__summary{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.saaj-wg__ring{position:relative;width:180px;height:180px;flex:0 0 180px;--wg-c:var(--wg-orange)}
.saaj-wg__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.saaj-wg__ringbg{fill:none;stroke:#23324a;stroke-width:10}
.saaj-wg__ringfg{fill:none;stroke:var(--wg-c);stroke-width:10;stroke-linecap:round;transition:stroke-dasharray 1s ease-out}
.saaj-wg__ringtext{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:62px;gap:2px}
.saaj-wg__score{font-size:48px;font-weight:800;line-height:1;color:#fff}
.saaj-wg__outof{font-size:16px;color:var(--wg-muted)}
.saaj-wg__grade{position:absolute;right:-4px;bottom:6px;width:52px;height:52px;border-radius:50%;background:var(--wg-c);color:var(--wg-ink);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;border:4px solid var(--wg-card)}
.saaj-wg__ring.is-a,.saaj-wg__ring.is-b{--wg-c:var(--wg-pass)}
.saaj-wg__ring.is-c,.saaj-wg__ring.is-d{--wg-c:var(--wg-warn)}
.saaj-wg__ring.is-f{--wg-c:var(--wg-fail)}
.saaj-wg__verdict{margin:0 0 4px;font-size:20px;font-weight:700;color:#fff}
.saaj-wg__site{margin:0 0 10px;color:var(--wg-muted);font-size:15px;word-break:break-all}
.saaj-wg__counts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.saaj-wg__counts li{margin:0;padding:4px 10px;border-radius:999px;background:var(--wg-card2);border:1px solid var(--wg-line);font-size:14px}
.saaj-wg__dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
.saaj-wg__dot.is-pass{background:var(--wg-pass)}.saaj-wg__dot.is-fix{background:var(--wg-orange)}
.saaj-wg .saaj-wg__h{margin:24px 0 10px;font-size:19px;font-weight:700;color:#fff;line-height:1.3;text-transform:none;letter-spacing:0}
.saaj-wg__issues{margin:0;padding:0;list-style:none;counter-reset:wgfix}
.saaj-wg__issue{counter-increment:wgfix;position:relative;margin:0 0 10px;padding:14px 14px 14px 54px;background:var(--wg-card2);border:1px solid var(--wg-line);border-radius:10px}
.saaj-wg__issue::before{content:counter(wgfix);position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;background:#2a3a54;color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.saaj-wg__issue.is-top{border-color:#6b3a22}
.saaj-wg__issue.is-top::before{background:var(--wg-orange);color:var(--wg-ink)}
.saaj-wg__issuetop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.saaj-wg__issuename{font-weight:700;color:#fff;font-size:16px}
.saaj-wg__tags{display:flex;gap:6px;flex-wrap:wrap}
.saaj-wg__benefit{margin:4px 0 0;font-size:15px;color:var(--wg-muted)}
.saaj-wg__canfix{flex:0 0 auto;font-size:12px;font-weight:800;padding:3px 8px;border-radius:6px;background:rgba(255,104,36,.14);color:var(--wg-orange-d);border:1px solid rgba(255,104,36,.45)}
.saaj-wg__canfix::before{content:"\2713 ";}
.saaj-wg__passes{margin:16px 0 0;border:1px solid var(--wg-line);border-radius:10px;background:var(--wg-card2)}
.saaj-wg__passes summary{cursor:pointer;padding:12px 14px;font-weight:700;color:#fff;min-height:44px}
.saaj-wg__passes summary:focus-visible{outline:3px solid rgba(255,104,36,.5)}
.saaj-wg__passlist{list-style:none;margin:0;padding:0 14px 12px}
.saaj-wg__passlist li{margin:0;padding:6px 0;border-top:1px solid var(--wg-line);color:var(--wg-text);font-size:15px}
.saaj-wg__passlist li::before{content:"\2713";color:var(--wg-pass);font-weight:800;margin-right:8px}
.saaj-wg__unscanned{text-align:center;padding:10px 0 0}
.saaj-wg__allgood{margin:0;padding:14px;background:var(--wg-card2);border:1px solid var(--wg-line);border-radius:10px;color:var(--wg-text)}
.saaj-wg__gate{position:relative;margin-top:22px;border:1px solid #4a2f22;border-top:4px solid var(--wg-orange);border-radius:12px;background:var(--wg-bg)}
.saaj-wg__gateform{padding:18px}
.saaj-wg__gatetitle{margin:0 0 4px;font-size:19px;line-height:1.35;font-weight:700;color:#fff}
.saaj-wg__gatetext{margin:0;color:var(--wg-muted);font-size:15px}
.saaj-wg__consent{margin:8px 0 0;font-size:13px;color:var(--wg-muted);text-align:center}
.saaj-wg__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.saaj-wg__sent{padding:22px 18px;text-align:center}
.saaj-wg__sent:focus{outline:none}
.saaj-wg__senttitle{margin:0;font-size:19px;font-weight:700;color:var(--wg-pass)}
.saaj-wg__senttitle::before{content:"\2713";margin-right:8px}
.saaj-wg__senttext{margin:0;color:var(--wg-muted);font-size:15px}
.saaj-wg__badge{flex:0 0 auto;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:6px;color:var(--wg-ink)}
.saaj-wg__badge.is-warn{background:var(--wg-warn)}.saaj-wg__badge.is-fail{background:var(--wg-fail)}
.saaj-wg__cta{margin-top:22px;background:linear-gradient(135deg,#1c2536,#231a16);border:1px solid #4a2f22;border-left:5px solid var(--wg-orange);border-radius:12px;padding:18px}
.saaj-wg__ctatitle{margin:0 0 6px;font-weight:700;font-size:19px;color:#fff}
.saaj-wg__ctatext{margin:0;color:var(--wg-text)}
.saaj-wg__btnrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.saaj-wg__btnrow .saaj-wg__btn{flex:1 1 auto}
.saaj-wg__again{text-align:center;margin:16px 0 0}
.saaj-wg .saaj-wg__link{background:none;border:0;padding:6px;color:var(--wg-muted);text-decoration:underline;cursor:pointer;font-size:15px;font-family:inherit;text-transform:none;letter-spacing:0;min-height:0;box-shadow:none}
.saaj-wg .saaj-wg__link:hover,.saaj-wg .saaj-wg__link:focus{color:#fff;background:none}
@media (min-width:720px){
  .saaj-wg__gateform{padding:24px}
  .saaj-wg__card{padding:28px}
  .saaj-wg__row{grid-template-columns:1fr 1fr}
  .saaj-wg__summary{flex-direction:row;text-align:left;gap:28px}
  .saaj-wg__counts{justify-content:flex-start}
}
@media (max-width:380px){.saaj-wg .saaj-wg__btn{white-space:normal}}
@media (prefers-reduced-motion:reduce){.saaj-wg *{transition:none!important;animation:none!important}}
