:root{
  --cas-bg:#ffffff;
  --cas-text:#0f1724;
  --cas-muted:#6b7280;
  --cas-accent:#0b8b83;
  --cas-accent-2:#073845;
  --cas-card:#fbfeff;
}

.cas-wrapper{max-width:980px;margin:28px auto;padding:28px;background:var(--cas-bg);box-shadow:0 10px 30px rgba(11,139,131,0.06);border-radius:16px;font-family:Inter,system-ui,Segoe UI,Roboto,Arial}
.cas-header{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.cas-title{margin:0;font-size:22px;color:var(--cas-accent-2);font-weight:700}
.cas-sub{margin:0;color:var(--cas-muted);font-size:14px}
.cas-input-group{display:flex;gap:10px;margin-top:10px}
.cas-form input[type="url"]{flex:1;padding:12px 14px;border:1px solid #e6eef0;border-radius:10px;font-size:14px}
.btn-primary{background:var(--cas-accent);color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:700}
.cas-loading{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(90deg,#ffffff,#f6fdfc);border-radius:12px;margin-top:14px;border:1px solid #edf8f7}
.spinner{width:28px;height:28px;border-radius:50%;border:4px solid #e6f6f4;border-top-color:var(--cas-accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cas-score-card{display:flex;gap:18px;align-items:center;padding:18px;background:var(--cas-card);border-radius:12px;margin-top:16px}
.circular-chart{width:108px;height:108px}
.circle-bg{fill:none;stroke:#e6f9f7;stroke-width:3}
.circle{fill:none;stroke:var(--cas-accent);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray 800ms ease}
.percentage{font-size:15px;fill:var(--cas-text);text-anchor:middle;font-weight:800}
.cas-score-right h3{margin:0 0 8px 0;font-size:18px}
.cas-checklist{margin:0;padding-left:18px;color:var(--cas-text)}

.cas-report{margin-top:18px;background:#ffffff;border-radius:12px;padding:18px;border:1px solid #eef7f6}
.report-row{display:grid;grid-template-columns:1fr 2fr;gap:18px;align-items:start}
.report-metrics{background:#fbfeff;padding:12px;border-radius:10px;border:1px solid #f1fbfa}
.metric{display:flex;justify-content:space-between;padding:8px 6px;border-bottom:1px dashed #eef7f6}
.metric:last-child{border-bottom:0}
.report-suggestions{padding:12px}
.suggestion{background:#f7fffd;border-left:4px solid var(--cas-accent);padding:10px;border-radius:8px;margin-bottom:10px}

@media(max-width:720px){.report-row{grid-template-columns:1fr}}