/* meshview mesh-theme.css — dark green "Overberg Mesh" skin over Bootstrap 5.
   Override-only (colours/bg/borders). Leans on BS5 CSS variables + explicit overrides. */
:root{
  --mesh-bg:#0c1411; --mesh-bg2:#0f1a16; --mesh-card:#13211c; --mesh-card2:#16271f;
  --mesh-line:#234035; --mesh-txt:#e7f1ec; --mesh-muted:#9bb3a8;
  --mesh-accent:#3ddc84; --mesh-accent2:#2bb56b;
  /* ---- Bootstrap 5 variable overrides ---- */
  --bs-body-bg:#0c1411; --bs-body-color:#e7f1ec;
  --bs-emphasis-color:#e7f1ec; --bs-emphasis-color-rgb:231,241,236;
  --bs-secondary-color:#9bb3a8; --bs-tertiary-color:#9bb3a8;
  --bs-secondary-bg:#16271f; --bs-tertiary-bg:#13211c;
  --bs-border-color:#234035; --bs-border-color-translucent:rgba(61,220,132,.18);
  --bs-link-color:#3ddc84; --bs-link-hover-color:#2bb56b; --bs-link-color-rgb:61,220,132;
  --bs-table-bg:transparent; --bs-table-color:#e7f1ec; --bs-table-border-color:#234035;
  --bs-table-striped-color:#e7f1ec; --bs-table-striped-bg:rgba(255,255,255,.035);
  --bs-table-hover-color:#e7f1ec; --bs-table-hover-bg:rgba(61,220,132,.09);
  --bs-card-bg:#13211c; --bs-card-border-color:#234035; --bs-card-cap-bg:rgba(0,0,0,.15);
  --bs-dropdown-bg:#13211c; --bs-dropdown-link-color:#e7f1ec; --bs-dropdown-border-color:#234035;
  --bs-dropdown-link-hover-bg:rgba(61,220,132,.10); --bs-dropdown-link-hover-color:#3ddc84;
  --bs-primary:#3ddc84; --bs-primary-rgb:61,220,132;
}
html,body{background:var(--mesh-bg) !important;}
body{
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(61,220,132,.10), transparent 60%),
    radial-gradient(800px 500px at 90% 10%, rgba(43,181,107,.08), transparent 55%),
    var(--mesh-bg) !important;
  color:var(--mesh-txt) !important;
}
h1,h2,h3,h4,h5,h6{color:var(--mesh-txt) !important;}
a{color:var(--mesh-accent) !important;}
a:hover{color:var(--mesh-accent2) !important;}
hr{border-color:var(--mesh-line) !important;}
code,kbd{color:var(--mesh-accent) !important; background:rgba(61,220,132,.08) !important;}
pre{color:var(--mesh-txt) !important; background:var(--mesh-bg2) !important; border:1px solid var(--mesh-line); border-radius:8px; padding:10px;}

/* navbar / header / menu (meshview injects #site-header/#site-menu) */
.navbar,nav{background:linear-gradient(180deg,var(--mesh-card2),var(--mesh-card)) !important; border-bottom:1px solid var(--mesh-line) !important;}
.navbar-brand{color:var(--mesh-txt) !important; font-weight:700;}
.nav-link,.navbar .nav-link{color:var(--mesh-muted) !important;}
.nav-link:hover,.nav-link.active,.nav-link:focus{color:var(--mesh-accent) !important;}
#site-header a,#site-menu a{color:var(--mesh-accent) !important;}
#site-header,#site-menu,#site-message,#footer,#site-version{color:var(--mesh-txt) !important;}

/* buttons */
.btn-primary,.btn-success,.btn-info{background:var(--mesh-accent) !important; border-color:var(--mesh-accent) !important; color:#06231a !important; font-weight:700;}
.btn-primary:hover,.btn-success:hover,.btn-info:hover{background:var(--mesh-accent2) !important; border-color:var(--mesh-accent2) !important; color:#06231a !important;}
.btn-secondary,.btn-outline-secondary,.btn-outline-primary,.btn-light{background:var(--mesh-card2) !important; color:var(--mesh-txt) !important; border-color:var(--mesh-line) !important;}
.btn-outline-primary:hover,.btn-outline-secondary:hover{background:var(--mesh-accent) !important; color:#06231a !important;}

/* cards / panels */
.card{background:linear-gradient(180deg,var(--mesh-card2),var(--mesh-card)) !important; border:1px solid var(--mesh-line) !important; color:var(--mesh-txt) !important; border-radius:14px !important; box-shadow:0 8px 30px rgba(0,0,0,.35);}
.card-header,.card-footer{background:rgba(0,0,0,.15) !important; border-color:var(--mesh-line) !important; color:var(--mesh-txt) !important;}
.list-group-item{background:var(--mesh-card) !important; color:var(--mesh-txt) !important; border-color:var(--mesh-line) !important;}
.bg-light,.bg-white,.bg-body,.bg-body-tertiary,.bg-body-secondary{background:var(--mesh-card) !important; color:var(--mesh-txt) !important;}

/* tables */
.table{color:var(--mesh-txt) !important; border-color:var(--mesh-line) !important;}
.table>:not(caption)>*>*{background-color:transparent !important; color:var(--mesh-txt) !important; border-color:var(--mesh-line) !important;}
.table th,thead th{background-color:var(--mesh-card2) !important; color:var(--mesh-accent) !important; border-color:var(--mesh-line) !important;}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:rgba(255,255,255,.035) !important; color:var(--mesh-txt) !important;}
.table-hover>tbody>tr:hover>*{background-color:rgba(61,220,132,.09) !important; color:var(--mesh-txt) !important;}

/* forms */
.form-control,.form-select,input,select,textarea{background:var(--mesh-bg2) !important; color:var(--mesh-txt) !important; border:1px solid var(--mesh-line) !important;}
.form-control:focus,.form-select:focus{border-color:var(--mesh-accent) !important; box-shadow:0 0 0 .15rem rgba(61,220,132,.25) !important;}
::placeholder{color:var(--mesh-muted) !important;}
.input-group-text{background:var(--mesh-card2) !important; color:var(--mesh-muted) !important; border-color:var(--mesh-line) !important;}

/* misc */
.text-muted,.text-secondary{color:var(--mesh-muted) !important;}
.text-dark,.text-body{color:var(--mesh-txt) !important;}
.dropdown-menu{background:var(--mesh-card) !important; border:1px solid var(--mesh-line) !important;}
.dropdown-item{color:var(--mesh-txt) !important;}
.dropdown-item:hover{background:rgba(61,220,132,.10) !important; color:var(--mesh-accent) !important;}
.badge.bg-secondary{background:var(--mesh-card2) !important; color:var(--mesh-txt) !important;}
.badge.bg-primary,.badge.bg-success{background:var(--mesh-accent) !important; color:#06231a !important;}
.modal-content,.popover,.offcanvas{background:var(--mesh-card) !important; color:var(--mesh-txt) !important; border:1px solid var(--mesh-line) !important;}
.border,.border-top,.border-bottom,.border-start,.border-end{border-color:var(--mesh-line) !important;}

/* nodegraph (vis-network) — white canvas + panels + blue search button */
#mynetwork{background-color:var(--mesh-bg) !important; border:1px solid var(--mesh-line) !important;}
#mynetwork canvas{background:transparent !important;}
.search-container button{background-color:var(--mesh-accent) !important; color:#06231a !important; border:1px solid var(--mesh-line) !important; font-weight:700;}
.search-container button:hover{background-color:var(--mesh-accent2) !important; color:#06231a !important;}
#node-info,#legend{background:var(--mesh-card) !important; color:var(--mesh-txt) !important; border:1px solid var(--mesh-line) !important; border-radius:10px;}
#node-info *,#legend .legend-category{color:var(--mesh-txt) !important;}

/* leaflet map readability */
.leaflet-container{background:#0a0f0d !important;}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--mesh-card) !important; color:var(--mesh-txt) !important;}
.leaflet-bar a{background:var(--mesh-card) !important; color:var(--mesh-txt) !important; border-color:var(--mesh-line) !important;}
