/* ===== ATLAS BRAIN · styles Company Health + Decision Center ===== */

/* ---------- Company Health ---------- */
.health-hero{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:22px;
  background:linear-gradient(160deg,rgba(124,58,237,.1),rgba(37,99,235,.06));border:1px solid rgba(168,130,255,.24);border-radius:18px;padding:22px}
.health-gwrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.health-gauge{width:158px;height:158px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.hg-in{width:122px;height:122px;border-radius:50%;background:#0c1838;display:grid;place-items:center;text-align:center}
body.theme-light .hg-in{background:#fff}
.hg-s{font:700 2.7rem/1 'Space Grotesk',sans-serif}
.hg-l{font-size:.72rem;color:var(--dim);margin-top:2px}
.hg-t{font-size:.7rem;font-weight:700;color:var(--mid);margin-top:5px;text-transform:uppercase;letter-spacing:.5px}
.hg-cap{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--mid)}
.health-kpis{flex:1;min-width:280px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}

.health-alerts{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.health-alert{display:flex;align-items:center;gap:13px;border-radius:14px;padding:13px 15px;border:1px solid var(--line2)}
.health-alert.crit{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.34)}
.health-alert.weak{background:rgba(245,159,66,.09);border-color:rgba(245,159,66,.3)}
.health-alert .ha-ic{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.health-alert.crit .ha-ic{background:rgba(248,113,113,.18);color:#f87171}
.health-alert.weak .ha-ic{background:rgba(245,159,66,.18);color:#f5b942}
.health-alert .ha-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.ha-b{flex:1;min-width:0}
.ha-b h4{font-size:.9rem;font-weight:700;color:var(--txt);margin:0}
.ha-b p{font-size:.78rem;color:var(--mid);margin:3px 0 0}

.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}
.health-row{background:linear-gradient(160deg,rgba(18,34,78,.5),rgba(10,20,52,.55));border:1px solid var(--line);border-radius:14px;padding:14px 15px;cursor:pointer;transition:border-color .15s,transform .15s}
.health-row:hover{border-color:var(--blue-l);transform:translateY(-2px)}
.health-row.crit{border-color:rgba(248,113,113,.4)}
.health-row.weak{border-color:rgba(245,159,66,.36)}
.hr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.hr-label{font-size:.92rem;font-weight:700;color:var(--txt);font-family:'Space Grotesk',sans-serif}
.hr-score{font-size:.95rem;font-weight:800}
.hr-score .hd-up{color:#34d399}.hr-score .hd-down{color:#f87171}.hr-score .hd-flat{color:var(--dim)}
.hr-bar{height:8px;border-radius:50px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:9px}
.hr-bar i{display:block;height:100%;border-radius:50px}
.hr-note{font-size:.76rem;color:var(--mid);line-height:1.4}
body.theme-light .health-row{background:#fff}

/* ---------- Decision Center ---------- */
.dec-segs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.dec-seg{display:inline-flex;align-items:center;gap:7px;background:rgba(8,16,40,.5);border:1px solid var(--line2);color:var(--mid);
  border-radius:9px;padding:8px 13px;font:600 .78rem/1 'Inter',sans-serif;cursor:pointer;transition:.15s}
.dec-seg:hover{border-color:var(--blue-l);color:var(--txt)}
.dec-seg.on{background:rgba(168,130,255,.16);border-color:rgba(168,130,255,.4);color:var(--txt)}
.dec-seg .ds-n{font-size:.68rem;font-weight:800;background:rgba(255,255,255,.1);padding:1px 7px;border-radius:50px;color:var(--mid)}
body.theme-light .dec-seg{background:#fff}

.dec-card{display:flex;align-items:flex-start;gap:13px;background:linear-gradient(160deg,rgba(18,34,78,.5),rgba(10,20,52,.55));
  border:1px solid var(--line);border-radius:15px;padding:15px 16px;margin-bottom:12px}
.dec-rank{width:24px;height:24px;border-radius:7px;background:rgba(168,130,255,.16);color:#cbb8ff;font:800 .78rem/24px 'Space Grotesk',sans-serif;text-align:center;flex-shrink:0}
.dec-ic{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.dec-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.dec-b{flex:1;min-width:0}
.dec-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.dec-h h4{font-size:.92rem;font-weight:700;color:var(--txt);margin:0;line-height:1.25}
.dec-why{font-size:.8rem;color:var(--mid);margin:0 0 9px;line-height:1.4}
.dec-why b{color:var(--txt)}
.dec-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.dec-impact{font-size:.8rem;font-weight:800;color:#4ade80}
.dec-conf{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600;color:#cbb8ff}
.dec-conf svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.dec-agent{font-size:.72rem;color:var(--dim);margin-left:auto}
.dec-acts{display:flex;flex-direction:column;gap:7px;flex-shrink:0;align-self:center}
@media(max-width:640px){.dec-card{flex-wrap:wrap}.dec-acts{flex-direction:row;width:100%}.dec-agent{margin-left:0}}
body.theme-light .dec-card{background:#fff}
body.theme-light .dec-h h4,body.theme-light .dec-why b{color:#0d1f5c}

/* ---------- Evolution Engine ---------- */
.evo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px 18px}
.evo-row{background:linear-gradient(160deg,rgba(18,34,78,.5),rgba(10,20,52,.55));border:1px solid var(--line);border-radius:13px;padding:13px 15px}
.evo-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.evo-label{font-size:.86rem;font-weight:700;color:var(--txt);font-family:'Space Grotesk',sans-serif}
.evo-delta{font-size:.92rem;font-weight:800}
.evo-delta.up{color:#34d399}
.evo-delta.down{color:#f87171}
body.theme-light .evo-row{background:#fff}

/* ---------- Contrat fonctionnel (vue intégrée) ---------- */
.contract-wrap{display:flex;flex-direction:column;gap:12px}
.contract-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(160deg,rgba(124,58,237,.12),rgba(37,99,235,.06));border:1px solid rgba(168,130,255,.26);border-radius:14px;padding:12px 15px}
.contract-bar .cb-l{display:flex;align-items:center;gap:12px;min-width:0}
.contract-bar .cb-ic{width:38px;height:38px;border-radius:11px;background:rgba(168,130,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contract-bar .cb-ic svg{width:20px;height:20px;fill:none;stroke:var(--violet,#a882ff);stroke-width:2}
.contract-bar .cb-l b{font-family:'Space Grotesk',sans-serif;font-size:.96rem;color:var(--txt)}
.contract-bar .cb-l span{display:block;font-size:.74rem;color:var(--dim)}
.contract-bar .cb-r{display:flex;gap:8px;flex-wrap:wrap}
.contract-frame{width:100%;height:calc(100vh - 210px);min-height:560px;border:1px solid var(--line);border-radius:16px;background:#070d20;box-shadow:0 20px 60px -30px rgba(0,0,0,.7)}

/* ===== Atlas Brain · cockpit premium (panneau principal) ===== */
.boy-panel.abp-panel{position:relative;display:block;padding:0;gap:0;align-items:stretch;border-radius:22px;overflow:hidden;border:1px solid rgba(168,130,255,.22);
  background:linear-gradient(160deg,rgba(16,28,64,.62),rgba(8,16,40,.78));margin-bottom:26px}
.abp-panel::after{display:none}
.abp{display:grid;grid-template-columns:312px 1fr;position:relative;z-index:1}
.abp-visual{position:relative;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer;overflow:hidden;
  border-right:1px solid var(--line);background:radial-gradient(120% 70% at 50% 34%,color-mix(in srgb,var(--halo) 15%,transparent),transparent 70%);min-height:430px;transition:background .6s}
.abp-visual>:not(.abp-bg){position:relative;z-index:1}
.abp-badge{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:7px;font:700 .74rem/1 'Space Grotesk',sans-serif;color:var(--txt);
  background:rgba(8,16,40,.6);border:1px solid rgba(168,130,255,.3);padding:8px 13px;border-radius:11px;backdrop-filter:blur(6px)}
.abp-badge svg{width:15px;height:15px;stroke:var(--halo);fill:none;stroke-width:2;transition:stroke .5s;display:block;transform-origin:center center;
  animation:abpBadgePulse 2.6s ease-in-out infinite;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--halo) 55%,transparent))}
@keyframes abpBadgePulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px color-mix(in srgb,var(--halo) 45%,transparent))}
  50%{transform:scale(1.16);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--halo) 80%,transparent))}
}
@media(prefers-reduced-motion:reduce){.abp-badge svg{animation:none}}
.abp-visual .abx-core{width:100%;max-width:300px;aspect-ratio:4/3;height:auto;margin-top:10px;position:relative;z-index:1}
.abp-vstate{width:100%;display:flex;align-items:center;gap:13px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--halo) 14%,rgba(10,18,42,.95)),rgba(8,14,34,.96));
  border:1px solid color-mix(in srgb,var(--halo) 32%,var(--line2));border-radius:15px;padding:12px 14px;margin-top:-26px;position:relative;z-index:4;backdrop-filter:blur(12px);overflow:hidden;
  box-shadow:0 14px 30px -16px color-mix(in srgb,var(--halo) 60%,transparent),inset 0 1px 0 rgba(255,255,255,.06);transition:border-color .5s,background .5s}
.abp-vstate::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--halo);box-shadow:0 0 14px color-mix(in srgb,var(--halo) 80%,transparent)}
.abp-vstate-ic{position:relative;width:38px;height:38px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;color:var(--halo);
  background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--halo) 30%,transparent),color-mix(in srgb,var(--halo) 12%,transparent));
  border:1px solid color-mix(in srgb,var(--halo) 45%,transparent);transition:.5s}
.abp-vstate-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;position:relative;z-index:2;animation:abpVsBreath 2.6s ease-in-out infinite}
.abp-vstate-ping{position:absolute;inset:0;border-radius:11px;border:1.5px solid var(--halo);opacity:0;animation:abpVsPing 2.6s ease-out infinite;pointer-events:none}
@keyframes abpVsBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes abpVsPing{0%{transform:scale(1);opacity:.65}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
.abp-vstate-tx{min-width:0;flex:1}
.abp-vstate b{display:block;font:700 .8rem/1.1 'Space Grotesk',sans-serif;color:var(--txt);text-transform:uppercase;letter-spacing:.5px}
.abp-vstate span{font-size:.73rem;color:var(--dim);display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abp-vstate-tag{flex-shrink:0;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;font:800 .58rem/1 'Space Grotesk',sans-serif;letter-spacing:.8px;color:var(--halo);
  background:color-mix(in srgb,var(--halo) 16%,transparent);border:1px solid color-mix(in srgb,var(--halo) 38%,transparent);padding:5px 8px;border-radius:7px}
.abp-vstate-tag::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--halo);box-shadow:0 0 7px var(--halo);animation:abxBreath 2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.abp-vstate-ic svg,.abp-vstate-ping,.abp-vstate-tag::before{animation:none}.abp-vstate-ping{display:none}}
.abp-vsync{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;color:#86efac;font-weight:600}
.abp-vsync i{width:7px;height:7px;border-radius:50%;background:#34d399;animation:abxBreath 2.6s ease-in-out infinite}

.abp-main{padding:24px 26px;min-width:0}
.abp-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;flex-wrap:wrap}
.abp-level{font-size:.7rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#cbb8ff;background:rgba(168,130,255,.14);border:1px solid rgba(168,130,255,.3);padding:7px 13px;border-radius:9px}
.abp-livechips{display:flex;gap:8px;flex-wrap:wrap}
.abp-live{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--mid);background:rgba(8,16,40,.5);border:1px solid var(--line2);padding:6px 11px;border-radius:8px}
.abp-live i{width:7px;height:7px;border-radius:50%;background:#34d399}.abp-live i.v{background:var(--violet)}
.abp-stateline{font-size:.84rem;color:var(--dim);margin-bottom:8px}
.abp-stateline b{font-family:'Space Grotesk',sans-serif;font-size:1rem;display:inline-flex;align-items:center;gap:7px;margin-left:6px;transition:color .5s}
.abp-statedot{width:9px;height:9px;border-radius:50%;transition:background .5s}
.abp-quote{font:500 1.5rem/1.32 'Space Grotesk',sans-serif;font-style:italic;color:var(--txt);letter-spacing:-.3px}
.abp-quote-sub{font-size:.86rem;color:var(--dim);margin:6px 0 18px}

.abp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.abp-kpi{position:relative;background:rgba(8,16,40,.45);border:1px solid var(--line);border-radius:15px;padding:15px 16px;min-height:124px;backdrop-filter:blur(6px);transition:transform .2s,border-color .2s;animation:abpIn .4s ease both}
.abp-kpi:hover{transform:translateY(-2px);border-color:rgba(168,130,255,.4)}
.abp-kpi-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);margin-bottom:10px}
.abp-kpi-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.abp-kpi-v{font:700 1.7rem/1 'Space Grotesk',sans-serif;color:var(--txt)}
.abp-kpi-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--dim);margin-top:5px;font-weight:700}
.abp-kpi-s{font-size:.74rem;margin-top:7px;color:var(--blue-l);display:flex;align-items:center;gap:4px}
.abp-kpi-s svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.abp-kpi-s.up{color:#34d399}.abp-kpi-s.warn{color:#f97316}
.abp-ring{width:62px;height:62px;border-radius:50%;display:grid;place-items:center}
.abp-ring-in{width:48px;height:48px;border-radius:50%;background:#0c1838;display:grid;place-items:center}
.abp-ring-in b{font:700 .98rem 'Space Grotesk',sans-serif;color:var(--txt)}
@keyframes abpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.abp-staterow{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.abp-staterow-l{font-size:.8rem;color:var(--dim);font-weight:600}
.abp-seg{display:flex;gap:4px;background:rgba(8,16,40,.5);border:1px solid var(--line2);border-radius:11px;padding:4px;flex-wrap:wrap}
.abp-seg-b{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--mid);font:600 .8rem 'Inter',sans-serif;padding:8px 13px;border-radius:8px;cursor:pointer;transition:.15s}
.abp-seg-b:hover{color:var(--txt)}
.abp-seg-b.on{background:color-mix(in srgb,var(--halo) 22%,transparent);color:var(--txt);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--halo) 45%,transparent)}
.abp-seg-dot{width:7px;height:7px;border-radius:50%;background:var(--halo)}

.abp-reco{border:1px solid color-mix(in srgb,var(--halo) 32%,var(--line));border-radius:16px;padding:18px;position:relative;
  background:linear-gradient(160deg,color-mix(in srgb,var(--halo) 9%,transparent),transparent 60%)}
.abp-reco.calm{display:flex;align-items:center;gap:13px}
.abp-reco.calm .abp-reco-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--halo) 16%,transparent);color:var(--halo)}
.abp-reco.calm .abp-reco-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.abp-reco.calm h4{font:700 .98rem 'Space Grotesk',sans-serif;color:var(--txt)}
.abp-reco.calm p{font-size:.82rem;color:var(--mid);margin-top:3px}
.abp-reco-head{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.abp-reco-ic{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:rgba(52,211,153,.16);color:#34d399}
.abp-reco-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.abp-reco-head h4{font:700 1.06rem 'Space Grotesk',sans-serif;color:var(--txt)}
.abp-prio{margin-left:auto;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#34d399;background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.3);padding:4px 11px;border-radius:50px}
.abp-reco-txt{color:var(--mid);font-size:.92rem;margin-bottom:15px}
.abp-reco-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}
.abp-rs{display:flex;align-items:center;gap:9px;min-width:0}
.abp-rs-ic{width:30px;height:30px;border-radius:9px;flex-shrink:0;background:rgba(255,255,255,.05);display:grid;place-items:center;color:var(--dim)}
.abp-rs-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.abp-rs-l{font-size:.67rem;color:var(--dim);display:block}
.abp-rs-v{font-size:.88rem;color:var(--txt)}
.abp-reco-acts{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px}
.abp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px;font:700 .84rem 'Inter',sans-serif;cursor:pointer;border:1px solid var(--line2);background:rgba(8,16,40,.5);color:var(--mid);transition:.15s}
.abp-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.abp-btn.primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent;color:#fff;box-shadow:0 12px 28px -12px rgba(124,58,237,.85)}
.abp-btn.primary:hover{filter:brightness(1.12)}
.abp-btn.ghost:hover{border-color:var(--blue-l);color:var(--txt)}
.abp-btn.dim{opacity:.65}.abp-btn.dim:hover{opacity:1;border-color:var(--line2);color:var(--txt)}

.abp-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:15px 24px;border-top:1px solid var(--line);background:rgba(8,16,40,.42);position:relative;z-index:1}
.abp-foot-core{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:var(--halo);background:color-mix(in srgb,var(--halo) 14%,transparent)}
.abp-foot-core svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;animation:abxSpin 14s linear infinite}
.abp-fi{display:flex;align-items:center;gap:9px}
.abp-fi-ic{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:rgba(255,255,255,.04)}
.abp-fi-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.abp-fi b{display:block;font-size:.78rem;color:var(--txt)}
.abp-fi span{font-size:.7rem;color:var(--dim)}

@media(max-width:960px){
  .abp{grid-template-columns:1fr}
  .abp-visual{border-right:0;border-bottom:1px solid var(--line);min-height:auto}
  .abp-kpis,.abp-reco-stats{grid-template-columns:1fr 1fr}
  .abp-reco-acts{grid-template-columns:1fr}
}
body.theme-light .abp-panel{background:linear-gradient(160deg,#ffffff,#f3f7ff)}
body.theme-light .abp-kpi,body.theme-light .abp-vstate,body.theme-light .abp-live,body.theme-light .abp-seg,body.theme-light .abp-btn:not(.primary),body.theme-light .abp-fi-ic,body.theme-light .abp-rs-ic{background:#fff}
body.theme-light .abp-ring-in{background:#fff}
body.theme-light .abp-quote,body.theme-light .abp-kpi-v,body.theme-light .abp-reco-head h4{color:#0d1f5c}
.abp-flash{animation:abpFlash .9s ease}
@keyframes abpFlash{0%,100%{border-color:rgba(168,130,255,.22)}28%{border-color:rgba(52,211,153,.75);box-shadow:0 0 0 1px rgba(52,211,153,.4) inset}}

/* ===== Vital Core ===== */
.abp-vital{border-top:1px solid var(--line);padding:16px 26px;background:rgba(8,16,40,.32);position:relative;z-index:1}
.abp-vital-h{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.abp-vital-ic{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:var(--halo);background:color-mix(in srgb,var(--halo) 16%,transparent)}
.abp-vital-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.abp-vital-h b{font:700 .92rem 'Space Grotesk',sans-serif;color:var(--txt)}
.abp-vital-h>div span{display:block;font-size:.72rem;color:var(--dim)}
.abp-vital-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:600;color:var(--mid);background:rgba(8,16,40,.5);border:1px solid var(--line2);padding:5px 11px;border-radius:8px}
.abp-vital-live i{width:7px;height:7px;border-radius:50%;background:var(--halo);box-shadow:0 0 8px var(--halo);animation:abxBreath 2.2s ease-in-out infinite}
.abp-vital-grid{display:grid;grid-template-columns:1.1fr 1.3fr .85fr;gap:24px;align-items:center}
.abp-vcol{min-width:0}
.abp-vlabel{display:flex;justify-content:space-between;font-size:.74rem;color:var(--dim);margin-bottom:6px}
.abp-vlabel b{color:var(--txt);font-weight:700}
.abp-ebar{height:10px;border-radius:50px;background:rgba(255,255,255,.06);overflow:hidden}
.abp-ebar.slim{height:7px}
.abp-ebar i{display:block;height:100%;border-radius:50px;background:linear-gradient(90deg,color-mix(in srgb,var(--halo) 65%,#fff),var(--halo));box-shadow:0 0 12px color-mix(in srgb,var(--halo) 65%,transparent);animation:abpEbar 2.6s ease-in-out infinite;transition:width .6s,background .5s}
@keyframes abpEbar{0%,100%{filter:brightness(1)}50%{filter:brightness(1.28)}}
.abp-wave{height:56px;overflow:hidden;border-radius:11px;background:rgba(8,16,40,.45);border:1px solid var(--line);position:relative}
.abp-wave-svg{width:200%;height:100%;display:block;animation:abpWave 3s linear infinite}
.abp-wave-svg path{fill:none;stroke:var(--halo);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px var(--halo));transition:stroke .5s}
@keyframes abpWave{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.abp-wave-cap{text-align:center;font-size:.7rem;color:var(--dim);margin-top:7px}
[data-mode="analyse"] .abp-wave-svg,[data-mode="travail"] .abp-wave-svg{animation-duration:1.7s}
[data-mode="critique"] .abp-wave-svg,[data-mode="alerte"] .abp-wave-svg{animation-duration:1.4s}
[data-mode="content"] .abp-wave-svg,[data-mode="recherche"] .abp-wave-svg{animation-duration:4.6s}
.abp-vstats{display:flex;flex-direction:column;gap:8px}
.abp-vs{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--mid)}
.abp-vs i{width:6px;height:6px;border-radius:50%;background:var(--halo);flex-shrink:0}
.abp-vs b{margin-left:auto;color:var(--txt);font-weight:600}
@media(max-width:960px){.abp-vital-grid{grid-template-columns:1fr;gap:16px}}
body.theme-light .abp-vital{background:rgba(124,58,237,.04)}
body.theme-light .abp-wave,body.theme-light .abp-vital-live{background:#fff}

/* ===== fond immersif (hyperspace) ===== */
.abp-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.abp-bg-halo{position:absolute;left:50%;top:50%;width:560px;height:560px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--halo) 30%,transparent),transparent 64%);filter:blur(46px);opacity:.5;animation:abpHaloBreath 7s ease-in-out infinite;transition:background .6s}
@keyframes abpHaloBreath{0%,100%{opacity:.36;transform:translate(-50%,-50%) scale(1)}50%{opacity:.58;transform:translate(-50%,-50%) scale(1.08)}}
.abp-bg-rays{position:absolute;left:50%;top:50%;width:760px;height:760px;transform:translate(-50%,-50%);
  background:repeating-conic-gradient(from 0deg at 50% 50%,color-mix(in srgb,var(--halo) 8%,transparent) 0deg 1.5deg,transparent 1.5deg 16deg);
  -webkit-mask-image:radial-gradient(circle,transparent 16%,#000 40%,transparent 70%);mask-image:radial-gradient(circle,transparent 16%,#000 40%,transparent 70%);
  opacity:.38;animation:abpRaySpin 120s linear infinite;transition:background .6s}
.abp-bg-rays.r2{width:620px;height:620px;animation:abpRaySpinR 150s linear infinite;opacity:.22}
@keyframes abpRaySpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes abpRaySpinR{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.abp-bg-rings{position:absolute;left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%);border-radius:50%;
  border:1px solid color-mix(in srgb,var(--halo) 34%,transparent);opacity:0;animation:abpBigRipple 6.5s ease-out infinite;transition:border-color .6s}
.abp-bg-rings.r2{animation-delay:3.25s}
@keyframes abpBigRipple{0%{opacity:.5;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.2)}}
.abp-bg-scan{position:absolute;top:0;bottom:0;width:150px;left:-15%;display:none;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--halo) 9%,transparent),transparent);animation:abpScanX 10s linear infinite}
@keyframes abpScanX{0%{left:-15%}100%{left:115%}}
[data-mode="analyse"] .abp-bg-scan,[data-mode="travail"] .abp-bg-scan{display:block}
/* flux neuronal contenu */
.abp-bg-neuro{position:absolute;inset:0;opacity:.4;
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 48%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 70% at 50% 48%,#000 30%,transparent 80%)}
.abp-neuro-svg{width:100%;height:100%;display:block}
.abp-neuro-svg line{stroke:color-mix(in srgb,var(--halo) 55%,transparent);stroke-width:.4;animation:abpNeuroLine 4s ease-in-out infinite;animation-delay:var(--d)}
.abp-neuro-svg circle{fill:color-mix(in srgb,var(--halo) 90%,#fff);animation:abpNeuroNode 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes abpNeuroLine{0%,100%{stroke-opacity:.18}50%{stroke-opacity:.6}}
@keyframes abpNeuroNode{0%,100%{opacity:.4;r:1}50%{opacity:1;r:1.6}}
.abp-bg-sheen{position:absolute;inset:0;background:linear-gradient(120deg,transparent 32%,color-mix(in srgb,var(--halo) 7%,transparent) 50%,transparent 68%);background-size:260% 260%;animation:abpSheen 16s ease-in-out infinite}
@keyframes abpSheen{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
.abp-bg-particles{position:absolute;inset:0}
.abp-bg-particles i{position:absolute;width:2px;height:2px;border-radius:50%;background:color-mix(in srgb,var(--halo) 85%,#fff);box-shadow:0 0 5px color-mix(in srgb,var(--halo) 70%,transparent);opacity:0;animation-name:abpDrift;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes abpDrift{0%{opacity:0;transform:translateY(10px) scale(.5)}20%{opacity:.7}80%{opacity:.4}100%{opacity:0;transform:translateY(-30px) scale(1)}}
@media(prefers-reduced-motion:reduce){.abp-bg-rays,.abp-bg-sheen,.abp-bg-particles i,.abp-bg-halo{animation:none!important}}

/* ===== couche HUD géométrique (confinée) ===== */
.abp-hud{position:absolute;inset:0;width:100%;height:100%;color:var(--halo);pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 96% 96% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 96% 96% at 50% 50%,#000 70%,transparent 100%)}
.abp-hud-grid{opacity:.06}
.abp-shape{opacity:.16;transform-box:fill-box;transform-origin:center}
.abp-shape.s-slow{animation:abpFloatY 11s ease-in-out infinite}
.abp-shape.s-slow2{animation:abpFloatY 14s ease-in-out infinite reverse}
.abp-shape.s-rev{animation:abpFloatY 9s ease-in-out infinite}
.abp-shape.s-spin{animation:abpSpinSlow 26s linear infinite}
.abp-shape.s-pulse{animation:abpHudPulse 5s ease-in-out infinite}
@keyframes abpFloatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes abpSpinSlow{to{transform:rotate(360deg)}}
@keyframes abpHudPulse{0%,100%{opacity:.1}50%{opacity:.3}}
.abp-line{opacity:.14;animation:abpLineGlow 7s ease-in-out infinite}
.abp-line.l2{animation-delay:3.5s}
@keyframes abpLineGlow{0%,100%{stroke-opacity:.08}50%{stroke-opacity:.3}}
.abp-flowline{opacity:.5;stroke-dashoffset:0;animation:abpFlowDash 3.5s linear infinite}
@keyframes abpFlowDash{to{stroke-dashoffset:-160}}
.abp-net2{opacity:.18}
.abp-nodes circle{opacity:.5;animation:abpNodeBlink 3s ease-in-out infinite}
.abp-nodes circle:nth-child(2){animation-delay:.6s}.abp-nodes circle:nth-child(3){animation-delay:1.1s}.abp-nodes circle:nth-child(4){animation-delay:1.6s}.abp-nodes circle:nth-child(5){animation-delay:2.1s}
@keyframes abpNodeBlink{0%,100%{opacity:.25}50%{opacity:.9}}
.abp-hud-mark{opacity:.22}
.abp-recticle{opacity:.4;transform-box:fill-box;transform-origin:center;animation:abpSpinSlow 60s linear infinite}
.abp-ticks{opacity:.2}
/* micro-pictos flottants */
.abp-pics{position:absolute;inset:0;pointer-events:none}
.abp-pic{position:absolute;color:var(--halo);opacity:0;animation-name:abpPicFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.abp-pic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--halo) 50%,transparent))}
@keyframes abpPicFloat{0%{opacity:0;transform:translateY(8px) scale(.7)}25%{opacity:.32}50%{opacity:.22;transform:translateY(-6px) scale(1)}75%{opacity:.3}100%{opacity:0;transform:translateY(-16px) scale(.8)}}
/* densité selon l'état */
[data-mode="content"] .abp-pics,[data-mode="content"] .abp-net2,[data-mode="content"] .abp-hud-mark{opacity:.5}
[data-mode="analyse"] .abp-flowline,[data-mode="travail"] .abp-flowline{animation-duration:1.8s}
[data-mode="analyse"] .abp-nodes circle{animation-duration:1.6s}
[data-mode="alerte"] .abp-shape,[data-mode="critique"] .abp-shape{opacity:.26}
@media(prefers-reduced-motion:reduce){.abp-shape,.abp-line,.abp-flowline,.abp-nodes circle,.abp-recticle,.abp-pic{animation:none!important}}
body.theme-light .abp-hud-grid{opacity:.04}
body.theme-light .abp-pic svg{opacity:.6}

/* carte d'action premium + sync vivant */
.abp-reco{backdrop-filter:blur(7px);box-shadow:0 0 0 1px color-mix(in srgb,var(--halo) 12%,transparent),0 18px 42px -26px rgba(0,0,0,.7);animation:abpRecoIn .5s ease both;transition:border-color .25s,box-shadow .25s}
.abp-reco:hover{border-color:color-mix(in srgb,var(--halo) 48%,var(--line))}
@keyframes abpRecoIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.abp-reco-ic{animation:abpIconPulse 2.6s ease-in-out infinite}
@keyframes abpIconPulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.45)}50%{box-shadow:0 0 0 7px rgba(52,211,153,0)}}
.abp-vsync i{position:relative;box-shadow:0 0 8px #34d399}
.abp-vsync i::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(52,211,153,.6);animation:abpPing 2.1s ease-out infinite}
@keyframes abpPing{0%{transform:scale(.5);opacity:.85}100%{transform:scale(2.4);opacity:0}}
