/* Back-office de notre équipe (maquette v2, lot 8), sur la base de cabinet.css. */
.nav.bo .brand{gap:10px;}
.nav.bo .brand em{font-style:normal; font-size:12px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.06em;}
.nav.bo .ni .ic{width:18px; height:18px; color:var(--muted);}
.kpis{display:grid; grid-template-columns:repeat(4, 1fr); margin:28px 0 34px;}
.kpis div{padding:4px 22px; border-left:1px solid var(--line);}
.kpis div:first-child{border-left:0; padding-left:0;}
.kpis b{display:block; font-size:28px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.kpis small{display:block; font-size:13.5px; color:var(--muted);}
.bar .search{height:42px; border-radius:999px; width:260px; margin-left:auto;}
.tb .num{font-variant-numeric:tabular-nums; text-align:right;}
.tb th.num{text-align:right;}
.mut{color:var(--muted);}
.small{font-size:13.5px;}
.vform{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px;}
.vform .in{width:200px; height:42px;}
.ctrl{margin:22px 0 6px; padding:16px 20px; border-radius:16px; background:var(--soft);}
.ctrl ul{list-style:none; margin:10px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 24px;}
.ctrl li{display:flex; gap:8px; font-size:14px; color:var(--text);}
.ctrl li .ic{width:17px; height:17px; color:var(--mint-ink); stroke-width:2.4; margin-top:2px;}
.adc{padding:22px 0; border-bottom:1px solid var(--line);}
.adc .hd{display:flex; align-items:baseline; gap:12px;}
.adc .hd b{font-size:16.5px; flex:1;}
.adc .hd span{font-size:13.5px; color:var(--muted); white-space:nowrap;}
.adc small{display:block; margin-top:6px; font-size:13.5px; color:var(--muted);}
.adc .ta{margin-top:10px; min-height:90px;}
.adc .pill{margin:8px 8px 0 0;}
.adc .row{display:flex; align-items:center; gap:12px; margin-top:14px; flex-wrap:wrap;}
.adc .sel{width:auto; min-width:280px; height:40px; font-size:14px;}
.tree{border-top:1px solid var(--line); margin-top:24px;}
.fam{border-bottom:1px solid var(--line);}
.famhead{display:flex; align-items:center; gap:16px; width:100%; padding:14px 4px; border:0; background:transparent; text-align:left;}
.famhead .tx{flex:1;}
.famhead b{display:block; font-size:15.5px;}
.famhead small{display:block; font-size:13.5px; color:var(--muted); margin-top:2px;}
.famhead .ic{color:var(--muted); transition:transform .15s;}
.famhead[aria-expanded="true"] .ic{transform:rotate(180deg);}
.fambody{padding:0 0 6px;}
.lvl2{padding-left:26px;}
.lvl3{padding-left:52px;}
.base{display:flex; align-items:center; gap:14px; width:100%; padding:12px 4px 12px 56px; border:0; border-top:1px solid var(--line); background:transparent; text-align:left;}
.base:hover{background:var(--soft);}
.base .tx{flex:1;}
.base b{display:block; font-size:15px;}
.base small{display:block; font-size:13.5px; color:var(--muted); margin-top:2px;}
.topic{display:flex; align-items:center; gap:16px; padding:14px 4px; border-bottom:1px solid var(--line);}
.topic b{flex:1; font-size:15px;}
.topic span{font-size:13.5px; color:var(--muted); white-space:nowrap;}
.stepper{display:inline-flex; align-items:center; gap:10px;}
.stepper button{width:34px; height:34px; border-radius:50%; border:1px solid var(--line2); background:#fff; font-size:18px; line-height:1;}
.stepper b{min-width:90px; text-align:center; font-size:15px;}
.code{font-family:ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.02em; font-weight:700;}
.hist{margin-top:8px;}
.hist p{font-size:13.5px; color:var(--muted); padding:6px 4px; border-bottom:1px solid var(--line);}
@media (max-width: 900px){
  .kpis{grid-template-columns:1fr 1fr; gap:14px 0;}
  .ctrl ul{grid-template-columns:1fr;}
  .bar .search{width:100%; margin-left:0;}
}
/* Laboratoire des développeurs (comptes admin) : prompts, protocoles d'essai, bancs. */
.ngroup{margin:18px 0 4px; padding:0 12px; font-size:12px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.06em;}
.kick{font-size:12.5px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin:0 0 4px;}
.labo-ed{width:100%; min-height:420px; margin-top:12px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; line-height:1.55; white-space:pre-wrap;}
.vform .in{flex:1; min-width:220px;}
.pill.on{background:var(--mint); color:var(--ink); border-color:var(--mint);}
.base .pill{margin-right:8px; white-space:nowrap;}
.tb td .lnk + .lnk{margin-left:12px;}
a.base{text-decoration:none; color:inherit;}
.pill.warn{background:var(--yellow); color:var(--ink);}
.sh .sel{min-width:320px; max-width:100%; height:42px;}
.sh .fine{white-space:nowrap;}
.pill.bad{background:#FCE4E1; color:#8A2A22; border-color:#FCE4E1;}
.labo-form{display:grid; grid-template-columns:1fr 1fr; gap:18px 24px;}
.labo-form .fine{grid-column:1 / -1; margin:0;}
.labo-form .sel{width:100%; height:42px;}
.labo-tb .labo-row{cursor:pointer;}
.labo-tb .labo-row:hover td{background:var(--soft);}
.labo-tb .labo-row.diff td{background:#FFFDE8;}
.labo-tb .labo-row td .pill{margin-right:4px;}
.labo-det td{background:var(--soft); padding:16px 18px;}
.labo-reply{white-space:pre-wrap; font-size:14px; line-height:1.5; padding:12px 14px; border-radius:12px; background:#fff; box-shadow:inset 0 0 0 1px var(--line);}
.labo-facts{display:grid; grid-template-columns:max-content 1fr; gap:4px 14px; margin:14px 0 0; font-size:13px;}
.labo-facts dt{color:var(--muted);}
.labo-facts dd{margin:0; overflow-wrap:anywhere;}
.vform .sel{width:auto; min-width:240px; height:42px;}
@media (max-width:760px){.labo-form{grid-template-columns:1fr;} .labo-det .grid2{grid-template-columns:1fr;}}
.steps{margin:10px 0 0; padding-left:20px; font-size:14.5px; line-height:1.6; color:var(--text);}
.steps li + li{margin-top:4px;}
.rep{margin-top:14px;}
.rep .kpis{margin:18px 0 10px;}
.rep-box{margin-top:14px; padding:14px 18px; border-radius:14px; background:var(--soft); font-size:14px;}
.rep-box.bad{background:#FCE4E1; color:#8A2A22;}
.rep-box.warn{background:#FFFDE8; box-shadow:inset 0 0 0 1px var(--tr-line);}
.rep-box ul{margin:8px 0 0; padding-left:18px; max-height:280px; overflow:auto;}
.rep-tree{margin-top:14px; font-size:14px;}
.rep-tree summary{cursor:pointer; font-weight:700;}
.rep-tree ul{margin:4px 0 10px; padding-left:18px; color:var(--muted);}
.labo-prow{display:flex; align-items:center; gap:12px;}
.labo-prow .base{flex:1; min-width:0;}
.btn.danger{color:#8A2A22; border-color:#E7B9B3;}
.lnk.danger{color:#8A2A22;}
.nowrap{white-space:nowrap;}
.nowrap .lnk + .lnk{margin-left:12px;}
.labo-put{display:flex; flex-direction:column; gap:6px; padding:20px 22px; border-radius:16px; box-shadow:inset 0 0 0 1.5px var(--line); margin-top:18px;}
.labo-propose{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-radius:16px; background:var(--soft);}
.labo-propose > div{flex:1 1 420px;}
.lots-line{display:flex; flex-wrap:wrap; gap:8px; margin:-18px 0 22px;}
.lots-line:empty{display:none;}
