/* Onglet warren_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-warren_cfg-slot { padding:0; overflow:hidden; }
main > #tab-warren_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 #warren_cfg-sidebar { visibility:hidden; border-right:none; }
#warren_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%); }
#warren_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; }
.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; }
.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; }
.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; }

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

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

/* ============================================================================
   Reglages BUDGET -- CSS "cfg-*"/"hcfg-*"/"icfg-*"/"kpicfg-*" portee depuis claude-professionnel
   (steve_cfg.css) et claude-health (sante.css) : 1re utilisation sur claude-business, aucune
   duplication existante a eviter. A promouvoir vers css/portal.css commun si une 3e page cfg
   (hors Warren) les reutilise un jour.
   ============================================================================ */
.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:900px; }
.wbcfg-card h3 { margin:0 0 .6rem; font-size:1rem; color:var(--p-light); display:flex; align-items:center; gap:.4rem; }
.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; }
/* 2026-07-27 (demande Vincent, auto-save) : feedback partage de toutes les sauvegardes auto de la
   page (#wbcfg-global-status) + statut dedie de la consigne de prompt (.wbcfg-prompt-status) --
   memes teintes que Hippocrate_cfg (sante.css .hcfg-save-status). */
.cfg-note.is-ok { color:#4ade80; }
.cfg-note.is-err { color:#f87171; }
.wbcfg-status { margin-left:auto; font-size:.76rem; }

/* 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); }

/* Sections repliables (DATASET/CATÉGORIES/KPI/IDENTITÉ/STYLE/…) */
.hcfg-sec { border-top:1px solid #232323; }
.hcfg-sec:first-of-type { border-top:none; }
.hcfg-sec summary { cursor:pointer; padding:.55rem .1rem; font-size:.76rem; font-weight:700; letter-spacing:.04em; color:#a1a1aa; list-style:none; user-select:none; }
.hcfg-sec summary::-webkit-details-marker { display:none; }
.hcfg-sec summary::before { content:'▸'; display:inline-block; margin-right:.4rem; color:var(--p-base); transition:transform .15s; }
.hcfg-sec[open] summary::before { transform:rotate(90deg); }
.hcfg-sec summary:hover { color:#e5e5e5; }
.hcfg-body { padding:.2rem .3rem .8rem; }

/* Dataset (2 comptes) */
.wbcfg-account { margin-bottom:.9rem; }
.wbcfg-account:last-child { margin-bottom:0; }
.wbcfg-account-lbl { display:block; font-size:.8rem; font-weight:600; color:#d4d4d8; margin-bottom:.3rem; }

/* Categories */
.wbcfg-cat-group { margin-bottom:.7rem; }
.wbcfg-cat-fam { font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--p-base); border-left:3px solid var(--p-base); padding:.15rem .5rem; margin-bottom:.3rem; }
.wbcfg-cat-row { display:flex; align-items:center; gap:.5rem; padding:.3rem .5rem; border-radius:6px; }
.wbcfg-cat-row:hover { background:rgba(255,255,255,.02); }
.wbcfg-cat-row.is-disabled { opacity:.45; }
.wbcfg-cat-name { width:150px; flex-shrink:0; font-size:.82rem; color:#e5e5e5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wbcfg-cat-kw { flex:1; }
.wbcfg-cat-en { flex-shrink:0; white-space:nowrap; }
.wbcfg-cat-add { display:flex; gap:.5rem; margin-top:.5rem; padding-top:.5rem; border-top:1px dashed #2a2a2a; }
.wbcfg-cat-add select { background:rgba(39,39,42,.7); color:#e4e4e7; border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:.4rem .5rem; font-size:.8rem; flex-shrink:0; }
.wbcfg-cat-add input { flex:1; }

/* KPI */
.kpicfg-hint { font-size:.74rem; color:#a1a1aa; margin:.2rem 0 .5rem; }
.kpicfg-list { display:flex; flex-direction:column; gap:.3rem; }
.kpicfg-row { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.4rem .5rem; border-radius:6px; background:rgba(255,255,255,.02); flex-wrap:wrap; }
.kpicfg-check { display:flex; align-items:center; gap:.45rem; font-size:.82rem; color:#e5e5e5; cursor:pointer; flex:1; min-width:160px; }
.kpicfg-check input { accent-color:var(--p-base); flex-shrink:0; }
.kpicfg-check em { color:#71717a; font-style:normal; font-size:.75rem; }
.kpicfg-alias { flex-shrink:0; }
.kpicfg-alias input { width:130px; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.25rem .5rem; color:#e5e5e5; font-size:.76rem; box-sizing:border-box; }
.kpicfg-alias input:focus { outline:none; border-color:var(--p-base); }
.kpicfg-zones { display:flex; align-items:center; gap:.3rem; flex-shrink:0; }
.kpicfg-zone input { width:56px; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.25rem .35rem; color:#e5e5e5; font-size:.76rem; text-align:center; box-sizing:border-box; }
.kpicfg-zone-crit input { border-color:rgba(239,68,68,.35); }
.kpicfg-zone-crit input:focus { outline:none; border-color:#ef4444; }
.kpicfg-zone-warn input { border-color:rgba(245,158,11,.35); }
.kpicfg-zone-warn input:focus { outline:none; border-color:#f59e0b; }
.kpicfg-zone-good { font-size:.68rem; color:#4ade80; text-transform:uppercase; letter-spacing:.03em; padding:0 .2rem; white-space:nowrap; }
.kpicfg-lgd { font-weight:600; padding:0 .15rem; border-radius:3px; }
.kpicfg-lgd-crit { color:#f87171; }
.kpicfg-lgd-warn { color:#fbbf24; }
.kpicfg-lgd-good { color:#4ade80; }
/* Glisser-deposer (2026-07-27, port depuis Hippocrate_cfg/claude-health) */
.kpicfg-hint .kpicfg-cnt { font-weight:700; color:var(--p-base); }
.kpicfg-hint.is-full .kpicfg-cnt { color:#f87171; }
.kpicfg-handle { cursor:grab; color:#52525b; font-size:.95rem; line-height:1; padding:0 .3rem 0 0; flex-shrink:0; user-select:none; }
.kpicfg-handle:hover { color:var(--p-base); }
.kpicfg-row.is-dragging { opacity:.4; }

/* IDENTITÉ / STYLE / LIMITES / CONTEXTE / PROMPT / DÉCLENCHEMENT */
.icfg-note { font-size:.72rem; color:#71717a; margin:.2rem 0 .5rem; }
.icfg-field { margin-bottom:.7rem; }
.icfg-field label { display:block; font-size:.75rem; color:#a1a1aa; margin-bottom:.2rem; }
.icfg-field input, .icfg-field select, .icfg-field textarea { width:100%; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.35rem .5rem; color:#e5e5e5; font-size:.85rem; box-sizing:border-box; }
.icfg-axis { display:grid; grid-template-columns:88px 70px 1fr 60px 22px; align-items:center; gap:.5rem; margin:.4rem 0; font-size:.78rem; }
.icfg-axis label { font-weight:600; color:#d4d4d8; }
.icfg-ax-lo { text-align:right; color:#71717a; font-size:.7rem; }
.icfg-ax-hi { color:#71717a; font-size:.7rem; }
.icfg-ax-val { text-align:center; font-weight:700; color:var(--p-base); }
.icfg-range { accent-color:var(--p-base); }
.icfg-maxrow { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.4rem 0; border-bottom:1px solid #2a2a2a; }
.icfg-maxrow:last-of-type { border-bottom:none; }
.icfg-maxrow label { font-size:.83rem; color:#d4d4d8; }
.icfg-maxrow input { width:60px; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.3rem .4rem; color:#e5e5e5; font-size:.85rem; text-align:center; }
.icfg-specs { display:flex; flex-direction:column; gap:.15rem; margin-bottom:.6rem; }
.icfg-spec { display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:.5rem; font-size:.8rem; cursor:pointer; padding:.25rem; border-radius:5px; }
.icfg-spec:hover { background:rgba(var(--p-base-rgb),.06); }
.icfg-spec input { accent-color:var(--p-base); }
.icfg-spec-label { font-weight:600; color:#e5e5e5; }
.icfg-spec-angle { grid-column:2; grid-row:2; color:#71717a; font-size:.7rem; }
.icfg-spec-del { background:none; border:none; color:#52525b; cursor:pointer; font-size:1.1rem; line-height:1; padding:0 .3rem; }
.icfg-spec-del:hover { color:#f87171; }
.icfg-spec-add { display:flex; flex-direction:column; gap:.3rem; border-top:1px dashed #2a2a2a; padding-top:.5rem; }
.icfg-spec-add input { background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.3rem .5rem; color:#e5e5e5; font-size:.8rem; }
.icfg-spec-add button { align-self:flex-start; background:rgba(var(--p-base-rgb),.15); color:var(--p-base); border:none; border-radius:5px; padding:.3rem .7rem; font-size:.78rem; cursor:pointer; }
.icfg-vlist { display:flex; flex-direction:column; gap:.35rem; }
.icfg-vlist .std-check, .std-check { display:flex; align-items:flex-start; gap:.5rem; font-size:.83rem; cursor:pointer; padding:.15rem 0; }
.std-check input { accent-color:var(--p-base); margin-top:.15rem; flex-shrink:0; }
.icfg-sub { display:flex; gap:.4rem; margin:.35rem 0 .5rem 1.6rem; padding:.1rem 0 .1rem .6rem; flex-wrap:wrap; border-left:2px solid rgba(var(--p-base-rgb),.5); }
.icfg-sub[hidden] { display:none !important; }
/* Ligne "Attendre N min avant de lancer" des sous-formulaires de declenchement.
   ECART ASSUME vs Hippocrate : la reference n'a aucune regle dediee, donc son champ herite du
   `width:100%` de .icfg-sub input et ecrase le libelle en colonne etroite (visible sur la capture
   Vincent). Ici le champ garde une largeur fixe pour que la phrase reste sur une ligne lisible. */
.icfg-delay-row { flex-basis:100%; align-items:center; gap:.4rem; flex-wrap:wrap; }
.icfg-delay-row input { width:auto !important; max-width:90px; min-width:0 !important; flex:0 0 auto; text-align:center; }
.icfg-delay-row span { font-size:.78rem; color:#a1a1aa; }
.icfg-sub input, .icfg-sub select { width:100%; box-sizing:border-box; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.35rem .5rem; color:#e5e5e5; font-size:.85rem; flex:1; min-width:220px; }

/* Groupes de sections (mirror Hippocrate_cfg/sante.css, portes 2026-07-27) : titre principal en
   couleur du domaine (--p-base) + separateurs de groupe. Les sous-sections restent .hcfg-sec/.hcfg-body
   (deja presentes, cf section KPI). */
.hcfg-title { margin:0 0 .6rem; font-family:'Menlo','Consolas',monospace; font-size:1rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--p-base); display:flex; align-items:center; gap:.4rem; }
/* Squelette de page identique a Hippocrate_cfg (sante.css) -- porte 2026-07-28. */
.hcfg-page { display:flex; flex-direction:column; gap:1.1rem; padding-bottom:1rem; }
.hcfg-block { background:rgba(255,255,255,.02); border:1px solid #2a2a2a; border-radius:10px; padding:.9rem 1.1rem; }
.hcfg-sec-kpi { border-top:none; }
.icfg-maxrow:last-child { border-bottom:none; }
.icfg-link { background:none; border:none; color:var(--p-base); cursor:pointer; font-size:.76rem; padding:.3rem 0 0; }
.kpicfg-row { cursor:default; }
.hcfg-group { margin-bottom: 1rem; }
.hcfg-group-title { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--p-base); opacity: .75; margin: 0 0 .3rem; padding-bottom: .25rem; border-bottom: 1px solid rgba(var(--p-base-rgb), .25); }
.hcfg-group + .hcfg-group { padding-top: .3rem; border-top: 1px dashed #2a2a2a; }

/* E45 — `.kpicfg-target` n'avait aucune regle, contrairement a sa soeur `.kpicfg-alias`.
   Sur un libelle long, la ligne de configuration KPI basculait sur deux rangs. Meme schema
   que l'alias, adapte a un <select>. */
.kpicfg-target { flex-shrink:0; }
.kpicfg-target select { width:150px; background:#1a1a1a; border:1px solid #333; border-radius:5px; padding:.25rem .5rem; color:#e5e5e5; font-size:.76rem; box-sizing:border-box; }
.kpicfg-target select:focus { outline:none; border-color:var(--p-base); }
