/* REDPOINT HARD OPS CENTER OVERRIDE v0.1.2 */

:root {
  --rp-bg: #020807;
  --rp-bg-2: #03110d;
  --rp-panel: rgba(2, 18, 12, 0.96);
  --rp-panel-2: rgba(3, 28, 18, 0.94);
  --rp-line: #00ff76;
  --rp-line-dim: rgba(0, 255, 118, 0.36);
  --rp-line-soft: rgba(0, 255, 118, 0.18);
  --rp-text: #d8ffe9;
  --rp-muted: #84d8a8;
  --rp-ok: #00ff76;
  --rp-warn: #ffd15a;
  --rp-danger: #ff3b4f;
  --rp-cyan: #37e6ff;
  --rp-shadow: rgba(0, 255, 118, 0.22);
  --rp-font: "Cascadia Mono", "Consolas", "Lucida Console", monospace;
}

/* hard reset */
* {
  box-sizing: border-box;
  scrollbar-color: var(--rp-muted) #06130d;
}

html,
body {
  background:
    linear-gradient(rgba(0,255,118,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,118,0.018) 1px, transparent 1px),
    radial-gradient(circle at 20% 0%, rgba(0,255,118,0.13), transparent 34%),
    radial-gradient(circle at 80% 20%, rgba(255,209,90,0.06), transparent 25%),
    #020807 !important;
  background-size: 18px 18px, 18px 18px, auto, auto, auto !important;
  color: var(--rp-text) !important;
  font-family: var(--rp-font) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999999;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,0.025) 0,
      rgba(255,255,255,0.025) 1px,
      transparent 1px,
      transparent 4px
    );
  mix-blend-mode: screen;
  opacity: 0.38;
}

/* kill soft app look */
*,
.card,
.panel,
.box,
.tile,
.sidebar,
.main,
header,
section,
article,
button,
input,
textarea,
select,
pre,
code,
nav,
a {
  border-radius: 0 !important;
}

body,
.app,
.layout,
.wrapper,
.container,
main {
  min-height: 100vh;
}

/* Panels/cards */
.card,
.panel,
.box,
.tile,
section,
article,
.sidebar,
.main,
header,
nav,
form {
  background: linear-gradient(180deg, rgba(4, 24, 15, 0.98), rgba(1, 9, 7, 0.98)) !important;
  border: 1px solid var(--rp-line-dim) !important;
  box-shadow:
    inset 0 0 0 1px rgba(0,255,118,0.05),
    0 0 18px rgba(0,255,118,0.08) !important;
}

/* active/selected/nav */
.active,
.selected,
[aria-current="page"],
nav a:hover,
button:hover {
  border-color: var(--rp-line) !important;
  color: var(--rp-ok) !important;
  background: linear-gradient(90deg, rgba(0,255,118,0.18), rgba(0,255,118,0.04)) !important;
  text-shadow: 0 0 8px var(--rp-shadow) !important;
}

/* Typography */
h1,
h2,
h3,
h4,
.title,
.logo,
.brand {
  color: var(--rp-ok) !important;
  text-transform: uppercase;
  letter-spacing: 0.055em;
  text-shadow: 0 0 10px rgba(0,255,118,0.35);
}

p,
label,
small,
.muted {
  color: var(--rp-muted) !important;
}

/* Controls */
button,
input,
textarea,
select {
  font-family: var(--rp-font) !important;
  color: var(--rp-text) !important;
  background: #020b08 !important;
  border: 1px solid var(--rp-line-dim) !important;
  outline: none !important;
  box-shadow: inset 0 0 12px rgba(0,255,118,0.04) !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--rp-ok) !important;
  box-shadow:
    0 0 0 1px rgba(0,255,118,0.42),
    0 0 18px rgba(0,255,118,0.16),
    inset 0 0 18px rgba(0,255,118,0.05) !important;
}

textarea,
pre,
code {
  background: #010604 !important;
  color: #d8ffe9 !important;
  border-color: var(--rp-line-dim) !important;
  line-height: 1.45 !important;
  tab-size: 2;
}

a {
  color: var(--rp-ok) !important;
  text-decoration: none !important;
}

a:hover {
  color: var(--rp-cyan) !important;
  text-shadow: 0 0 8px rgba(55,230,255,0.4);
}

/* RedPoint status color coding */
.ok,
.online,
.success,
.status-ok,
.rp-status-ok,
[data-status="ok"],
[data-status="online"],
[data-state="ok"],
[data-state="online"] {
  color: var(--rp-ok) !important;
  border-color: var(--rp-ok) !important;
  text-shadow: 0 0 8px rgba(0,255,118,0.45) !important;
}

.warn,
.warning,
.pending,
.status-warn,
.rp-status-warn,
[data-status="warn"],
[data-status="warning"],
[data-state="warn"],
[data-state="pending"] {
  color: var(--rp-warn) !important;
  border-color: var(--rp-warn) !important;
  text-shadow: 0 0 8px rgba(255,209,90,0.42) !important;
}

.fail,
.failed,
.error,
.danger,
.offline,
.status-bad,
.status-error,
.rp-status-bad,
.rp-status-error,
[data-status="bad"],
[data-status="error"],
[data-status="offline"],
[data-state="bad"],
[data-state="error"],
[data-state="offline"] {
  color: var(--rp-danger) !important;
  border-color: var(--rp-danger) !important;
  text-shadow: 0 0 8px rgba(255,59,79,0.42) !important;
}

/* Visual utility cards */
.public,
.public-txt,
.readout,
.token,
.write-api {
  border-left: 3px solid var(--rp-ok) !important;
}

.admin,
.write,
.api,
.warn-zone {
  border-left: 3px solid var(--rp-warn) !important;
}

.danger-zone,
.delete,
.reset {
  border-left: 3px solid var(--rp-danger) !important;
}

/* Tables */
table {
  border-collapse: collapse !important;
  background: rgba(1,8,5,0.94) !important;
}

th,
td {
  border: 1px solid var(--rp-line-soft) !important;
  color: var(--rp-text) !important;
}

th {
  color: var(--rp-ok) !important;
  background: rgba(0,255,118,0.08) !important;
  text-transform: uppercase;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background: #020806;
  border-left: 1px solid var(--rp-line-soft);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #00ff76, #0a7f46);
  border: 2px solid #020806;
}

/* Small CRT bevel lines */
.card::before,
.panel::before,
.box::before,
.tile::before {
  border-radius: 0 !important;
}

/* Make logo tile hard terminal block */
.logo,
.brand-mark,
.rp-logo {
  border-radius: 0 !important;
  border: 1px solid var(--rp-ok) !important;
  background: #021009 !important;
  color: var(--rp-ok) !important;
}
