/* Charte graphique LJB : commune à toutes les applications (logo, couleurs, polices).
   Chargée en dernier dans chaque page : elle remplace le bleu par l'anthracite LJB.
   Couleurs de la charte : #333333 (anthracite), #ffffff (blanc), #696969 (gris).
   Polices : Bahnschrift (titres) si présente sur le poste, sinon Barlow ; Martian Mono (chiffres, en-têtes de tableaux). */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(polices/barlow-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(polices/barlow-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(polices/barlow-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(polices/barlow-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(polices/barlow-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(polices/barlow-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(polices/barlow-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(polices/barlow-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(polices/barlow-semi-condensed-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(polices/barlow-semi-condensed-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(polices/barlow-semi-condensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(polices/barlow-semi-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(polices/barlow-semi-condensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(polices/barlow-semi-condensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:300 700;font-display:swap;src:url(polices/martian-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:300 700;font-display:swap;src:url(polices/martian-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root {
  --ljb-noir:#333333; --ljb-gris:#696969; --ljb-blanc:#ffffff;
  --ljb-clair:#ededeb; --ljb-fond:#f4f4f2; --ljb-bord:#dcdcd8; --ljb-texte:#262626;
  --ljb-titres:"Bahnschrift","Barlow Semi Condensed","Barlow",system-ui,sans-serif;
  --ljb-corps:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ljb-mono:"Martian Mono",ui-monospace,Menlo,Consolas,monospace;
  /* variables des applications */
  --bleu:var(--ljb-noir); --bleu-clair:var(--ljb-clair); --gris:var(--ljb-gris); --bord:var(--ljb-bord); --fond:var(--ljb-fond);
  /* CRM */
  --accent:var(--ljb-noir); --accent-soft:var(--ljb-clair); --ink:var(--ljb-texte); --sunk:#efefed;
  --f-display:var(--ljb-titres); --f-body:var(--ljb-corps); --f-mono:var(--ljb-mono);
}
body { font-family:var(--ljb-corps); color:var(--ljb-texte); }
h1, h2, h3, .entete h1 { font-family:var(--ljb-titres); font-weight:600; letter-spacing:.01em; }
h1 { letter-spacing:.005em; }
th { font-family:var(--ljb-mono); font-weight:500; font-size:10.5px; letter-spacing:.02em; color:var(--ljb-gris); }
code, kbd, .mono { font-family:var(--ljb-mono); }
a { color:var(--ljb-noir); }
:focus-visible { outline-color:var(--ljb-noir); }

/* Bandeau du haut : anthracite, logo LJB devant le nom de l'appli */
body > header { background:var(--ljb-noir); color:#fff; }
body > header .marque { display:inline-flex; align-items:center; gap:12px; font-family:var(--ljb-titres); font-weight:600; letter-spacing:.02em; color:#fff; }
body > header .marque::before { content:""; flex:none; width:40px; height:31px; background:url(marque-ljb-blanc.svg) center/contain no-repeat; }
body > header .marque::after { content:none; }
body > header .liens a, body > header a.portail, body > header .compte, body > header .compte span { color:#d6d6d6; }
body > header .liens a:hover { background:rgba(255,255,255,.12); color:#fff; }
body > header .btn.secondaire, body > header .compte .btn { background:#fff; color:var(--ljb-noir); border-color:#fff; }
body > header form.sortir button { border-color:rgba(255,255,255,.45); }
body > header .scanner { color:var(--ljb-noir); }
/* Barre d'onglets */
.onglets-app a.actif, nav.onglets a.actif { color:var(--ljb-noir); border-bottom-color:var(--ljb-noir); }
.onglets-app a:hover { color:var(--ljb-noir); background:var(--ljb-clair); }
.onglets-app .pastille { background:var(--ljb-noir); }
/* Boutons */
.btn { font-family:var(--ljb-corps); font-weight:500; }

/* Pages de connexion (pas de bandeau) : logo complet au-dessus */
body:not(:has(> header)):not(:has(main > header)) main::before,
body:has(input[autocomplete="current-password"]) main::before {
  content:""; display:block; width:160px; height:125px; margin:28px auto 16px;
  background:url(logo-ljb.svg) center/contain no-repeat;
}
body:has(input[autocomplete="current-password"]) main > .carte:first-child { margin-top:0 !important; }

/* Portail « Applications LJB » */
main > header .logo { width:64px; height:50px; border-radius:0; background:url(marque-ljb.svg) center/contain no-repeat; color:transparent; font-size:0; }
main > header h1 { font-family:var(--ljb-titres); }
@media (prefers-color-scheme: light) { :root:has(main > header .logo) { --bg:var(--ljb-fond); --texte:var(--ljb-texte); --doux:var(--ljb-gris); --bord:var(--ljb-bord); } }
:root:has(main > header .logo) { --accent:var(--ljb-noir); }
main:has(> header .logo) h2 { font-family:var(--ljb-mono); font-weight:500; font-size:11px; letter-spacing:.06em; }
/* Portail en mode sombre : fond anthracite LJB, textes clairs */
@media (prefers-color-scheme: dark) {
  :root:has(main > header .logo) { --bg:#333333; --carte:#3d3d3d; --texte:#f2f2f2; --doux:#b8b8b8; --bord:#4d4d4d; --accent:#d6d6d6; }
  body:has(main > header .logo) { background:var(--bg); color:var(--texte); }
  main > header .logo { background-image:url(marque-ljb-blanc.svg); }
  main > header h1, a.appli .nom { color:var(--texte); }
  a.appli .adresse { color:var(--doux); }
  main > header form button { color:var(--texte); border-color:var(--bord); }
  a.appli .icone { box-shadow:0 0 0 1px rgba(255,255,255,.14); }
}

@media print {
  body > header .marque::before { display:none; }
}
