/* ============================================================
   LureWire portal brand theme — CRT phosphor terminal.
   Loaded AFTER CoreUI style.css to re-skin its components to
   match lurewire.com. Palette + feel mirror the marketing site.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');

:root {
  --lw-bg:         #0a0806;
  --lw-orange:     #ff7d2e;
  --lw-orange-core:#f36d21;
  --lw-amber-mid:  #c4641f;
  --lw-amber-dim:  #6b3c1a;
  --lw-grey:       #8a8a8a;
  --lw-grey-dim:   #555049;
  --lw-faint:      rgba(243, 109, 33, 0.022);

  /* Bridge into Bootstrap/CoreUI custom properties. */
  --bs-body-bg: var(--lw-bg);
  --bs-body-color: var(--lw-grey);
  --bs-border-color: var(--lw-amber-dim);
  --bs-primary: var(--lw-orange-core);
  --bs-primary-rgb: 243, 109, 33;
  --bs-link-color: var(--lw-orange);
  --bs-link-color-rgb: 255, 125, 46;
  --bs-link-hover-color: var(--lw-orange-core);
  --bs-emphasis-color: var(--lw-orange);
}

html, body {
  background: var(--lw-bg) !important;
  color: var(--lw-grey) !important;
  font-family: 'Share Tech Mono', ui-monospace, Consolas, monospace !important;
}
.bg-body-tertiary, .bg-body { background: var(--lw-bg) !important; }

/* CRT scanlines + phosphor vignette (purely decorative, never block clicks). */
body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 900; opacity: .15;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 2px, rgba(0,0,0,.55) 2px, rgba(0,0,0,.55) 4px);
}
body::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse at center, transparent 45%, rgba(0,0,0,.82) 100%),
    radial-gradient(ellipse at 50% 38%, rgba(243,109,33,.06) 0%, transparent 62%);
}
.container, .navbar, nav, .lw-flash { position: relative; z-index: 2; }

/* Headings / brand */
h1, h2, h3, h4, h5, h6, .navbar-brand {
  color: var(--lw-orange) !important;
  letter-spacing: .04em;
}
.text-body-secondary, .form-text, .text-muted { color: var(--lw-grey-dim) !important; }
.text-success-emphasis { color: #7fd49a !important; }
a { color: var(--lw-orange); }
a:hover { color: var(--lw-orange-core); }

/* Cards => terminal panels (square, amber border, faint inner glow). */
.card {
  background: var(--lw-faint) !important;
  border: 1px solid var(--lw-amber-dim) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 0 50px rgba(243,109,33,.025) !important;
}

/* Inputs */
.form-control, .form-select {
  background: rgba(0,0,0,.35) !important;
  border: 1px solid var(--lw-amber-dim) !important;
  color: var(--lw-orange) !important;
  border-radius: 0 !important;
  font-family: 'Share Tech Mono', monospace !important;
  caret-color: var(--lw-orange);
}
.form-control:focus, .form-select:focus {
  border-color: var(--lw-orange) !important;
  background: rgba(0,0,0,.5) !important;
  box-shadow: 0 0 0 .12rem rgba(243,109,33,.18), 0 0 12px rgba(243,109,33,.22) !important;
  color: var(--lw-orange) !important;
}
.form-control::placeholder { color: var(--lw-grey-dim) !important; }
.form-label {
  color: var(--lw-amber-mid) !important;
  text-transform: uppercase; letter-spacing: .14em; font-size: .7rem;
}
.form-check-input { background-color: rgba(0,0,0,.4); border-color: var(--lw-amber-dim); border-radius: 0 !important; }
.form-check-input:checked { background-color: var(--lw-orange-core); border-color: var(--lw-orange); }

/* Buttons */
.btn-primary, .btn-success {
  background: var(--lw-orange-core) !important;
  border: 1px solid var(--lw-orange) !important;
  color: #0a0806 !important;
  border-radius: 0 !important;
  text-transform: uppercase; letter-spacing: .14em; font-weight: 700;
  box-shadow: 0 0 14px rgba(243,109,33,.35) !important;
}
.btn-primary:hover, .btn-success:hover {
  background: var(--lw-orange) !important; color: #0a0806 !important;
  box-shadow: 0 0 22px rgba(243,109,33,.55) !important;
}
.btn-outline-primary {
  color: var(--lw-orange) !important; background: transparent !important;
  border: 1px solid var(--lw-amber-dim) !important; border-radius: 0 !important;
  text-transform: uppercase; letter-spacing: .1em;
}
.btn-outline-primary:hover { background: rgba(243,109,33,.12) !important; border-color: var(--lw-orange) !important; color: var(--lw-orange) !important; }
.btn-outline-secondary {
  color: var(--lw-grey) !important; background: transparent !important;
  border: 1px solid var(--lw-amber-dim) !important; border-radius: 0 !important;
  text-transform: uppercase; letter-spacing: .1em;
}
.btn-outline-secondary:hover { background: rgba(243,109,33,.08) !important; color: var(--lw-orange) !important; }

/* Tables */
.table { color: var(--lw-grey) !important; border-color: var(--lw-amber-dim) !important; }
.table > :not(caption) > * > * { background: transparent !important; border-color: rgba(107,60,26,.5) !important; color: inherit !important; }
.table thead th {
  color: var(--lw-amber-mid) !important; text-transform: uppercase; letter-spacing: .1em;
  font-size: .7rem; border-bottom: 1px solid var(--lw-amber-dim) !important;
}
.table .fw-semibold { color: var(--lw-orange) !important; }

/* Badges */
.badge.bg-danger { background: var(--lw-orange-core) !important; color: #0a0806 !important; border-radius: 0; }
.badge.bg-secondary { background: transparent !important; color: var(--lw-grey-dim) !important; border: 1px solid var(--lw-grey-dim); border-radius: 0; }

/* Alerts */
.alert { border-radius: 0 !important; }
.alert-danger { background: rgba(243,109,33,.1) !important; border: 1px solid var(--lw-amber-mid) !important; color: var(--lw-orange) !important; }
.alert-success { background: rgba(34,197,94,.08) !important; border: 1px solid #2f6b3a !important; color: #7fd49a !important; }

/* Navbar */
.navbar { background: var(--lw-faint) !important; border-bottom: 1px solid var(--lw-amber-dim) !important; }

.lw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }

/* ---- Brand bits ---- */
.lw-logo { filter: drop-shadow(0 0 14px rgba(243,109,33,.45)) drop-shadow(0 0 42px rgba(243,109,33,.16)); }
.lw-syslabel { font-size: 10px; color: var(--lw-amber-dim); letter-spacing: .25em; text-transform: uppercase; }
.lw-tagline {
  color: var(--lw-orange); letter-spacing: .12em; text-transform: uppercase;
  font-size: .72rem; text-shadow: 0 0 10px rgba(243,109,33,.4);
}
.lw-cursor {
  display: inline-block; width: 9px; height: 1.05em; background: var(--lw-orange);
  vertical-align: text-bottom; margin-left: 3px; box-shadow: 0 0 8px rgba(243,109,33,.8);
  animation: lw-blink 1s step-end infinite;
}
.lw-chrome {
  border: 1px solid var(--lw-amber-dim); background: var(--lw-faint);
  padding: .4rem 1rem; display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; color: var(--lw-amber-dim); letter-spacing: .1em; text-transform: uppercase;
}
.lw-armed { color: var(--lw-orange); }
.lw-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: .45rem;
  background: var(--lw-orange); box-shadow: 0 0 6px rgba(243,109,33,.9);
  animation: lw-blink 1.1s step-end infinite;
}
@keyframes lw-blink { 0%,100% { opacity: 1; } 50% { opacity: 0; } }
