:root {
  --navy: #0f2947;
  --amber: #e8a33d;
  --bg: #f4f6f9;
  --border: #dde3ea;
}
body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; background: var(--bg); color: #1f2937; }

.admin-shell { display: flex; min-height: 100vh; }
.admin-nav { width: 220px; background: var(--navy); color: #fff; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.admin-nav .brand { font-weight: 700; font-size: 1.1rem; margin-bottom: 16px; color: var(--amber); }
.admin-nav a { color: #fff; text-decoration: none; padding: 8px 10px; border-radius: 6px; }
.admin-nav a:hover { background: rgba(255,255,255,0.1); }
.link-btn { background: none; border: none; color: #fff; text-align: left; padding: 8px 10px; cursor: pointer; font-size: 1rem; }

.admin-content { flex: 1; padding: 30px; }

.blank-shell { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.login-box { background: #fff; padding: 40px; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); width: 320px; }
.field { margin-bottom: 14px; display: flex; flex-direction: column; gap: 4px; }
.field input { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; }
button[type=submit], button { background: var(--navy); color: #fff; border: none; padding: 9px 16px; border-radius: 6px; cursor: pointer; }
.error { color: #c0392b; }
.success { color: #1f8a4c; }

.cards { display: flex; gap: 16px; margin-bottom: 24px; }
.card { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 18px 24px; min-width: 140px; }
.card-value { font-size: 1.8rem; font-weight: 700; color: var(--navy); }
.card-label { color: #6b7280; font-size: 0.85rem; }
.card-alert .card-value { color: #c0392b; }

.admin-table { width: 100%; border-collapse: collapse; background: #fff; }
.admin-table th, .admin-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; font-size: 0.9rem; }
.status { padding: 2px 8px; border-radius: 12px; font-size: 0.78rem; background: #eee; }
.status-live { background: #dcf5e3; color: #1f8a4c; }
.status-failed { background: #fbe0dd; color: #c0392b; }
.status-provisioning, .status-pendingprovisioning { background: #fdf1d6; color: #9a6b0e; }
.log-line { font-size: 0.75rem; color: #6b7280; }
.log-fail { color: #c0392b; }
