/* dfttk.css — shared with common.css for reset/body */

body {
  background: linear-gradient(135deg, #0f0c29, #302b63, #24243e);
  color: #fff;
}

.container {
  max-width: 95vw;
}

h1 {
  font-size: 2rem;
  margin-bottom: 8px;
  margin-top: 24px;
}

.subtitle {
  color: #888;
  margin-bottom: 24px;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  overflow: hidden;
}

th {
  background: rgba(255, 255, 255, 0.1);
  padding: 12px 16px;
  text-align: center;
  font-weight: 600;
  color: #ddd;
  white-space: nowrap;
}

td {
  padding: 10px 16px;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #ddd;
}

tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

.error {
  color: #e74c3c;
  margin-top: 20px;
}

.is-hidden {
  display: none;
}

.back-top {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 5;
  color: #aaa;
  text-decoration: none;
  font-size: 0.9rem;
}
.back-top:hover {
  color: #fff;
}

.sortable th {
  cursor: pointer;
  user-select: none;
}
.sortable th:hover {
  background: rgba(255, 255, 255, 0.14);
}
.sort-arrow {
  font-size: 0.7rem;
  margin-left: 4px;
  opacity: 0.5;
}
.sort-arrow.active {
  opacity: 1;
}

@media (max-width: 600px) {
  table {
    font-size: 0.8rem;
  }
  th,
  td {
    padding: 8px 12px;
  }
}
