/* ==========================================================================
   Thème « Jarvis » (HUD sombre) de tout le site — même univers que le module Pointage affaire.
   Portée : body.jarvis (posé par page_header sur toutes les pages écran, tous comptes y compris ENEDIS, hors Pointage affaire qui a sa propre feuille,
   et hors pages imprimables : affiches, attestations, fiches, situations… restent sur papier blanc).
   Principe : on redéfinit les variables de style.css, puis on reprend les fonds clairs écrits en dur.
   Ce qui doit rester blanc à l'écran (feuilles A4 .sheet, signature, plaques SVG, aperçu de mail) n'est pas touché.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Rajdhani:wght@500;600;700&display=swap');

body.jarvis {
  --ink: #dce9f6;
  --muted: #8aa0b8;
  --line: rgba(64, 200, 255, .2);
  --bg: #040912;
  --card: rgba(10, 18, 32, .86);
  --brand: #a4c229;
  --brand-dark: #a8d13a;
  --accent: #40c8ff;
  --ok: #6fe06f;      --ok-bg: rgba(12, 163, 12, .16);
  --warn: #fab219;    --warn-bg: rgba(250, 178, 25, .14);
  --err: #ff8f8f;     --err-bg: rgba(208, 59, 59, .18);
  --info: #7fb4ff;    --info-bg: rgba(64, 140, 255, .16);
  --hud-cyan: #40c8ff;
  --hud-ink: #dce9f6;
  --hud-muted: #8aa0b8;
  --hud-line: rgba(64, 200, 255, .2);
  --hud-line-strong: rgba(64, 200, 255, .5);
  --hud-panel: rgba(10, 18, 32, .86);
  --hud-field: rgba(4, 9, 18, .8);
  --hud-display: 'Orbitron', 'Rajdhani', system-ui, sans-serif;
  --hud-font: 'Rajdhani', system-ui, 'Segoe UI', sans-serif;
  color-scheme: dark;
  color: var(--ink);
  font-family: var(--hud-font);
  font-weight: 500;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(64, 200, 255, .14), transparent 70%),
    radial-gradient(ellipse 40% 40% at 100% 100%, rgba(164, 194, 41, .06), transparent 70%),
    linear-gradient(rgba(64, 200, 255, .045) 1px, transparent 1px) 0 0 / 40px 40px,
    linear-gradient(90deg, rgba(64, 200, 255, .045) 1px, transparent 1px) 0 0 / 40px 40px,
    var(--bg);
  background-attachment: fixed;
}
body.jarvis::after { /* balayage lumineux */
  content: ''; position: fixed; left: 0; right: 0; height: 120px; top: -120px; pointer-events: none; z-index: 0;
  background: linear-gradient(transparent, rgba(64, 200, 255, .05), transparent); animation: jv-scan 9s linear infinite;
}
@keyframes jv-scan { to { transform: translateY(calc(100vh + 120px)); } }
body.jarvis main { position: relative; z-index: 1; }

/* ---------- textes ---------- */
body.jarvis a { color: var(--hud-cyan); }
body.jarvis h1, body.jarvis h2 { font-family: var(--hud-display); letter-spacing: .08em; color: #fff; }
body.jarvis h1 { text-shadow: 0 0 18px rgba(64, 200, 255, .35); }
body.jarvis h2, body.jarvis h3 { font-weight: 700; }
body.jarvis h3 { color: var(--ink); letter-spacing: .04em; }
body.jarvis code { background: rgba(64, 200, 255, .12); color: #fff; }
body.jarvis .muted, body.jarvis .small.muted { color: var(--muted); }

/* ---------- barre du haut, menu du module ---------- */
body.jarvis .topbar { background: rgba(4, 9, 18, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
body.jarvis .brand img { background: #fff; padding: 2px 6px; border-radius: 6px; box-shadow: 0 0 14px rgba(64, 200, 255, .35); }
body.jarvis .topbar nav a, body.jarvis .userbox a { color: #c3d4e6; }
body.jarvis .topbar nav a:hover, body.jarvis .topbar nav a.on, body.jarvis .userbox a.on { background: rgba(64, 200, 255, .14); color: #fff; }
body.jarvis .topbar nav.modules a.on { box-shadow: inset 0 -3px 0 var(--hud-cyan); }
body.jarvis .topbar nav.modules a.mod-tab-parlophone.on { box-shadow: inset 0 -3px 0 #a4c229; }
body.jarvis .topbar nav.modules a.mod-tab-colonnes.on { box-shadow: inset 0 -3px 0 #7fb4ff; }
body.jarvis .userbox .muted { color: var(--muted); }
body.jarvis .subnav { background: rgba(6, 13, 24, .92); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
body.jarvis .subnav a { color: var(--muted); font-family: var(--hud-display); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
body.jarvis .subnav a:hover { color: #fff; }
body.jarvis .subnav a.on { color: var(--hud-cyan); border-bottom-color: var(--hud-cyan); text-shadow: 0 0 10px rgba(64, 200, 255, .6); }
body.jarvis.mod-parlophone .subnav a.on { color: #c7e86a; border-bottom-color: #a4c229; text-shadow: 0 0 10px rgba(164, 194, 41, .55); }
body.jarvis.mod-colonnes .subnav a.on { color: #9cc6ff; border-bottom-color: #7fb4ff; text-shadow: 0 0 10px rgba(127, 180, 255, .55); }

/* ---------- panneaux (cartes) à coins coupés ---------- */
body.jarvis .card, body.jarvis .journee, body.jarvis .module-card {
  background: var(--hud-panel); border: 1px solid var(--line); border-radius: 0; backdrop-filter: blur(6px);
  clip-path: polygon(0 12px, 12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
  box-shadow: inset 0 0 40px rgba(64, 200, 255, .04); position: relative;
}
body.jarvis .card::before, body.jarvis .journee::before {
  content: ''; position: absolute; top: 0; left: 12px; width: 80px; height: 2px; background: var(--hud-cyan); box-shadow: 0 0 10px var(--hud-cyan);
}
body.jarvis .module-card { border-top: 3px solid #a4c229; }
body.jarvis .module-card.mod-colonnes { border-top-color: #7fb4ff; }
body.jarvis .module-card h2 a { color: #fff; }
body.jarvis .note { background: rgba(164, 194, 41, .1); color: var(--ink); }
body.jarvis fieldset.subtle { background: rgba(4, 9, 18, .4); border-color: var(--line); }
body.jarvis fieldset { border-color: var(--line); }

/* ---------- chiffres clés ---------- */
body.jarvis .kpi { background: rgba(64, 200, 255, .06); border-color: var(--line); color: var(--ink); border-radius: 0;
  clip-path: polygon(0 6px, 6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%); }
body.jarvis .kpi b { font-family: var(--hud-display); color: #fff; text-shadow: 0 0 12px rgba(64, 200, 255, .35); }
body.jarvis a.kpi:hover { background: rgba(64, 200, 255, .14); }
body.jarvis .kpi-avenir { background: rgba(127, 180, 255, .08); }
body.jarvis .barre { background: rgba(64, 200, 255, .12); }

/* ---------- formulaires ---------- */
body.jarvis label { color: #a9bdd3; }
body.jarvis input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]), body.jarvis select, body.jarvis textarea {
  background: var(--hud-field); color: #fff; border: 1px solid var(--hud-line-strong); border-radius: 0; font-family: var(--hud-font); font-size: 1.02rem;
}
body.jarvis input:focus, body.jarvis select:focus, body.jarvis textarea:focus { outline: none; border-color: var(--hud-cyan); box-shadow: 0 0 0 1px var(--hud-cyan), 0 0 14px rgba(64, 200, 255, .3); }
body.jarvis input::placeholder, body.jarvis textarea::placeholder { color: var(--muted); }
body.jarvis input[type="checkbox"], body.jarvis input[type="radio"] { accent-color: var(--hud-cyan); }
body.jarvis select option { background: #0a1220; color: #fff; }
body.jarvis .grid input, body.jarvis .grid select { font-size: .95rem; }

/* ---------- boutons ---------- */
body.jarvis .btn {
  font-family: var(--hud-display); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: 0;
  color: #fff; background: linear-gradient(90deg, rgba(64, 200, 255, .32), rgba(64, 200, 255, .14)); border: 1px solid var(--hud-cyan);
  text-shadow: 0 0 8px rgba(64, 200, 255, .8);
  clip-path: polygon(0 8px, 8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
  transition: background .15s, box-shadow .15s;
}
body.jarvis .btn:hover, body.jarvis .btn:focus-visible { filter: none; background: rgba(64, 200, 255, .38); box-shadow: 0 0 18px rgba(64, 200, 255, .45); outline: none; }
body.jarvis .btn-ghost { background: rgba(64, 200, 255, .06); color: var(--ink); border-color: var(--hud-line-strong); text-shadow: none; }
body.jarvis .btn-danger { background: rgba(208, 59, 59, .12); color: #ffb3b3; border-color: rgba(255, 120, 120, .6); text-shadow: none; }
body.jarvis .btn-danger:hover { background: rgba(208, 59, 59, .3); box-shadow: 0 0 18px rgba(208, 59, 59, .4); }
body.jarvis .btn-warn { background: rgba(250, 178, 25, .12); color: #ffd27a; border-color: rgba(250, 178, 25, .6); text-shadow: none; }
body.jarvis .btn-sm { font-size: .66rem; }
body.jarvis .btn-lg { font-size: .9rem; }
body.jarvis.mod-colonnes .btn:not(.btn-ghost):not(.btn-danger):not(.btn-warn) { background: linear-gradient(90deg, rgba(127, 180, 255, .34), rgba(127, 180, 255, .14)); border-color: #7fb4ff; }
body.jarvis.mod-parlophone .btn:not(.btn-ghost):not(.btn-danger):not(.btn-warn) { background: linear-gradient(90deg, rgba(164, 194, 41, .4), rgba(164, 194, 41, .14)); border-color: #a8d13a; text-shadow: 0 0 8px rgba(168, 209, 58, .7); }
body.jarvis .btn.favori { background: #a4c229; color: #0a1220; text-shadow: none; }
body.jarvis .icon { color: var(--muted); }
body.jarvis .step { background: var(--hud-field); color: #fff; border-color: var(--hud-line-strong); border-radius: 0; }
body.jarvis .step:active { background: rgba(64, 200, 255, .2); }

/* ---------- messages, onglets, pastilles ---------- */
body.jarvis .flash { background: rgba(10, 18, 32, .92); border: 1px solid var(--hud-line-strong); border-left-width: 4px; color: var(--ink); border-radius: 0; }
body.jarvis .flash-ok { border-left-color: #0ca30c; }
body.jarvis .flash-err { border-left-color: #d03b3b; }
body.jarvis .flash-warn { border-left-color: #fab219; }
body.jarvis .tabs a, body.jarvis .chip, body.jarvis .coul-mode a { background: transparent; color: #a9bdd3; border-color: var(--line); }
body.jarvis .tabs a.on, body.jarvis .chip.on, body.jarvis a.chip.on, body.jarvis .coul-mode a.on { background: rgba(64, 200, 255, .22); color: #fff !important; border-color: var(--hud-cyan); }
body.jarvis.mod-colonnes main .tabs a.on { background: rgba(127, 180, 255, .25); border-color: #7fb4ff; }
body.jarvis.mod-colonnes main .tabs a:not(.on) { color: #a9bdd3; }
body.jarvis.mod-colonnes main a:not(.btn):not(.kpi) { color: #9cc6ff; }
body.jarvis a.chip:hover { border-color: var(--hud-cyan); color: #fff; }
body.jarvis .seg span { background: transparent; color: var(--muted); border-color: var(--line); }
body.jarvis .seg-a_faire input:checked + span { background: rgba(169, 189, 211, .2); color: #fff; }
body.jarvis .seg-en_cours input:checked + span { background: rgba(245, 158, 11, .22); color: #ffd27a; }
body.jarvis .seg-termine input:checked + span { background: rgba(16, 185, 129, .22); color: #7ff0c4; }
body.jarvis .seg-sans_objet input:checked + span { background: rgba(169, 189, 211, .12); color: var(--muted); }
/* badges et étiquettes : fond teinté sombre, texte clair */
body.jarvis .badge, body.jarvis .tag { filter: saturate(1.1); }
body.jarvis .b-libre, body.jarvis .b-reporte, body.jarvis .t-doc-autre { background: rgba(169, 189, 211, .16); color: #c3d4e6; }
body.jarvis .b-config { background: rgba(111, 155, 224, .22); color: #b9d2ff; }
body.jarvis .b-attente-fss, body.jarvis .b-sit-fss, body.jarvis .b-etude { background: rgba(168, 85, 247, .2); color: #dbb8ff; }
body.jarvis .t-compteurs { background: rgba(16, 185, 129, .22); color: #7ff0c4; }
body.jarvis .tag.t-site { background: rgba(64, 140, 255, .18); color: #b9d2ff; }
body.jarvis .tag.t-note { background: rgba(250, 178, 25, .18); color: #ffd27a; }
body.jarvis .t-platine { background: #a4c229; color: #0a1220; }

/* ---------- tableaux ---------- */
body.jarvis .table-wrap { background: rgba(10, 18, 32, .7); border-color: var(--line); border-radius: 0; }
body.jarvis .grid th, body.jarvis .grid td { border-bottom-color: rgba(64, 200, 255, .08); }
body.jarvis .grid thead th, body.jarvis .grid tfoot th { background: rgba(64, 200, 255, .07); color: var(--muted); font-family: var(--hud-display); font-size: .66rem; letter-spacing: .12em; }
body.jarvis .grid tbody tr:hover td { background: rgba(64, 200, 255, .05); }
body.jarvis table.dossiers tr.clic:hover td { background: rgba(64, 200, 255, .1); }
body.jarvis table.etapes tr { border-bottom-color: rgba(64, 200, 255, .08); }
body.jarvis table.etapes tr.etape-na td { background: transparent; }
body.jarvis table.grid tr.sel td { background: rgba(164, 194, 41, .14); }
body.jarvis table.grid tr.ecart-indice td { background: var(--warn-bg); }
body.jarvis .logements tfoot tr.ajout td { background: rgba(64, 200, 255, .05); }
body.jarvis tr:target td, body.jarvis .planning tr:target > td { background: rgba(250, 178, 25, .22) !important; box-shadow: inset 0 2px 0 #fab219, inset 0 -2px 0 #fab219; }
/* planning parlophone : états des créneaux */
body.jarvis .planning tr.st-fait td { background: rgba(12, 163, 12, .12); }
body.jarvis .planning tr.st-absent td { background: rgba(250, 178, 25, .1); }
body.jarvis .planning tr.st-annule td { background: rgba(208, 59, 59, .1); }
body.jarvis .planning tr.st-libre input { background: var(--hud-field); }
body.jarvis .planning tr.st-attente td { background: rgba(250, 178, 25, .06); }
body.jarvis .planning tr.st-config td { background: rgba(111, 155, 224, .1); }
body.jarvis .planning tr.st-indispo td { background: rgba(169, 189, 211, .06); color: var(--muted); }
body.jarvis .rdv-line { background: rgba(10, 18, 32, .86); border-color: var(--line); }
body.jarvis .rdv-line:active { background: rgba(64, 200, 255, .12); }
body.jarvis .rdv-line.st-config { background: rgba(111, 155, 224, .1); }
body.jarvis .pose.on { background: rgba(164, 194, 41, .14); }
body.jarvis .combo-list { background: #0a1220; border-color: var(--hud-line-strong); }
body.jarvis .combo-list li:hover, body.jarvis .combo-list li.hl { background: rgba(64, 200, 255, .18); }
body.jarvis ul.docs li { border-bottom-color: rgba(64, 200, 255, .08); }
body.jarvis ul.docs li.doc-actuel { background: rgba(64, 200, 255, .08); }
body.jarvis .alerte-err { border-color: rgba(255, 120, 120, .5); }
body.jarvis .alerte-warn { border-color: rgba(250, 178, 25, .5); }

/* ---------- Gantt (planning parlophone : journée du technicien) ---------- */
body.jarvis .gantt-piste { background: rgba(4, 9, 18, .6); border-color: var(--line); }
body.jarvis .gantt-graduation { border-left-color: rgba(64, 200, 255, .15); }
body.jarvis .g-pris { background: rgba(10, 18, 32, .9); color: #fff; }
body.jarvis .g-retard { background: rgba(208, 59, 59, .35); color: #fff; }
body.jarvis .g-absent, body.jarvis .g-annule, body.jarvis .g-reporte { background: rgba(250, 178, 25, .3); color: #fff; }
body.jarvis .g-libre { background: repeating-linear-gradient(45deg, rgba(64, 200, 255, .06), rgba(64, 200, 255, .06) 4px, transparent 4px, transparent 8px); }
body.jarvis .gantt-maintenant { border-left-color: #ff5a4f; box-shadow: 0 0 8px #ff5a4f; }

/* ---------- planning des phases (colonnes) et calendrier ---------- */
body.jarvis .gantt, body.jarvis .calendrier { background: rgba(10, 18, 32, .86); border-color: var(--line); }
body.jarvis .g-row { border-bottom-color: rgba(64, 200, 255, .08); }
body.jarvis .g-label { background: #0a1220; border-right-color: var(--line); }
body.jarvis .g-track { background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--jour) - 1px), rgba(64, 200, 255, .07) calc(var(--jour) - 1px), rgba(64, 200, 255, .07) var(--jour)); }
body.jarvis .g-entete, body.jarvis .g-entete .g-label { background: #0d1828; }
body.jarvis .g-we { background: rgba(64, 200, 255, .04); }
body.jarvis .g-rdv-demi, body.jarvis .g-rdv-demi .demi-m, body.jarvis .leg-demi .demi-m, body.jarvis .cal-demi.demi-m { background: #0a1220; }
body.jarvis .g-rdv-demi .demi-am.vide { background-color: color-mix(in srgb, var(--c) 35%, #0a1220); }
body.jarvis .g-jalon { background: #fff; border-color: #0a1220; }
body.jarvis .cal-tete { background: #0d1828; border-bottom-color: var(--line); }
body.jarvis .cal-jour { border-color: rgba(64, 200, 255, .08); }
body.jarvis .cal-jour.we { background: rgba(64, 200, 255, .03); }
body.jarvis .cal-jour.hors { background: rgba(4, 9, 18, .6); }
body.jarvis .cal-demi.demi-m { color: var(--ink); }

/* ---------- chiffrage, RC, analyses (colonnes) ---------- */
body.jarvis .chif-niveaux td.distri { background: rgba(127, 180, 255, .1); }
body.jarvis .chif-table .qte-in.force { background: rgba(250, 178, 25, .18); border-color: rgba(250, 178, 25, .6); }
body.jarvis .chif-titre td, body.jarvis .recap-table tr.recap-titre td, body.jarvis .sd-table tr.sd-sec td { background: rgba(64, 200, 255, .07); }
body.jarvis .sit-table tr.saisie td { background: rgba(164, 194, 41, .1); }
/* barre « Enregistrer » collée en bas des pages de saisie (situation, chiffrage…) : fond sombre opaque, texte clair */
body.jarvis .savebar { background: rgba(6, 12, 24, .97); border-color: var(--hud-line-strong); color: var(--hud-ink);
  box-shadow: 0 -4px 18px rgba(0, 0, 0, .55), 0 0 0 1px rgba(64, 200, 255, .08) inset; backdrop-filter: blur(4px); }
body.jarvis .savebar b { color: var(--hud-cyan); }
body.jarvis .journal-barre { background: rgba(6, 12, 24, .97); border-top-color: var(--hud-line-strong); color: var(--hud-ink);
  box-shadow: 0 -4px 18px rgba(0, 0, 0, .55); backdrop-filter: blur(4px); }
body.jarvis .journal-barre > summary span:first-child { color: var(--hud-cyan); }
/* plaques : encadré « 3. Plaque finale (L × H) » (fond vert clair écrit en dur) */
body.jarvis .final-box { background: rgba(164, 194, 41, .12); border-color: var(--brand); color: var(--hud-ink); }
body.jarvis .final-box b { color: var(--brand-dark); }
body.jarvis .recap-table thead th, body.jarvis .sd-table thead th { background: rgba(64, 200, 255, .1); }
body.jarvis .recap-table tr.recap-totaux td { background: rgba(250, 178, 25, .1); }

/* ---------- compte ENEDIS : données masquées (noms, téléphones) avec la mention « Données RGPD » ---------- */
body.jarvis.role-enedis .masque { background: rgba(208, 59, 59, .14); border-color: rgba(255, 120, 120, .55); color: #fff; }
body.jarvis.role-enedis .masque::after { color: rgba(255, 160, 160, .8); }

/* ---------- ce qui reste volontairement blanc (papier, signature, plans) ---------- */
body.jarvis .sheet { color: #000; }
body.jarvis .sigpad canvas, body.jarvis .sig-full { background: #fff; }
body.jarvis .mail-apercu { background: #fff; color: #222; }

/* ---------- divers ---------- */
body.jarvis dialog { background: rgba(6, 12, 24, .98); color: var(--ink); border: 1px solid var(--hud-line-strong); box-shadow: 0 0 40px rgba(64, 200, 255, .3); }
body.jarvis dialog::backdrop { background: rgba(2, 5, 12, .7); backdrop-filter: blur(3px); }
body.jarvis details > summary { cursor: pointer; }
body.jarvis hr { border-color: var(--line); }
body.jarvis .crumbs a { color: var(--hud-cyan); }
body.jarvis ::selection { background: rgba(64, 200, 255, .4); color: #fff; }

/* ---------- menu son 🔊 (bas à droite) : même style que dans le module Pointage affaire ---------- */
@keyframes pc-menu-ouvre { from { opacity: 0; transform: translateY(8px); } }
body.jarvis .pc-audio { position: fixed; right: 16px; bottom: 16px; z-index: 40; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
body.jarvis .pc-audio-menu { width: 300px; max-width: calc(100vw - 32px); padding: 12px 14px; background: rgba(4, 9, 18, .96); border: 1px solid var(--hud-line-strong);
  box-shadow: 0 0 24px rgba(64, 200, 255, .3); backdrop-filter: blur(8px); clip-path: polygon(0 10px, 10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
  animation: pc-menu-ouvre .18s ease; }
body.jarvis .pc-audio-menu[hidden] { display: none; }
body.jarvis .pc-audio-titre { font-family: var(--hud-display); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--hud-cyan); margin-bottom: 8px; }
body.jarvis .pc-audio-ligne { display: grid; grid-template-columns: 46px 1fr 44px; grid-template-rows: auto auto; gap: 4px 10px; align-items: center; padding: 8px 0;
  border-top: 1px solid rgba(64, 200, 255, .1); }
body.jarvis .pc-audio-ligne .pc-audio-on { grid-row: 1 / 3; }
body.jarvis .pc-audio-nom { font-weight: 600; color: var(--hud-ink); }
body.jarvis .pc-audio-ligne .pc-audio-vol { grid-column: 2 / 3; width: 100%; }
body.jarvis .pc-audio-pct { grid-column: 3; grid-row: 1 / 3; text-align: right; font-family: var(--hud-display); font-size: .78rem; color: #fff; font-variant-numeric: tabular-nums; }
body.jarvis .pc-audio-on { min-height: 0; height: 30px; padding: 0; cursor: pointer; font-family: var(--hud-display); font-size: .66rem; letter-spacing: .1em;
  color: #fff; background: rgba(64, 200, 255, .22); border: 1px solid var(--hud-cyan); box-shadow: 0 0 10px rgba(64, 200, 255, .35); }
body.jarvis .pc-audio-on[aria-pressed="false"] { background: transparent; border-color: rgba(169, 189, 211, .35); color: var(--hud-muted); box-shadow: none; }
body.jarvis .pc-audio-ligne.coupe .pc-audio-nom, body.jarvis .pc-audio-ligne.coupe .pc-audio-pct { opacity: .5; }
body.jarvis .pc-audio-ligne.coupe .pc-audio-vol { opacity: .45; }
body.jarvis .pc-audio-vol { -webkit-appearance: none; appearance: none; width: 110px; height: 4px; min-height: 0; padding: 0; border: 0; border-radius: 4px; cursor: pointer;
  background: linear-gradient(90deg, var(--hud-cyan) var(--vol, 45%), rgba(64, 200, 255, .15) var(--vol, 45%)); box-shadow: none; }
body.jarvis .pc-audio-vol::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px var(--hud-cyan); }
body.jarvis .pc-audio-vol::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 8px var(--hud-cyan); }
body.jarvis .pc-audio-vol:focus { box-shadow: none; outline: none; }
body.jarvis .pc-son { position: relative; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; font-size: 1.15rem;
  background: rgba(4, 9, 18, .9); border: 1px solid var(--hud-line-strong); color: #fff; box-shadow: 0 0 14px rgba(64, 200, 255, .3); padding: 0; min-height: 0; }
body.jarvis .pc-son:hover { border-color: var(--hud-cyan); box-shadow: 0 0 20px rgba(64, 200, 255, .55); }
body.jarvis .pc-son[aria-pressed="false"] { opacity: .55; }
body.jarvis .pc-son[aria-expanded="true"] { border-color: var(--hud-cyan); box-shadow: 0 0 22px rgba(64, 200, 255, .6); }

@media (prefers-reduced-motion: reduce) { body.jarvis::after { animation: none; display: none; } }
@media print {
  body.jarvis { background: #fff !important; color: #000; font-family: system-ui, sans-serif; }
  body.jarvis::after { display: none; }
  body.jarvis .card, body.jarvis .journee, body.jarvis .table-wrap { background: #fff; clip-path: none; box-shadow: none; }
  body.jarvis .grid thead th { background: #eee; color: #000; }
  body.jarvis * { color: #000 !important; text-shadow: none !important; }
}

/* menu son : ligne sans curseur (bruit de la souris) */
body.jarvis .pc-audio-simple, .mod-casier .pc-audio-simple { grid-template-rows: auto; }
body.jarvis .pc-audio-simple .pc-audio-on, .mod-casier .pc-audio-simple .pc-audio-on { grid-row: auto; }
