body {
  font-family: Arial, sans-serif;
  margin: 20px;
  background: #f9f9f9;
  color: #333;
}

h1 {
  color: #222;
  margin-bottom: 20px;
}

nav a {
  margin-right: 10px;
  text-decoration: none;
  color: #007bff;
}
nav a:hover {
  text-decoration: underline;
}

form {
  margin: 10px 0;
}

input, select, button {
  padding: 6px 10px;
  margin: 3px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

button {
  background: #007bff;
  color: #fff;
  border: none;
  cursor: pointer;
}
button:hover {
  background: #0056b3;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
  background: #fff;
}
table th, table td {
  border: 1px solid #ddd;
  padding: 8px;
}
table th {
  background: #f1f1f1;
}

.ok {
  color: green;
}
.err {
  color: red;
}

.pagination {
  margin-top: 15px;
  text-align: center;
}
.pagination a, .pagination span {
  display: inline-block;
  padding: 5px 10px;
  margin: 0 3px;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-decoration: none;
  color: #007bff;
}
.pagination a:hover {
  background: #f0f0f0;
}
.pagination .current {
  background: #007bff;
  color: #fff;
  font-weight: bold;
}

.status.active   { color:#fff; background:green; padding:2px 6px; border-radius:4px; }
.status.issued   { color:#000; background:orange; padding:2px 6px; border-radius:4px; }
.status.expired  { color:#fff; background:red; padding:2px 6px; border-radius:4px; }
.status.revoked  { color:#fff; background:gray; padding:2px 6px; border-radius:4px; }
