*{box-sizing:border-box}
body{
  margin:0;
  background:#ffffff;
  color:#e5e7eb;
  font-family:Arial,sans-serif;
}
.shell{
  max-width:1180px;
  margin:auto;
  padding:8px 24px 24px;
}
.card,.top-card{
  background:linear-gradient(135deg,#061226,#020817);
  border:1px solid #1e293b;
  border-radius:8px;
  box-shadow:0 4px 18px rgba(15,23,42,.18);
  margin-bottom:12px;
}
.top-card{padding:18px 22px}
.brand{display:flex;align-items:center;gap:16px}
.brand img{width:54px;height:54px;object-fit:contain;border-radius:4px}
.brand h1{margin:0;font-size:26px;color:#fff}
.brand p{margin:6px 0 0;color:#cbd5e1;font-size:14px}
.scan-card{padding:22px}
.scan-card h2,.card h2{margin:0 0 16px;color:#fff;font-size:22px}
.scan-row{display:flex;gap:22px}
.scan-row input{
  flex:1;
  padding:14px 16px;
  border-radius:6px;
  border:1px solid #334155;
  background:#020617;
  color:#fff;
  font-size:16px;
}
.scan-row button{
  width:230px;
  border:0;
  border-radius:6px;
  background:#0969ff;
  color:white;
  font-weight:800;
  cursor:pointer;
}
#status{margin-top:12px;color:#60a5fa}
.progress{display:none;margin-top:14px;background:#1e293b;border-radius:999px;height:10px;overflow:hidden}
.progress div{height:100%;width:0;background:#0969ff;transition:.4s}
.mosca-card{padding:22px}
.info{background:#1e293b;border-radius:8px;padding:14px;line-height:1.6;color:#cbd5e1}
.info b{color:#22d3ee}
.mosca-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mosca-grid label{display:flex;flex-direction:column;gap:8px;color:#e5e7eb}
.mosca-grid span{color:#22d3ee;font-weight:800}
.mosca-grid input{accent-color:#22d3ee}
.mosca-result{margin-top:16px;padding:14px;text-align:center;border-radius:8px;border:1px solid rgba(239,68,68,.45);background:rgba(239,68,68,.12);color:#ef4444;font-weight:800}
.safe{border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.12);color:#60a5fa}
.result{display:none}
.result.show{display:block}
.score-card{padding:22px}
.score-layout{display:grid;grid-template-columns:330px 1fr;gap:32px;align-items:center}
.score{font-size:42px;font-weight:900;color:#fff}
.score.red{color:#ff3b3b}
.readiness{font-size:13px;color:#94a3b8;margin-top:4px}
.scorebar{height:16px;background:#1e293b;border-radius:999px;overflow:hidden}
.scorebar div{height:100%;width:0;background:#0969ff;transition:.5s}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.metric{background:#020817;border:1px solid #334155;border-radius:6px;padding:18px}
.metric span{display:block;color:#cbd5e1;font-size:12px;text-transform:uppercase;margin-bottom:10px}
.metric b{font-size:22px}
.red{color:#ff3b3b}.yellow{color:#facc15}.blue{color:#60a5fa}
.hndl-card{display:flex;gap:22px;align-items:center;padding:22px}
.hndl-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #7f1d1d;color:#ff3b3b;font-size:28px}
#hndlText{font-size:22px;font-weight:900;line-height:1.35;margin:0;color:#ff3b3b}
.two-col{display:grid;grid-template-columns:1fr 1.6fr;gap:12px}
.two-col .card{padding:20px}
.rec-item{display:grid;grid-template-columns:36px 78px 1fr 20px;gap:10px;align-items:center;border:1px solid #334155;border-radius:6px;padding:10px;margin-bottom:8px}
.rec-icon{font-size:20px}
.badge{display:inline-block;text-align:center;padding:5px 8px;border-radius:5px;font-size:12px;font-weight:900}
.urgent{background:#991b1b;color:#fff}.high{background:#92400e;color:#fff}.medium{background:#854d0e;color:#fff}.low{background:#1d4ed8;color:#fff}
.cert-table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;border:1px solid #334155;border-radius:6px;overflow:hidden}
th,td{padding:12px;border-bottom:1px solid #1e293b;text-align:left;font-size:14px}
th{color:#cbd5e1;text-transform:uppercase;font-size:12px}
.risk-badge{padding:6px 10px;border-radius:6px;font-weight:900;background:#991b1b;color:white;font-size:12px}
.report-card{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:28px;align-items:center;padding:18px 22px}
.report-card p{margin:0;color:#cbd5e1;line-height:1.5}
.price{border-left:1px solid #334155;border-right:1px solid #334155;padding:0 28px}
.price b{display:block;font-size:26px;color:#fff}
.price span{color:#cbd5e1;font-size:14px}
.report-action a{display:block;text-align:center;text-decoration:none;padding:13px;border-radius:6px;background:#0969ff;color:#fff;font-weight:900}
.report-action small{display:block;text-align:center;margin-top:8px;color:#38bdf8}
.reminder-card{display:flex;gap:18px;align-items:center;padding:18px 22px}
.shield{width:52px;height:52px;border-radius:50%;background:#0b3a8f;display:flex;align-items:center;justify-content:center;font-size:24px}
.reminder-card p{margin:0;color:#e5e7eb;line-height:1.45}
.debug{color:#111;margin-top:14px}
.debug pre{background:#111827;color:#e5e7eb;padding:14px;border-radius:8px;white-space:pre-wrap}
@media(max-width:800px){
  .scan-row,.score-layout,.two-col,.report-card{grid-template-columns:1fr;display:grid}
  .scan-row button{width:100%}
  .metric-grid,.mosca-grid{grid-template-columns:1fr}
}
