/* ============================================================
   LE VOLET DE NOTE — habillage
   Regles reprises telles quelles de ui.R pour que le volet soit
   identique dans le dashboard et dans la fenetre.
   ============================================================ */

/* --- champs (identique a ui.R) --- */
.form-control, .form-select {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
textarea {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
input:focus, select:focus, textarea:focus,
.form-control:focus, .form-select:focus {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: #ff8c00 !important;
  box-shadow: none !important;
}

/* --- boutons TJ (identique a ui.R) --- */
.tj-btn { display:inline-flex; align-items:center; justify-content:center; height:32px;
          padding:0 16px; font-size:12px; font-weight:500; border-radius:6px; border:none;
          cursor:pointer; font-family:inherit; transition:opacity 0.15s; white-space:nowrap; }
.tj-btn-primary { background:rgba(255,140,0,0.08); color:#e08000;
                  border:1px solid rgba(255,140,0,0.3) !important; }
.tj-btn-primary:hover { background:rgba(255,140,0,0.15); }
.tj-btn-secondary { background:transparent; color:var(--text-primary);
                    border:1px solid var(--border-color) !important; }
.tj-btn-secondary:hover { background:var(--bg-secondary); }
.tj-btn-sm { height:28px; padding:0 12px; font-size:11px; }

[data-bs-theme=dark] .tj-tpl-btn {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
  background: var(--bg-tertiary) !important;
}
[data-bs-theme=dark] .tj-tpl-btn:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: var(--text-secondary) !important;
}
[data-bs-theme=dark] #tj-dp-tpl-bar .btn-outline-secondary {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
  background: var(--bg-tertiary) !important;
}
[data-bs-theme=dark] #tj-dp-tpl-bar .btn-outline-secondary:hover {
  color: #fff !important; border-color: #999 !important;
  background: rgba(255,255,255,0.12) !important;
}

/* ============================================================
   COLORATION DES TOKENS
   Le calque et le champ partagent EXACTEMENT la meme metrique :
   meme police, meme taille, meme interligne, meme padding, meme bordure.
   Toute divergence ici ferait doubler le texte a l'ecran.
   ============================================================ */
.nd-hlwrap { position:relative; width:100%; font-family:inherit; }
.nd-hl {
  position:absolute; top:0; left:0; right:0; bottom:0;
  overflow:hidden; pointer-events:none; z-index:0;
  white-space:pre-wrap; overflow-wrap:break-word; word-break:break-word;
  color:var(--text-primary);
  font-family:inherit !important; font-size:13px; line-height:1.5;
  padding:6px 12px; border:1px solid transparent; border-radius:4px;
  text-align:left;
}
textarea.nd-hl-ta {
  position:relative; z-index:1;
  background:transparent !important;
  color:transparent !important;
  caret-color:var(--text-primary);
  font-family:inherit !important;
  font-size:13px !important; line-height:1.5 !important;
  padding:6px 12px !important; border-width:1px !important; border-radius:4px !important;
  white-space:pre-wrap; overflow-wrap:break-word; word-break:break-word;
}
textarea.nd-hl-ta::selection { background:rgba(255,140,0,0.30); color:transparent; }
textarea.nd-hl-ta::placeholder { color:var(--text-muted) !important; }

/* epaississement au trait : la largeur des caracteres ne bouge pas */
.nd-hl-a { color:#64b5f6; -webkit-text-stroke:0.4px #64b5f6; }
.nd-hl-v { color:#ff8c00; -webkit-text-stroke:0.35px #ff8c00; }
.nd-hl-s { color:#4caf50; -webkit-text-stroke:0.35px #4caf50; }
.nd-hl-t { color:#7986cb; -webkit-text-stroke:0.35px #7986cb; }
[data-bs-theme=light] .nd-hl-a { color:#2f7cc4; -webkit-text-stroke-color:#2f7cc4; }
[data-bs-theme=light] .nd-hl-v { color:#c4620a; -webkit-text-stroke-color:#c4620a; }
[data-bs-theme=light] .nd-hl-s { color:#2f7d4f; -webkit-text-stroke-color:#2f7d4f; }
[data-bs-theme=light] .nd-hl-t { color:#5a63b8; -webkit-text-stroke-color:#5a63b8; }
