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

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #f6f6f7;
  color: #202223;
}

.container { max-width: 1200px; margin: 0 auto; padding: 20px; }

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #e1e3e5;
  margin-bottom: 24px;
}

header h1 { font-size: 20px; font-weight: 600; }

nav a {
  margin-left: 16px;
  text-decoration: none;
  color: #6d7175;
  font-size: 14px;
}
nav a.active { color: #202223; font-weight: 600; }

.toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.toolbar h2 { font-size: 16px; }

.btn {
  padding: 8px 16px;
  border: 1px solid #babfc3;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
}
.btn-primary {
  background: #008060;
  color: #fff;
  border-color: #008060;
}
.btn-primary:hover { background: #006e52; }
.btn-sm { padding: 4px 10px; font-size: 12px; }

.status-bar {
  padding: 12px;
  border-radius: 4px;
  margin-bottom: 16px;
  font-size: 14px;
}
.status-bar.success { background: #e4e1cf; color: #404205; }
.status-bar.error { background: #fceae8; color: #881f16; }
.status-bar.hidden { display: none; }

.product-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.05);
}
.product-table th {
  text-align: left;
  padding: 12px 16px;
  background: #f9fafb;
  font-size: 13px;
  color: #6d7175;
  border-bottom: 1px solid #e1e3e5;
}
.product-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #e1e3e5;
  font-size: 14px;
}
.product-table tr:last-child td { border-bottom: none; }
.product-table .loading { text-align: center; color: #6d7175; }

.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
}
.badge-ready { background: #c4f3d8; color: #0b6122; }
.badge-pending { background: #fff4c2; color: #7a5e00; }
.badge-incomplete { background: #fceae8; color: #881f16; }
.badge-undetected { background: #e4e5e7; color: #45474a; }

.completion-bar {
  width: 100px;
  height: 6px;
  background: #e1e3e5;
  border-radius: 3px;
  overflow: hidden;
}
.completion-bar-fill {
  height: 100%;
  background: #008060;
  border-radius: 3px;
  transition: width 0.3s;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
