/* Onglet Neo -- homogeneise Topologie (devient une section) + Nodes (deplacee ici, l'ancien
   onglet Nodes devient Neo_cfg) + categories taxonomie (Serveurs/Reseau/Logiciels/Sauvegarde).
   Squelette standard (#47/#116/#128) : volet 260px retractable, .agent-group/.tree-cat. */
.agent-tab { padding:0; height:100%; display:flex; flex-direction:column; }
main > #tab-neo-slot { padding:0; overflow:hidden; }
main > #tab-neo-slot section { padding:0; flex:1; min-height:0; display:flex; flex-direction:column; }

/* Barre standard (principe #63 Barre de Filtration) -- coquille neutre, min-height fixe pour un
   chrome constant meme vide ; le chrome visuel (fond/bordure/blur) vient du toolbar embarque
   (.topo-toolbar / .nodes-toolbar) qui la remplit entierement quand deplace dedans. */
.agent-toolbar { min-height:3.15rem; box-sizing:border-box; flex-shrink:0; display:flex; }
.agent-toolbar > * { width:100%; min-width:0; }
.agent-toolbar:empty { border-bottom:1px solid rgba(255,255,255,.1); }
/* Les toolbars deplaces ici (.topo-toolbar/.nodes-toolbar) ont leur propre display:flex --
   une regle auteur bat toujours [hidden] par defaut (origine UA), meme a specificite egale.
   Garde generique pour tout enfant deplace dans la barre standard. */
.agent-toolbar > [hidden] { display:none; }

.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 #neo-sidebar { visibility:hidden; border-right:none; }
#neo-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%); }
#neo-tree { list-style:none; margin:0; padding:.35rem 0; }

.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; cursor:pointer; color:var(--p-base); }
.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; }
.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 (Vue d'ensemble) -- grisee tant que vide */
.agent-group-header.agent-navgroup.is-empty .g-name { color:#52525b; }
.agent-group-header.agent-navgroup.is-empty .agent-gicon { color:#3f3f46; }

.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; }
.tree-cat.is-empty .agent-label { color:#52525b; }
.tree-cat.is-empty .agent-icon { color:#3f3f46; }

/* Item special (Topologie / Nodes) : meme chrome que agent-navgroup mais sans chevron/enfants */
.agent-group-header.neo-special .g-chevron { display:none; }

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

#neo-content { flex:1; overflow-y:auto; padding:1rem 1.2rem; display:flex; flex-direction:column; gap:.85rem; }
#neo-content[hidden] { display:none; }
.agent-empty { color:#64748b; font-style:italic; padding:1rem; }

/* Panneaux Topologie/Nodes embarques -- pages entieres, gardent leur propre layout interne */
.neo-embed-panel { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.neo-embed-panel[hidden] { display:none; }
