:root {
  --font-heading: "Rajdhani", "Arial Narrow", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --font-mono: "Roboto Mono", Consolas, monospace;
  --ready-navy: #071426;
  --tactical-charcoal: #101820;
  --card-dark: #142033;
  --card-hover: #1B2A42;
  --ready-blue: #1769FF;
  --signal-blue: #00A3FF;
  --alert-red: #E51B2B;
  --success: #1FBF75;
  --warning: #F5B942;
  --correction: #FF8A00;
  --danger: #E51B2B;
  --info: #00A3FF;
  --white: #FFFFFF;
  --soft-gray: #E6ECF2;
  --muted-slate: #6B7A90;
  --border-dark: #26384F;
  --gradient-primary: linear-gradient(135deg, #071426 0%, #1769FF 55%, #00A3FF 100%);
  --gradient-scoreboard: linear-gradient(135deg, #101820 0%, #1769FF 60%, #E51B2B 100%);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  background:
    linear-gradient(rgba(7, 20, 38, 0.94), rgba(7, 20, 38, 0.96)),
    repeating-linear-gradient(90deg, transparent 0 34px, rgba(0, 163, 255, 0.04) 35px 36px),
    var(--ready-navy);
  color: var(--white);
}
a { color: var(--signal-blue); text-decoration: none; }
.rr-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.rr-public-main { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.rr-sidebar { padding: 24px; background: rgba(16, 24, 32, 0.94); border-right: 1px solid var(--border-dark); position: sticky; top: 0; height: 100vh; }
.rr-main { padding: 32px; }
.rr-mobile-topbar { display: none; }
.rr-brand { display: flex; gap: 12px; align-items: center; color: var(--white); margin-bottom: 28px; }
.rr-brand strong, .rr-logo-large { font-family: var(--font-heading); font-size: 30px; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; }
.rr-brand small { display: block; color: #AAB6C5; font-size: 12px; }
.rr-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--gradient-primary); font-family: var(--font-mono); font-weight: 700; }
.rr-nav { display: grid; gap: 8px; }
.rr-nav a { color: #D6E1EE; padding: 12px 14px; border-radius: 12px; border: 1px solid transparent; }
.rr-nav a:hover { background: var(--card-dark); border-color: var(--border-dark); color: var(--white); }
.rr-page-header { margin-bottom: 26px; max-width: 920px; }
.rr-page-header h1 { font-family: var(--font-heading); font-size: clamp(36px, 6vw, 58px); line-height: 0.95; text-transform: uppercase; margin: 8px 0; }
.rr-page-header p { color: #AAB6C5; font-size: 18px; }
.rr-kicker { color: var(--signal-blue); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; }
.rr-grid, .rr-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.rr-card { background: rgba(20, 32, 51, 0.94); border: 1px solid var(--border-dark); border-radius: 20px; padding: 22px; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22); }
.rr-card:hover { border-color: rgba(0, 163, 255, 0.5); }
.rr-card h2 { font-family: var(--font-heading); font-size: 26px; text-transform: uppercase; }
.rr-gradient { background: var(--gradient-primary); }
.rr-gradient-score { background: var(--gradient-scoreboard); }
.rr-score { display: block; font-family: var(--font-mono); font-size: clamp(34px, 7vw, 56px); margin-top: 12px; }
.rr-btn-primary { background: var(--ready-blue); color: var(--white); border: 0; font-weight: 700; }
.rr-btn-primary:hover { background: #3D84FF; color: var(--white); }
.rr-btn-secondary { background: var(--card-dark); border: 1px solid var(--border-dark); color: var(--white); }
.rr-btn-secondary:hover { background: var(--card-hover); color: var(--white); }
.btn-danger, .rr-btn-danger { background: var(--alert-red); border-color: var(--alert-red); color: var(--white); }
.form-control, .form-select { background: #0D1726; border-color: var(--border-dark); color: var(--white); }
.form-control:focus, .form-select:focus { background: #0D1726; color: var(--white); border-color: var(--signal-blue); box-shadow: 0 0 0 .25rem rgba(0, 163, 255, .18); }
.table-dark { --bs-table-bg: transparent; --bs-table-border-color: var(--border-dark); }
.rr-auth-card { width: min(480px, calc(100vw - 32px)); margin: 8vh auto; padding: 32px; border-radius: 24px; background: rgba(20, 32, 51, 0.96); border: 1px solid var(--border-dark); }
.rr-tagline { color: var(--signal-blue); font-weight: 700; }
.rr-alert { padding: 12px; border-radius: 12px; background: rgba(229, 27, 43, .16); color: #FFD7DB; border: 1px solid rgba(229, 27, 43, .4); }
.rr-safety { color: #FFE5B4; border: 1px solid rgba(245, 185, 66, .35); background: rgba(245, 185, 66, .12); padding: 12px; border-radius: 12px; }
.rr-status { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.rr-status-approved { background: rgba(31, 191, 117, .18); color: #8DFFC7; }
.rr-status-pending_review { background: rgba(245, 185, 66, .18); color: #FFE09A; }
.rr-status-needs_correction { background: rgba(255, 138, 0, .18); color: #FFC37C; }
.rr-status-rejected, .rr-status-unsafe_no_credit { background: rgba(229, 27, 43, .2); color: #FFB5BD; }
.rr-filter-row { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.rr-link-card { color: var(--white); display: block; min-height: 160px; }
.rr-scoreboard { display: grid; gap: 10px; }
.rr-score-row { display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--border-dark); border-radius: 14px; background: rgba(255,255,255,.03); }
.rr-score-row strong:last-child { font-family: var(--font-mono); color: var(--signal-blue); }
@media (max-width: 860px) {
  .rr-shell { grid-template-columns: 1fr; }
  .rr-sidebar { display: none; }
  .rr-mobile-topbar { display: flex; margin-bottom: 20px; }
  .rr-main { padding: 18px; }
}
