/* Bird-LG: near-black surfaces + Stormy Jade accents
   Surfaces #05070a / #0a1212 / panel #1A3233
   Accents #A3ADAD / #1F7C80 / #1A5256
*/

:root {
  --bg-primary: #05070a;
  --bg-secondary: #0a1212;
  --bg-tertiary: #1A3233;
  --bg-glass: #0a1212;
  --bg-card: #1A3233;
  --bg-modal: #0a1212;
  --bg-gradient: #05070a;

  --text-primary: #A3ADAD;
  --text-secondary: #A3ADAD;
  --text-muted: rgba(163, 173, 173, 0.65);
  --text-accent: #A3ADAD;

  --primary: #1F7C80;
  --primary-hover: #A3ADAD;
  --accent: #1F7C80;
  --accent-hover: #A3ADAD;
  --accent-primary: #1F7C80;

  --success: #3dd68c;
  --warning: #e6b84d;
  --error: #f07178;

  --border-primary: rgba(163, 173, 173, 0.14);
  --border-secondary: rgba(31, 124, 128, 0.35);
  --border-accent: rgba(31, 124, 128, 0.55);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.45);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 10px 28px rgba(0, 0, 0, 0.50);
  --shadow-xl: 0 16px 40px rgba(0, 0, 0, 0.55);
  --shadow-glow: none;

  --blur-sm: 0px;
  --blur-md: 0px;
  --blur-lg: 0px;
  --blur-xl: 0px;

  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-2xl: 14px;
  --radius-full: 9999px;

  --font-mono: "JetBrains Mono", "SF Mono", Consolas, Menlo, monospace;
  --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body::before, body::after { content: none !important; display: none !important; }

html, body {
  background: #05070a !important;
  background-image: none !important;
  color: #A3ADAD !important;
  font-family: var(--font-main) !important;
}

a { color: #A3ADAD !important; text-decoration: none; }
a:hover { color: #A3ADAD !important; filter: brightness(1.15); text-decoration: underline; }
*:focus { outline: none; }
*:focus-visible { outline: 2px solid #1F7C80; outline-offset: 2px; }

.navbar {
  background: #0a1212 !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(163, 173, 173, 0.14) !important;
}
.navbar-inner {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}
@media (min-width: 981px) {
  .navbar.navbar-fixed-top {
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; margin-top: 0 !important;
  }
}
@media (max-width: 980px) {
  body { padding-top: 0 !important; }
  .navbar.navbar-fixed-top { position: static !important; }
}

.navbar .brand {
  background: none !important;
  color: #A3ADAD !important;
  -webkit-text-fill-color: #A3ADAD !important;
  filter: none !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}
.navbar .nav > li > a, .navbar .navbar-text {
  color: #A3ADAD !important; text-shadow: none !important; background: transparent !important;
}
.navbar .nav > li > a:hover {
  background: rgba(31, 124, 128, 0.28) !important; color: #A3ADAD !important; transform: none !important;
}
.navbar .nav > li.active > a {
  background: #A3ADAD !important;
  color: #05070a !important;
  -webkit-text-fill-color: #05070a !important;
  border-radius: var(--radius-md) !important;
  transform: none !important;
}
.navbar .divider-vertical {
  border-left-color: rgba(163, 173, 173, 0.14) !important;
  border-right-color: transparent !important;
}

.navbar-search .search-query {
  border-radius: var(--radius-lg) !important;
  background: #05070a !important;
  border: 1px solid rgba(163, 173, 173, 0.14) !important;
  color: #A3ADAD !important;
  box-shadow: none !important;
}
.navbar-search .search-query::placeholder { color: rgba(163, 173, 173, 0.65) !important; }
.navbar-search .search-query:focus {
  border-color: #1F7C80 !important;
  box-shadow: 0 0 0 3px rgba(31, 124, 128, 0.35) !important;
  background: #05070a !important;
  transform: none !important;
}

.dropdown-menu {
  background: #0a1212 !important;
  border: 1px solid rgba(163, 173, 173, 0.2) !important;
  box-shadow: var(--shadow-lg) !important;
  backdrop-filter: none !important;
}
.dropdown-menu > li > a { color: #A3ADAD !important; }
.dropdown-menu > li > a:hover {
  background: rgba(31, 124, 128, 0.28) !important; color: #A3ADAD !important; transform: none !important;
}

.well {
  background: #1A3233 !important;
  border: 1px solid rgba(163, 173, 173, 0.14) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  backdrop-filter: none !important;
}
.well::before { content: none !important; display: none !important; }
.well:hover { transform: none !important; box-shadow: var(--shadow-md) !important; }

.nav-list .nav-header { color: rgba(163, 173, 173, 0.65) !important; text-shadow: none !important; }
.nav-list > li > a { color: #A3ADAD !important; text-shadow: none !important; }
.nav-list > li > a:hover,
.nav-list > li.active > a {
  background: rgba(31, 124, 128, 0.28) !important;
  color: #A3ADAD !important;
  border-left: 2px solid #1F7C80;
  padding-left: 13px;
  transform: none !important;
  box-shadow: none !important;
}

.btn { border-radius: var(--radius-lg) !important; box-shadow: none !important; text-shadow: none !important; background-image: none !important; }

/* Light fill + dark text */
.btn-primary, .btn-info, .modal-footer .btn-primary,
.epic-action-btn, .action-btn, .refresh-btn, a.epic-action-btn {
  background: #A3ADAD !important;
  color: #05070a !important;
  -webkit-text-fill-color: #05070a !important;
  border: 1px solid #1A5256 !important;
}
.btn-primary *, .btn-info *, .epic-action-btn *, .action-btn *, .refresh-btn * {
  color: #05070a !important;
  -webkit-text-fill-color: #05070a !important;
}
.btn-primary:hover, .btn-info:hover, .epic-action-btn:hover, .action-btn:hover, .refresh-btn:hover {
  background: #A3ADAD !important; filter: brightness(1.08); color: #05070a !important; transform: none !important;
}
.epic-action-btn::before { opacity: 0 !important; }

/* Teal fill + light text */
.btn-secondary, .btn-default, .bgpmap-controls .btn, .bgpmap-controls .btn-secondary {
  background: #1F7C80 !important;
  color: #A3ADAD !important;
  -webkit-text-fill-color: #A3ADAD !important;
  border: 1px solid #1A5256 !important;
}
.btn-secondary:hover, .btn-default:hover, .bgpmap-controls .btn:hover {
  background: #1A5256 !important; color: #A3ADAD !important;
}

.alert { background-image: none !important; text-shadow: none !important; border-radius: var(--radius-md) !important; }
.alert-warning { background: rgba(230,184,77,0.12) !important; border-color: rgba(230,184,77,0.35) !important; color: var(--warning) !important; }
.alert-error, .alert-danger { background: rgba(240,113,120,0.12) !important; border-color: rgba(240,113,120,0.35) !important; color: var(--error) !important; }
.alert-success { background: rgba(61,214,140,0.12) !important; border-color: rgba(61,214,140,0.35) !important; color: var(--success) !important; }

.label { text-shadow: none !important; border-radius: var(--radius-sm) !important; }
.label-success { background: rgba(61,214,140,0.2) !important; color: var(--success) !important; }
.label-important, .label-danger { background: rgba(240,113,120,0.2) !important; color: var(--error) !important; }
.label-default, .label-inverse { background: rgba(163,173,173,0.12) !important; color: #A3ADAD !important; }
.label-warning { background: rgba(230,184,77,0.2) !important; color: var(--warning) !important; }
.label-info { background: rgba(31,124,128,0.35) !important; color: #A3ADAD !important; }

table, .table {
  background: #0a1212 !important;
  border: 1px solid rgba(163,173,173,0.14) !important;
  border-radius: var(--radius-lg) !important;
  color: #A3ADAD !important;
}
.table th {
  background: #1A3233 !important;
  color: #A3ADAD !important;
  border-bottom: 1px solid rgba(31,124,128,0.35) !important;
}
.table td {
  border-top-color: rgba(163,173,173,0.10) !important;
  color: #A3ADAD !important;
  background: transparent !important;
}
.table-striped tbody > tr:nth-child(odd) > td {
  background-color: rgba(5, 7, 10, 0.55) !important;
}
.table-hover tbody tr:hover > td {
  background-color: rgba(31, 124, 128, 0.22) !important;
}
.dataTables_wrapper { color: #A3ADAD !important; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  background: #05070a !important;
  border: 1px solid rgba(163,173,173,0.14) !important;
  color: #A3ADAD !important;
  border-radius: var(--radius-md) !important;
}

pre, code { font-family: var(--font-mono) !important; }
pre {
  background: #05070a !important;
  border: 1px solid rgba(163,173,173,0.14) !important;
  border-radius: var(--radius-lg) !important;
  color: #A3ADAD !important;
  box-shadow: none !important;
}

.modal {
  background: #0a1212 !important;
  border: 1px solid rgba(163,173,173,0.2) !important;
  color: #A3ADAD !important;
}
.modal-header, .modal-footer { background: transparent !important; border-color: rgba(163,173,173,0.14) !important; }
.modal-header h3 { color: #A3ADAD !important; }
.progress { background: #05070a !important; background-image: none !important; }
.progress .bar { background: #1F7C80 !important; background-image: none !important; }

.footer {
  color: rgba(163,173,173,0.65) !important;
  border-top: 1px solid rgba(163,173,173,0.14);
  padding-top: 1rem; margin-top: 2rem;
}
.footer a { color: #A3ADAD !important; }

.page-header, .page-title { color: #A3ADAD !important; border-bottom-color: rgba(163,173,173,0.14) !important; text-shadow: none !important; }
.page-subtitle { color: rgba(163,173,173,0.65) !important; }
.host-title, .detail-title, .traceroute-title {
  color: #A3ADAD !important;
  border-bottom: 1px solid rgba(31,124,128,0.35) !important;
}
.host-title i, .detail-title i, .traceroute-title i { color: #1F7C80 !important; }

.table-container, .code-container, .traceroute-content, .detail-content,
.epic-result-card, .bgpmap-container, .bgpmap-shell {
  background: #0a1212 !important;
  border: 1px solid rgba(163,173,173,0.14) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.rpki-legend {
  background: #1A3233 !important;
  border: 1px solid rgba(163,173,173,0.14) !important;
  border-radius: var(--radius-lg) !important;
}
.rpki-legend h5 { color: #A3ADAD !important; }
.dns-link, a.whois { color: #A3ADAD !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
