*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  background:#0f1115;
  color:#ffffff;
  font-family:Arial, Helvetica, sans-serif;
}

.app{
  width:95%;
  max-width:1500px;
  margin:auto;
  padding:40px 0;
}

.topbar{
  margin-bottom:30px;
}

.topbar h1{
  font-size:42px;
  margin-bottom:8px;
}

.topbar p{
  opacity:.7;
}

.upload-section{
  margin-bottom:30px;
}

.upload-card{
  background:#1a1f29;
  border:1px solid #2d3444;
  padding:25px;
  border-radius:18px;
}

.upload-card h2{
  margin-bottom:15px;
}

.helper{
  opacity:.7;
  margin-bottom:10px;
}

pre{
  background:#11151d;
  padding:15px;
  border-radius:12px;
  margin-bottom:20px;
  overflow:auto;
  color:#b0f900;
}

input[type=file]{
  background:#2a3140;
  color:#fff;
  border:none;
  padding:14px;
  border-radius:10px;
  width:100%;
}

.table-wrapper{
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
  background:#1a1f29;
  border-radius:18px;
  overflow:hidden;
}

thead{
  background:#232b38;
}

th{
  text-align:left;
  padding:18px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.5px;
}

td{
  padding:18px;
  border-top:1px solid #2d3444;
  vertical-align:top;
}

.message-cell{
  min-width:400px;
  line-height:1.5;
  opacity:.9;
}

button{
  background:#b0f900;
  color:#000;
  border:none;
  padding:12px 18px;
  border-radius:10px;
  cursor:pointer;
  font-weight:bold;
  transition:.2s ease;
}

button:hover{
  transform:translateY(-2px);
}

.empty-state{
  text-align:center;
  padding:40px;
  opacity:.6;
}