/* Habillage du bloc « objectifs » partagé (cf objectifs.js) — admin, client et
   partenaire. Classes préfixées « obj- » : les pages ont déjà des .ligne, .bascule…
   Couleurs : les jetons des pages (mêmes noms partout), avec une valeur de secours. */
.obj{display:flex;flex-direction:column;gap:10px}
.obj-resume{margin:0;padding:10px 12px;border-radius:10px;font-size:13.5px;line-height:1.5;
  background:var(--accent-doux,#1B2B47);color:var(--encre,#E8EDF5)}
.obj-aide{margin:0;font-size:13px;line-height:1.5;color:var(--encre-2,#A9B6C8)}
.obj-tp{border:1px solid var(--trait,#1E2A3D);border-radius:10px}
.obj-tp.on{border-color:var(--trait-fort,#2B3A52);background:rgba(255,255,255,.015)}
.obj-tete{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;margin:0}
.obj-tete input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--accent-plein,var(--accent,#2F6FEB))}
.obj-nom{font-weight:600;font-size:15px;color:var(--encre,#E8EDF5)}
.obj-etat{margin-left:auto;font-size:13px;color:var(--encre-3,#94A3B8)}
.obj-tp.on .obj-etat{color:var(--hausse,#4ADE9B)}
.obj-lignes{display:flex;flex-direction:column;gap:8px;padding:0 14px 12px 46px}
.obj-lignes[hidden]{display:none}
.obj-ligne{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--encre-2,#A9B6C8)}
/* Sélecteurs à 2 classes + type : les pages ont un « input[type=text]{width:100%} »
   général (l'admin) qui, sinon, étire les cases sur toute la ligne. */
.obj-ligne input[type=text]{min-height:38px;border-radius:8px;border:1px solid var(--trait-fort,#2B3A52);
  background:var(--champ,var(--papier,#0B0F17));color:var(--encre,#E8EDF5);text-align:center;
  font-family:var(--f-mono,ui-monospace,monospace);font-size:14px;padding:0 6px;box-sizing:border-box;
  display:inline-block;margin:0;flex:none}
.obj-ligne input.obj-n{width:56px}
.obj-ligne input.obj-lot{width:112px}
.obj-ligne input.obj-lot::placeholder{font-family:var(--f-ui,system-ui,sans-serif);font-size:12px}
.obj-sortie{display:inline-flex;border:1px solid var(--trait-fort,#2B3A52);border-radius:8px;overflow:hidden}
.obj-sortie button{border:0;background:transparent;color:var(--encre-3,#94A3B8);font:inherit;font-size:13px;
  padding:8px 10px;cursor:pointer;line-height:1.2}
.obj-sortie button[aria-pressed="true"]{background:var(--accent-doux,#1B2B47);color:var(--encre,#E8EDF5);font-weight:600}
.obj-retirer{margin-left:auto;border:0;background:transparent;color:var(--encre-3,#94A3B8);font-size:18px;
  cursor:pointer;padding:0 6px;line-height:1}
.obj-ajout{align-self:flex-start;background:transparent;border:1px dashed var(--trait-fort,#2B3A52);
  color:var(--accent-survol,#8FB4FF);border-radius:8px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer}
/* « Protéger mon trade » (23/10) : la coche du stop au prix d'entrée au TP1. */
.obj-titre{margin:6px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-3,#94A3B8)}
.obj-be + .obj-be{margin-top:-2px}
.obj-be{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0;cursor:pointer;
  border:1px solid var(--trait,#1E2A3D);border-radius:10px}
.obj-be.on{border-color:var(--accent-plein,var(--accent,#2F6FEB));background:rgba(255,255,255,.015)}
.obj-be input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent-plein,var(--accent,#2F6FEB))}
.obj-be b{display:block;font-size:14.5px;color:var(--encre,#E8EDF5);line-height:1.4}
.obj-be small{display:block;margin-top:3px;font-size:13px;color:var(--encre-2,#A9B6C8);line-height:1.4}
@media (max-width:560px){
  .obj-lignes{padding-left:14px}
  .obj-ligne{padding-bottom:8px;border-bottom:1px solid var(--trait,#1E2A3D)}
  .obj-retirer{margin-left:0}
}
