/* Onglet steve_cfg -- squelette repris du standard portail (#47/#116) : .tree-group-header/.tree-cat (portal.css, commun) + volet retractable 260px (largeur standard, cf organisation.css pour la reference nested). */
.agent-tab { padding:0; height:100%; display:flex; flex-direction:column; }
main > #tab-steve_cfg-slot { padding:0; overflow:hidden; }
main > #tab-steve_cfg-slot section { padding:0; flex:1; min-height:0; display:flex; flex-direction:column; }

.agent-layout { display:grid; grid-template-columns:260px 1fr; flex:1; min-height:0; transition:grid-template-columns .2s; }
.agent-layout.sidebar-hidden { grid-template-columns:0 1fr; }
.agent-layout.sidebar-hidden #steve_cfg-sidebar { visibility:hidden; border-right:none; }
#steve_cfg-sidebar { background:rgba(20,20,23,.25); border-right:1px solid rgba(255,255,255,.1); overflow-y:auto; backdrop-filter:blur(24px) saturate(180%); }
#steve_cfg-tree { list-style:none; margin:0; padding:.35rem 0; }

/* Groupe niveau 1 -- .tree-group-header customise (commun portal.css) */
.agent-group { margin-bottom:.15rem; }
.agent-group-header { padding:.5rem .85rem .4rem; align-items:center; text-transform:none; letter-spacing:normal; font-size:.78rem; display:flex; gap:.5rem; cursor:pointer; }
.agent-group-header:hover { background:rgba(var(--p-base-rgb),.06); }
.agent-group-header .agent-gicon { color:var(--p-base); flex-shrink:0; display:inline-flex; align-items:center; }
.agent-group-header .g-name { flex:1; }
.agent-group-header .g-chevron { margin-left:.4rem; transition:transform .15s; color:var(--p-base); }
.agent-group.collapsed .g-chevron { transform:rotate(-90deg); }
.agent-group.collapsed .agent-group-items { display:none; }
.agent-group-items { list-style:none; margin:0; padding:0; }
/* Groupe navigable (clic sur le libelle = section overview, clic chevron = repli seul) --
   titre categorie toujours dans la teinte principale du portail (comme Pepper) */
.agent-group-header.agent-navgroup .g-name { cursor:pointer; color:var(--p-base); }
.agent-group-header.agent-navgroup.active { background:rgba(var(--p-glow-rgb),.10); }
.agent-group-header.agent-navgroup.active .agent-gicon { color:var(--p-base); }
.agent-group-empty { padding:.3rem .85rem .5rem 1.6rem; font-size:.7rem; font-style:italic; color:#52525b; }
/* Entree solo sans sous-sections (ex: Vue d'ensemble) -- grisee tant que vide, redevient
   normale des que du contenu reel est branche (retirer le flag ready sur le noeud) */
.agent-group-header.agent-navgroup.is-empty .g-name { color:#52525b; }
.agent-group-header.agent-navgroup.is-empty .agent-gicon { color:#3f3f46; }

/* Sous-groupe niveau 2 (ex: Cady/Bricolage) -- meme mecanique, indentation +1.1rem */
.agent-subgroup { list-style:none; }
.agent-subgroup-header { display:flex; align-items:center; gap:.4rem; padding:.45rem .85rem .4rem 1.6rem; font-size:.8rem; color:#d4d4d8; cursor:pointer; }
.agent-subgroup-header:hover { color:var(--p-light); }
.agent-subgroup-header .agent-icon { color:var(--p-light); flex-shrink:0; display:inline-flex; align-items:center; }
.agent-subgroup-header .agent-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agent-subgroup-header .g-chevron { margin-left:.4rem; transition:transform .15s; }
/* Sous-groupe sans page propre ET sans rien de reel a l'interieur : grise integralement */
.agent-subgroup-header.is-empty { color:#52525b; }
.agent-subgroup-header.is-empty .agent-icon { color:#3f3f46; }
.agent-subgroup.collapsed .g-chevron { transform:rotate(-90deg); }
.agent-subgroup.collapsed .agent-subgroup-items { display:none; }
.agent-subgroup-items { list-style:none; margin:0; padding:0; }
.agent-subgroup-items .tree-cat { padding-left:2.7rem; }

.agent-group-items .tree-cat { padding-left:1.6rem; font-size:.8rem; color:#d4d4d8; text-transform:none; letter-spacing:normal; }
.agent-icon { color:var(--p-light); flex-shrink:0; display:inline-flex; align-items:center; }
.tree-cat.active .agent-icon { color:var(--p-base); }
.agent-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Sous-categorie sans contenu reel -- titre grise, redevient normal quand la sous-categorie recoit du contenu (retirer is-empty) */
.tree-cat.is-empty .agent-label { color:#52525b; }
.tree-cat.is-empty .agent-icon { color:#3f3f46; }

#steve_cfg-main { display:flex; flex-direction:column; background:transparent; position:relative; overflow:hidden; min-height:0; }

#steve_cfg-content { flex:1; overflow-y:auto; padding:1rem 1.2rem; display:flex; flex-direction:column; gap:.85rem; }

/* CARRIERE > Salaires (reglages techniques) -- meme famille visuelle que steve.css (st-*) */
.cfg-card { background:rgba(24,24,27,.5); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:1rem 1.1rem; max-width:640px; }
.cfg-card h3 { margin:0 0 .4rem; font-size:.95rem; color:var(--p-light); }
.cfg-help { font-size:.78rem; color:#a1a1aa; line-height:1.4; margin:0 0 .6rem; }
.cfg-input-row { display:flex; gap:.5rem; }
.cfg-input { width:100%; box-sizing:border-box; background:rgba(39,39,42,.7); color:#e4e4e7; border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:.45rem .6rem; font:inherit; font-size:.82rem; }
.cfg-input:focus { outline:none; border-color:rgba(var(--p-base-rgb),.6); }
.cfg-input-row .cfg-btn { flex-shrink:0; }
.cfg-actions { display:flex; align-items:center; gap:.6rem; margin-top:.55rem; }
.cfg-btn { background:rgba(var(--p-base-rgb),.15); color:var(--p-base); border:1px solid rgba(var(--p-base-rgb),.4); border-radius:6px; padding:.32rem .7rem; font-size:.8rem; cursor:pointer; }
.cfg-btn:hover { background:rgba(var(--p-base-rgb),.28); }
.cfg-btn-sec { background:rgba(39,39,42,.55); color:#d4d4d8; border-color:rgba(255,255,255,.14); }
.cfg-btn-sec:hover { background:rgba(63,63,70,.7); }
.cfg-note { font-size:.72rem; color:#71717a; margin:.55rem 0 0; line-height:1.4; }
.agent-empty { color:#64748b; font-style:italic; padding:1rem; }

/* Popup de navigation dossier (bouton "Parcourir") */
.cfg-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:1000; }
.cfg-modal { background:#18181b; border:1px solid rgba(255,255,255,.12); border-radius:10px; width:min(560px, 92vw); max-height:80vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.cfg-modal-head { display:flex; align-items:center; gap:.6rem; padding:.7rem .9rem; border-bottom:1px solid rgba(255,255,255,.08); }
#cfg-modal-path { flex:1; font-size:.74rem; color:#a1a1aa; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:monospace; direction:rtl; text-align:left; }
.cfg-modal-close { background:none; border:none; color:#a1a1aa; font-size:1.3rem; line-height:1; cursor:pointer; padding:0 .2rem; flex-shrink:0; }
.cfg-modal-close:hover { color:#e4e4e7; }
.cfg-modal-list { flex:1; overflow-y:auto; padding:.4rem; min-height:180px; }
.cfg-modal-item { padding:.42rem .6rem; border-radius:6px; font-size:.82rem; color:#d4d4d8; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cfg-modal-item:hover { background:rgba(var(--p-base-rgb),.14); color:var(--p-light); }
.cfg-modal-up { color:var(--p-light); font-style:italic; }
.cfg-modal-actions { display:flex; justify-content:flex-end; gap:.5rem; padding:.7rem .9rem; border-top:1px solid rgba(255,255,255,.08); }

/* C17 : intitule de champ. .cfg-input-row est un flex sans notion de libelle ;
   une largeur fixe garde les cinq lignes alignees. */
.cfg-lbl { flex:0 0 9.5rem; align-self:center; font-size:.8rem; color:#a1a1aa; }
.cfg-input-row + .cfg-input-row { margin-top:.4rem; }
