/**
 * Shared Ram Dashboard theme — matches homepage, plugins, and bday pages.
 */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&display=swap');

:root {
  --ram-bg: #03020a;
  --ram-bg-alt: #0d0d0d;
  --ram-surface: rgba(0, 0, 0, 0.5);
  --ram-surface-solid: rgba(12, 9, 24, 0.85);
  --ram-border: rgba(255, 255, 255, 0.12);
  --ram-text: #ffffff;
  --ram-text-soft: #f8fbff;
  --ram-muted: rgba(255, 255, 255, 0.75);
  --ram-accent: #ff6ec7;
  --ram-accent-hover: #e45eb5;
  --ram-accent-secondary: #9bf1ff;
  --ram-glow: 0 0 10px rgba(255, 110, 199, 0.2);
  --ram-glow-strong: 0 0 20px rgba(255, 110, 199, 0.35);
}

/* Page shell */
body.ram-theme,
body.docs-shell,
body.admin-shell {
  font-family: 'Sora', 'Segoe UI', sans-serif;
  color: var(--ram-text) !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 110, 199, 0.18), transparent 35%),
    radial-gradient(circle at 80% 0%, rgba(155, 241, 255, 0.2), transparent 45%),
    var(--ram-bg);
  min-height: 100vh;
}

body.ram-theme h1,
body.ram-theme h2,
body.docs-shell h1,
body.docs-shell h2,
body.admin-shell h1,
body.admin-shell h2 {
  color: var(--ram-accent);
  font-weight: 700;
}

body.ram-theme h3,
body.ram-theme h4,
body.ram-theme h5,
body.docs-shell h3,
body.docs-shell h4,
body.docs-shell h5,
body.admin-shell h3,
body.admin-shell h4,
body.admin-shell h5 {
  color: var(--ram-accent);
  font-weight: 600;
}

body.ram-theme p,
body.ram-theme li,
body.ram-theme label,
body.ram-theme td,
body.ram-theme th,
body.docs-shell p,
body.docs-shell li,
body.docs-shell label,
body.docs-shell td,
body.docs-shell th,
body.admin-shell p,
body.admin-shell li,
body.admin-shell label,
body.admin-shell td,
body.admin-shell th {
  color: var(--ram-text);
}

body.ram-theme .text-muted,
body.docs-shell .text-muted,
body.admin-shell .text-muted {
  color: var(--ram-muted) !important;
}

/* Glass card — same as plugins .card2 */
.ram-glass,
.card2,
.docs-glass,
.admin-card {
  background: var(--ram-surface);
  border-radius: 15px;
  color: var(--ram-text);
  box-shadow: var(--ram-glow);
  border: 1px solid rgba(255, 110, 199, 0.12);
}

.ram-glass {
  padding: 2rem;
}

/* Smaller cards / tiles */
.ram-card,
.docs-card {
  background: var(--ram-surface);
  border-radius: 15px;
  padding: 1.35rem;
  height: 100%;
  color: var(--ram-text);
  box-shadow: var(--ram-glow);
  border: 1px solid rgba(255, 110, 199, 0.1);
  transition: box-shadow 0.2s, transform 0.2s;
}

.ram-card:hover,
.docs-card:hover {
  box-shadow: var(--ram-glow-strong);
  transform: translateY(-2px);
}

.ram-card h5 a,
.docs-card h5 a {
  color: var(--ram-text) !important;
  text-decoration: none !important;
}

.ram-card h5 a:hover,
.docs-card h5 a:hover {
  color: var(--ram-accent) !important;
}

.ram-eyebrow,
.docs-eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f6c9e6;
  margin-bottom: 0.5rem;
}

/* Buttons — plugins / bday style */
body.ram-theme .btn-primary,
body.docs-shell .btn-primary,
body.admin-shell .btn-primary {
  background-color: var(--ram-accent);
  border-color: var(--ram-accent);
  color: #fff;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.5rem 1.25rem;
}

body.ram-theme .btn-primary:hover,
body.docs-shell .btn-primary:hover,
body.admin-shell .btn-primary:hover {
  background-color: var(--ram-accent-hover);
  border-color: var(--ram-accent-hover);
  color: #fff;
}

body.ram-theme .btn-outline-light,
body.docs-shell .btn-outline-light,
body.admin-shell .btn-outline-light {
  border-color: var(--ram-border);
  color: var(--ram-text);
  border-radius: 999px;
}

body.ram-theme .btn-outline-light:hover,
body.docs-shell .btn-outline-light:hover {
  background: rgba(255, 110, 199, 0.15);
  border-color: var(--ram-accent);
  color: #fff;
}

/* Forms */
body.ram-theme .form-control,
body.ram-theme .form-select,
body.docs-shell .form-control,
body.docs-shell .form-select,
body.admin-shell .form-control,
body.admin-shell .form-select {
  background: #1a1a1a !important;
  border: 1px solid var(--ram-accent) !important;
  color: var(--ram-text) !important;
  border-radius: 0.5rem;
}

body.ram-theme .form-control:focus,
body.ram-theme .form-select:focus,
body.docs-shell .form-control:focus,
body.docs-shell .form-select:focus,
body.admin-shell .form-control:focus,
body.admin-shell .form-select:focus {
  border-color: var(--ram-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 110, 199, 0.25) !important;
  color: var(--ram-text) !important;
}

body.ram-theme .form-check-label,
body.docs-shell .form-check-label,
body.admin-shell .form-check-label {
  color: var(--ram-text);
}

/* Tables */
body.ram-theme .table,
body.docs-shell .table,
body.admin-shell .table {
  color: var(--ram-text);
  --bs-table-bg: transparent;
  --bs-table-color: var(--ram-text);
  --bs-table-border-color: var(--ram-border);
}

body.ram-theme .table thead th,
body.docs-shell .table thead th,
body.admin-shell .table thead th {
  color: var(--ram-muted);
  border-bottom-color: var(--ram-border);
}

/* Links */
body.ram-theme a:not(.btn),
body.docs-shell a:not(.btn):not(.sub-menu-link):not(.notification-link) {
  color: var(--ram-accent-secondary);
  text-decoration: none;
}

body.ram-theme a:not(.btn):hover,
body.docs-shell a:not(.btn):not(.sub-menu-link):hover {
  color: var(--ram-accent);
}

/* Code */
body.ram-theme code,
body.docs-shell code,
body.admin-shell code {
  color: var(--ram-accent-secondary);
  background: rgba(155, 241, 255, 0.1);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
}

/* Alerts */
body.ram-theme .alert-success,
body.docs-shell .alert-success,
body.admin-shell .alert-success {
  background: rgba(40, 167, 69, 0.15);
  border-color: rgba(40, 167, 69, 0.4);
  color: #b8f5c8;
}

body.ram-theme .alert-danger,
body.docs-shell .alert-danger,
body.admin-shell .alert-danger {
  background: rgba(220, 53, 69, 0.12);
  border-color: rgba(220, 53, 69, 0.35);
  color: #ffb8c0;
}

body.ram-theme .alert-info,
body.docs-shell .alert-info,
body.admin-shell .alert-info {
  background: rgba(155, 241, 255, 0.1);
  border-color: rgba(155, 241, 255, 0.3);
  color: #c8f7ff;
}

/* Stats */
.admin-stat,
.ram-stat {
  background: var(--ram-surface);
  border-radius: 15px;
  padding: 1.25rem;
  box-shadow: var(--ram-glow);
  border: 1px solid rgba(255, 110, 199, 0.1);
}

.admin-stat h6,
.ram-stat h6 {
  color: var(--ram-muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.admin-stat p,
.ram-stat p {
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  color: var(--ram-text);
}

.docs-nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.docs-nav-links a {
  font-weight: 500;
  color: var(--ram-accent) !important;
}

.badge-status { font-weight: 600; text-transform: capitalize; }
.badge-development { background: #5c6b8a; color: #fff; }
.badge-beta { background: #ffc34f; color: #1a1200; }
.badge-public_beta { background: #9b59f6; color: #fff; }
.badge-public { background: #2ecc71; color: #042410; }
.badge-disabled { background: #e74c3c; color: #fff; }

.instance-pill {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.instance-pill-primary { background: rgba(255, 110, 199, 0.25); color: #ffc8e8; }
.instance-pill-beta { background: rgba(255, 195, 79, 0.2); color: #ffe6a8; }
.instance-pill-dev { background: rgba(155, 241, 255, 0.2); color: #c8f7ff; }
