:root {
  --az-accent: #2f6fde;
  --az-accent-soft: #e8f0fd;
  --az-bg: #f4f6fa;
  --az-side: #14213d;
  --az-side-text: #c9d3e6;
  --az-side-muted: #7f8db0;
  --bs-primary: var(--az-accent);
  --bs-link-color: var(--az-accent);
}
body { background: var(--az-bg); font-size: 15px; }
.btn-primary { --bs-btn-bg: var(--az-accent); --bs-btn-border-color: var(--az-accent);
  --bs-btn-hover-bg: #2559b8; --bs-btn-hover-border-color: #2559b8; }

.az-layout { display: flex; min-height: 100vh; }
.az-side { width: 248px; flex-shrink: 0; background: var(--az-side); color: var(--az-side-text);
  display: flex; flex-direction: column; padding: 18px 12px; }
.az-brand { color: #fff; font-weight: 700; font-size: 19px; padding: 4px 10px 18px; letter-spacing: .2px; }
.az-brand span { color: #7fb0ff; }
.az-group { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--az-side-muted);
  padding: 14px 10px 6px; }
.az-link { display: block; color: var(--az-side-text); text-decoration: none; padding: 8px 10px;
  border-radius: 8px; margin-bottom: 2px; }
.az-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.az-link.active { background: var(--az-accent); color: #fff; }
.az-link .soon { font-size: 10px; color: var(--az-side-muted); margin-left: 4px; }
.az-link.active .soon { color: #dbe7ff; }
.az-side-foot { margin-top: auto; border-top: 1px solid rgba(255,255,255,.08); padding: 12px 10px 0; font-size: 13px; }

.az-main { flex: 1; min-width: 0; }
.az-top { background: #fff; border-bottom: 1px solid #e3e7ef; padding: 10px 24px; display: flex;
  align-items: center; gap: 12px; }
.az-content { padding: 24px; max-width: 1280px; }
.az-card { background: #fff; border: 1px solid #e3e7ef; border-radius: 12px; padding: 20px; }
.az-muted { color: #6b7590; }
.az-badge-ok { background: #e3f6ec; color: #1f7a4a; }
.az-badge-error { background: #fdeaea; color: #b42323; }
.az-badge-unknown { background: #eef1f6; color: #59637d; }
.az-badge-off { background: #eef1f6; color: #8a93a8; }
.table > :not(caption) > * > * { padding: .65rem .75rem; }
.secret-row { display: flex; gap: 8px; align-items: center; }
.secret-row code { font-size: 13px; word-break: break-all; }
textarea.mono { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }

.az-burger { display: none; }
@media (max-width: 900px) {
  .az-side { position: fixed; inset: 0 auto 0 0; z-index: 1040; transform: translateX(-100%); transition: transform .2s; }
  .az-side.open { transform: none; }
  .az-burger { display: inline-flex; }
  .az-content { padding: 16px; }
  .az-top { padding: 10px 16px; }
}
.az-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px; }
.az-login .az-card { width: 100%; max-width: 400px; padding: 28px; }
