
:root{
  --bg:#0D1F1C;--bg2:#142A27;--bg3:#1A3532;
  --border:rgba(255,255,255,0.1);--border2:rgba(255,255,255,0.2);
  --text:#e8eaf0;--text2:#8b93b0;--text3:#4a5270;
  --blue:#1D7C6E;--blue2:#145F55;--blue-glow:rgba(29,124,110,.25);
  --green:#00d97e;--green2:#00a85f;--green-dim:#003d1f;
  --amber:#ffb347;--amber-dim:#3d2a00;
  --red:#ff4d6d;--red-dim:#3d0010;
  --purple:#a855f7;
  --radius:12px;--radius2:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
/* URL INPUT ROW */
.url-row{display:flex;gap:10px;flex-wrap:wrap}
.url-input{flex:1;min-width:200px;background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-size:15px;padding:14px 18px;border-radius:var(--radius);outline:none;transition:border-color .2s}
.url-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.url-input::placeholder{color:var(--text3)}
.device-row{display:flex;gap:8px;margin-top:12px}
.device-btn{flex:1;padding:9px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.device-btn.active{background:rgba(59,107,255,.15);border-color:var(--blue);color:var(--blue)}
.check-btn{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:none;padding:14px 28px;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.check-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px var(--blue-glow)}
.check-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* LOADING */
.loading{display:none;text-align:center;padding:40px;color:var(--text2)}
.loading.show{display:block}
.spinner{width:48px;height:48px;border:3px solid var(--border2);border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-steps{font-size:13px;margin-top:8px;min-height:20px}

/* RESULTS */
.results{display:none}
.results.show{display:block}

/* SCORE RING */
.score-section{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2);padding:32px;margin-bottom:20px}
.score-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.score-ring{position:relative;width:140px;height:140px}
.score-ring svg{transform:rotate(-90deg)}
.score-ring circle{transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}
.score-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.score-num .num{font-size:38px;font-weight:800;line-height:1}
.score-num .label{font-size:11px;color:var(--text2);margin-top:2px}
.score-verdict{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px}
.score-info h3{font-size:20px;font-weight:700;margin-bottom:8px}
.score-info p{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:16px}
.score-stat-row{display:flex;gap:12px;flex-wrap:wrap}
.score-stat{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;text-align:center;min-width:80px}
.score-stat .sv{font-size:16px;font-weight:700}
.score-stat .sl{font-size:10px;color:var(--text2);margin-top:2px;text-transform:uppercase;letter-spacing:.06em}

/* METRICS GRID */
.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:20px}
.metric-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2);padding:20px;position:relative;overflow:hidden}
.metric-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px}
.metric-card.good::after{background:var(--green)}
.metric-card.needs-improvement::after{background:var(--amber)}
.metric-card.poor::after{background:var(--red)}
.metric-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.metric-name{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.04em}
.metric-full{font-size:11px;color:var(--text3);margin-top:2px}
.metric-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}
.good .metric-badge{background:rgba(0,217,126,.15);color:var(--green)}
.needs-improvement .metric-badge{background:rgba(255,179,71,.15);color:var(--amber)}
.poor .metric-badge{background:rgba(255,77,109,.15);color:var(--red)}
.metric-value{font-size:28px;font-weight:800;line-height:1;margin-bottom:6px}
.good .metric-value{color:var(--green)}
.needs-improvement .metric-value{color:var(--amber)}
.poor .metric-value{color:var(--red)}
.metric-threshold{font-size:11px;color:var(--text3)}
.metric-bar{height:4px;background:var(--bg3);border-radius:2px;margin-top:10px;overflow:hidden}
.metric-bar-fill{height:100%;border-radius:2px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.good .metric-bar-fill{background:var(--green)}
.needs-improvement .metric-bar-fill{background:var(--amber)}
.poor .metric-bar-fill{background:var(--red)}

/* ISSUES */
.issues-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2);padding:28px;margin-bottom:20px}
.issues-title{font-size:16px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.issue-item{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border)}
.issue-item:last-child{border-bottom:none}
.issue-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:2px}
.issue-icon.crit{background:rgba(255,77,109,.15);color:var(--red)}
.issue-icon.warn{background:rgba(255,179,71,.15);color:var(--amber)}
.issue-icon.info{background:rgba(59,107,255,.15);color:var(--blue)}
.issue-body{}
.issue-title{font-size:13px;font-weight:600;margin-bottom:3px}
.issue-desc{font-size:12px;color:var(--text2);line-height:1.6}
.issue-saving{font-size:11px;font-weight:600;color:var(--green);background:var(--green-dim);padding:2px 8px;border-radius:10px;white-space:nowrap}


.revenue-impact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;margin-bottom:20px}
.impact-box{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}
.impact-num{font-size:22px;font-weight:800;color:var(--red)}
.impact-label{font-size:11px;color:var(--text2);margin-top:3px}

@media(max-width:600px){
  .score-section{grid-template-columns:1fr;text-align:center}
  .score-stat-row{justify-content:center}
  .revenue-impact{grid-template-columns:1fr}
}


