/* =====================================================================
   PC — THÈME TACTIQUE C2 SCORPION  ·  feuille partagée (hors carte)
   Restyle Bootstrap pour index / dashboard / admin / privacy afin qu'ils
   partagent le look de map.html, SANS toucher au HTML/JS fonctionnel.
   Toute page qui l'inclut hérite du thème + du bandeau tricolore + blason.
   ===================================================================== */
:root{
  --bg:#070b10; --bg2:#0b121a;
  --panel:rgba(9,15,21,.86); --panel-solid:#0a1017;
  --line:rgba(122,163,196,.16); --line-strong:rgba(122,163,196,.34);
  --txt:#c6d5e1; --hi:#eaf3fb; --dim:#6f8698; --faint:#43566a;
  --blue:#3d8bff; --cyan:#39c2d1; --red:#e0403a; --amber:#e2a53a; --green:#46d17f;
  --fr-blue:#1b4fa0; --fr-red:#c8362f;
  --hud-blur: blur(9px);
  /* remap des tokens Bootstrap sur la palette tactique */
  --bs-body-bg:#070b10; --bs-body-color:#c6d5e1;
  --bs-border-color:rgba(122,163,196,.16);
  --bs-primary:#3d8bff; --bs-primary-rgb:61,139,255;
  --bs-link-color:#39c2d1; --bs-link-hover-color:#eaf3fb;
  font-synthesis:none;
}
*{box-sizing:border-box}

/* ---- Fond immersif + typo ---- */
body{
  background:var(--bg)!important; color:var(--txt)!important;
  font-family:"IBM Plex Mono",ui-monospace,monospace!important;
  letter-spacing:.2px; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
  background-image:
     linear-gradient(rgba(122,163,196,.045) 1px,transparent 1px),
     linear-gradient(90deg,rgba(122,163,196,.045) 1px,transparent 1px)!important;
  background-size:54px 54px!important; background-attachment:fixed!important;
}
/* voile vignette léger */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  box-shadow:inset 0 0 220px 40px rgba(0,0,0,.6);}
body>*{position:relative;z-index:1;}

h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.section-title,.modal-title,.card-header,.navbar-brand,.btn{
  font-family:"Oswald",sans-serif!important; letter-spacing:.04em;
}
h1,h2,h3,.display-1,.display-2,.display-3,.display-4,.display-5{text-transform:uppercase;color:var(--hi);}
a{color:var(--cyan);} a:hover{color:var(--hi);}
code{color:var(--amber)!important;}
.text-muted,.text-body-secondary,.text-white-50{color:var(--dim)!important;}

/* ---- Bandeau tricolore (ajouté en tête de <body> via .tricolore) ---- */
.tricolore{position:fixed;top:0;left:0;right:0;height:3px;z-index:1090;
  background:linear-gradient(90deg,var(--fr-blue) 0 33.33%,#e9edf2 33.33% 66.66%,var(--fr-red) 66.66% 100%);}

/* ---- Barre de nav / blason ---- */
.navbar,.glass-nav{
  background:var(--panel)!important;backdrop-filter:var(--hud-blur);
  border:0!important;border-bottom:1px solid var(--line)!important;
}
.navbar-brand{display:flex;align-items:center;gap:12px;color:var(--hi)!important;text-transform:uppercase;}
.navbar-brand .crest{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line-strong);
  display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(61,139,255,.22),transparent 70%);}
.navbar-brand .crest svg{width:20px;height:20px;}
.navbar-brand .bi{color:var(--blue);}
.nav-link{color:var(--txt)!important;text-transform:uppercase;font-family:"Oswald";letter-spacing:.06em;font-size:.95rem;}
.nav-link:hover{color:var(--cyan)!important;}

/* ---- Panneaux / cartes / verre ---- */
.card,.glass-pane,.dashboard-card,.accordion-item,.modal-content{
  background:var(--panel)!important;backdrop-filter:var(--hud-blur);
  border:1px solid var(--line)!important;border-radius:0!important;
}
.card-header,.modal-header,.modal-footer{
  border-color:var(--line)!important;background:linear-gradient(180deg,rgba(61,139,255,.07),transparent)!important;
  text-transform:uppercase;letter-spacing:.08em;color:var(--hi);
}
.card.glass-pane,.rounded-4,.rounded-3,.rounded{border-radius:0!important;}
/* équerres de réticule sur les panneaux marqués .bracket */
.bracket{position:relative;}
.bracket::before,.bracket::after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;z-index:2;}
.bracket::before{top:-1px;left:-1px;border-top:2px solid var(--blue);border-left:2px solid var(--blue);}
.bracket::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--blue);border-right:2px solid var(--blue);}

/* ---- Formulaires ---- */
.form-control,.form-select,.input-group-text,.search-results{
  background:rgba(6,11,16,.8)!important;border:1px solid var(--line)!important;color:var(--txt)!important;
  border-radius:0!important;font-family:"IBM Plex Mono"!important;box-shadow:none!important;
}
.form-control:focus,.form-select:focus{border-color:var(--blue)!important;box-shadow:0 0 0 1px rgba(61,139,255,.35)!important;}
.form-control::placeholder{color:var(--faint)!important;}
.form-label{font-family:"Oswald";text-transform:uppercase;font-size:.8rem;letter-spacing:.12em;color:var(--dim);}
option,optgroup{background:#0a0f14;color:var(--txt);}
.form-check-input:checked{background-color:var(--blue)!important;border-color:var(--blue)!important;}
.form-check-input{background-color:rgba(6,11,16,.8);border-color:var(--line-strong);border-radius:0!important;}

/* ---- Boutons (sémantique couleur conservée, style tactique) ---- */
.btn{border-radius:0!important;text-transform:uppercase;letter-spacing:.08em;font-weight:500;}
.btn-primary,.btn-success,.btn-info,.btn-secondary,.btn-warning,.btn-danger,
.btn-outline-light,.btn-outline-danger{
  border-width:1px!important;box-shadow:none!important;
}
.btn-primary{background:rgba(61,139,255,.14)!important;border-color:var(--blue)!important;color:var(--hi)!important;}
.btn-primary:hover{background:rgba(61,139,255,.26)!important;box-shadow:0 0 12px rgba(61,139,255,.2)!important;}
.btn-success,.discord-button{background:rgba(70,209,127,.13)!important;border-color:var(--green)!important;color:var(--green)!important;}
.btn-success:hover{background:rgba(70,209,127,.24)!important;color:#eafff2!important;}
.btn-info{background:rgba(57,194,209,.13)!important;border-color:var(--cyan)!important;color:var(--cyan)!important;}
.btn-info:hover{background:rgba(57,194,209,.24)!important;color:var(--hi)!important;}
.btn-warning{background:rgba(226,165,58,.13)!important;border-color:var(--amber)!important;color:var(--amber)!important;}
.btn-warning:hover{background:rgba(226,165,58,.24)!important;color:#fff2d8!important;}
.btn-danger,.btn-outline-danger{background:rgba(224,64,58,.13)!important;border-color:var(--red)!important;color:var(--red)!important;}
.btn-danger:hover,.btn-outline-danger:hover{background:rgba(224,64,58,.24)!important;color:#ffe3e1!important;}
.btn-secondary{background:rgba(15,23,32,.6)!important;border-color:var(--line)!important;color:var(--txt)!important;}
.btn-secondary:hover{background:rgba(61,139,255,.12)!important;border-color:var(--blue)!important;color:var(--hi)!important;}
.btn-outline-light{background:transparent!important;border-color:var(--line-strong)!important;color:var(--txt)!important;}
.btn-outline-light:hover{background:rgba(61,139,255,.12)!important;color:var(--hi)!important;}

/* ---- Listes / tables / badges ---- */
.list-group-item{background:rgba(15,23,32,.5)!important;border:1px solid var(--line)!important;
  border-radius:0!important;color:var(--txt)!important;}
.list-group-item-action:hover{background:rgba(61,139,255,.1)!important;color:var(--hi)!important;}
.table{color:var(--txt)!important;}
.table-dark{--bs-table-bg:transparent;--bs-table-color:var(--txt);}
.table>:not(caption)>*>*{border-color:var(--line)!important;}
.table thead th{font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-weight:600;
  border-bottom:1px solid var(--line-strong)!important;}
.table-hover tbody tr:hover>*{background:rgba(61,139,255,.08)!important;}
.badge{border-radius:0!important;font-family:"IBM Plex Mono";font-weight:500;}
.text-bg-success{background:rgba(70,209,127,.16)!important;color:var(--green)!important;}
.text-bg-warning{background:rgba(226,165,58,.16)!important;color:var(--amber)!important;}
.text-bg-danger{background:rgba(224,64,58,.16)!important;color:var(--red)!important;}
.text-bg-secondary,.bg-secondary{background:rgba(122,163,196,.16)!important;color:var(--txt)!important;}
.text-success{color:var(--green)!important;}.text-info{color:var(--cyan)!important;}
.text-warning{color:var(--amber)!important;}.text-danger{color:var(--red)!important;}
.bg-dark{background:rgba(6,11,16,.75)!important;}

/* ---- Onglets / accordéon / dropdown / modale ---- */
.nav-tabs{border-bottom:1px solid var(--line)!important;}
.nav-tabs .nav-link{border:0!important;border-bottom:2px solid transparent!important;color:var(--dim)!important;border-radius:0!important;}
.nav-tabs .nav-link.active{color:var(--hi)!important;background:transparent!important;border-bottom-color:var(--blue)!important;}
.accordion-button{background:rgba(15,23,32,.5)!important;color:var(--txt)!important;border-radius:0!important;
  font-family:"Oswald";text-transform:uppercase;letter-spacing:.06em;box-shadow:none!important;}
.accordion-button:not(.collapsed){background:rgba(61,139,255,.14)!important;color:var(--hi)!important;}
.accordion-button:focus{box-shadow:0 0 0 1px rgba(61,139,255,.4)!important;}
.accordion-button::after{filter:invert(.7) sepia(1) saturate(3) hue-rotate(180deg);}
.accordion-body{color:var(--txt);}
.dropdown-menu{background:var(--panel-solid)!important;border:1px solid var(--line)!important;border-radius:0!important;backdrop-filter:var(--hud-blur);}
.dropdown-item{color:var(--txt)!important;}
.dropdown-item:hover,.dropdown-item.active{background:rgba(61,139,255,.14)!important;color:var(--hi)!important;}
.btn-close{filter:invert(1) grayscale(1) brightness(1.6);}
.spinner-border{color:var(--blue)!important;}
.alert-info{background:rgba(57,194,209,.12)!important;border:1px solid var(--line)!important;color:var(--cyan)!important;border-radius:0!important;}
.alert-danger{background:rgba(224,64,58,.12)!important;border:1px solid var(--line)!important;color:var(--red)!important;border-radius:0!important;}

/* ---- Section landing ---- */
.feature-icon{color:var(--blue)!important;}
.section-title{color:var(--hi);}
.classif{font-family:"Oswald";font-weight:600;font-size:11px;letter-spacing:.28em;color:#0a0f14;
  background:repeating-linear-gradient(45deg,var(--amber) 0 10px,#caa030 10px 20px);padding:2px 14px;}

/* ---- Crédit / pied ---- */
footer{border-top:1px solid var(--line);}
.credit-foot{font-family:"Oswald";text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.3);}
.credit-foot a{color:rgba(255,255,255,.55);text-decoration:none;}
.credit-foot a:hover{color:#fff;}

/* ---- Bannière cookies ---- */
#cookie-banner{background:var(--panel-solid)!important;border-top:1px solid var(--line-strong)!important;}

/* ---- Scrollbars ---- */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:var(--blue);background-clip:content-box;}
