/* RASP Vault admin interface.
   Bootstrap does the heavy lifting; this adds only what the product needs. */

:root {
  --rv-navy: #0f1e38;
  --rv-blue: #0078d4;
}

body {
  background: #f6f7f9;
  min-height: 100vh;
}

main.rv-main { padding: 1.75rem 0 4rem; }

/* Sign-in and set-password sit alone on the page, without the app chrome. */
.rv-centred {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 2rem 1rem;
}
.rv-card-narrow { width: 100%; max-width: 25rem; }

.rv-page-title { font-weight: 600; letter-spacing: -0.01em; }

/* Figures line up in columns; proportional digits make them hard to compare. */
.rv-num { font-variant-numeric: tabular-nums; }

.rv-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.85em;
}

/* A wide table scrolls inside its own container rather than the page. */
.rv-scroll { overflow-x: auto; }

.rv-stat { border-left: 3px solid var(--rv-blue); }
.rv-stat .rv-stat-value { font-size: 1.75rem; font-weight: 600; line-height: 1.1; }
.rv-stat .rv-stat-label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; }

/* A secret is shown once. The styling should make that feel deliberate. */
.rv-secret {
  word-break: break-all;
  background: #fff8e1;
  border: 1px solid #ffe08a;
}

/* Log severity reads at a glance without depending on colour alone. */
.rv-log-error { border-left: 3px solid #dc3545; }
.rv-log-warn  { border-left: 3px solid #fd7e14; }
.rv-log-info  { border-left: 3px solid #6c757d; }
.rv-log-debug { border-left: 3px solid #adb5bd; }

.rv-empty { color: #6c757d; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
