*{box-sizing:border-box}

body{
  margin:0;
  font-family: 'Segoe UI', sans-serif;
  background: radial-gradient(circle at top, #0b1220, #020617);
  color:#e5e7eb;
}

.wrap{
  max-width:1200px;
  margin:auto;
  padding:30px 20px 60px;
}

h2{
  text-align:center;
  font-size:32px;
  color:#38bdf8;
  margin-bottom:25px;
  letter-spacing:1px;
}

textarea, input{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid #1f2937;
  background:#0b1220;
  color:#fff;
  margin-top:12px;
  outline:none;
  transition:.2s;
}

textarea:focus, input:focus{
  border-color:#38bdf8;
  box-shadow:0 0 20px rgba(56,189,248,.2);
}

.btns{
  display:flex;
  gap:12px;
}

button{
  flex:1;
  margin-top:14px;
  padding:13px;
  border:none;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
  font-size:15px;
  transition:.25s;
}

button:hover{
  transform:translateY(-2px);
}

button:first-child{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
}

button.stop{
  background:linear-gradient(135deg,#ef4444,#b91c1c);
  color:#fff;
}

progress{
  width:100%;
  height:12px;
  margin-top:18px;
  border-radius:10px;
  overflow:hidden;
}

.table-wrap{
  margin-top:25px;
  background:#0b1220;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
  min-width:900px;
}

th{
  background:#0f172a;
  color:#38bdf8;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:14px;
}

td{
  padding:12px;
  border-bottom:1px solid #1f2937;
  font-size:14px;
}

tr:hover{
  background:#111827;
}

.bad{color:#f87171;}
.warn{color:#facc15;}
.good{color:#4ade80;}