/* ============================================================================
   SENDRAISE · ACE — Analyse financière (BLOC 3) · styles spécifiques
   Charge _ace-ui.css en amont. Onglets : Vue d'ensemble · Chiffre d'affaires ·
   Par partenaires · Par produits.
   ============================================================================ */

/* En-tête : titre + beta + filtre année */
.an-header-top{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 28px 14px;}
.an-title-row{display:flex;align-items:center;gap:12px;}
.an-title{color:var(--primary-contrast);}

/* ── Onglet Vue d'ensemble : 4 KPIs répartis sur la hauteur ───────────── */
#panel-root .panel-body{display:flex;flex-direction:column;}
.kpi-pane{background:var(--inverted);padding:24px;}
.kpi-pane.active{display:grid;flex:1 1 auto;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;}
.kpi-card{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:6px;padding:22px;
  display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:0;
}
.kpi-card .kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.kpi-card .kpi-head-col{flex-direction:column;align-items:flex-start;gap:12px;}
.kpi-card .kpi-title{color:var(--primary-contrast);opacity:.7;font-size:16px;line-height:22px;font-weight:500;}
.kpi-card .kpi-body{display:flex;flex-direction:column;gap:12px;}
.kpi-card .kpi-value{color:var(--primary-contrast);font-family:'dm-mono';font-size:34px;line-height:1;font-weight:500;}
.kpi-evo{display:flex;align-items:center;gap:6px;}
.kpi-evo .arrow{display:flex;align-items:center;}
.kpi-evo .arrow svg{width:13px;height:13px;}
.kpi-evo .pctv{font-family:'dm-mono';font-size:14px;font-weight:500;}
.kpi-evo .ref{color:var(--primary-contrast);opacity:.5;font-size:14px;}
.kpi-evo.up{color:var(--evo-success);}
.kpi-evo.down{color:var(--evo-error);}
.kpi-info{width:14px;height:14px;color:var(--primary-contrast);opacity:.5;cursor:help;}
.kpi-info svg{width:14px;height:14px;}
/* toggle Total | Récurrent */
.kpi-toggle{display:inline-flex;border:1px solid rgba(255,255,255,0.3);border-radius:6px;overflow:hidden;height:30px;}
.kpi-toggle button{
  background:transparent;border:none;cursor:pointer;font-family:'dm-sans';font-size:13px;
  color:rgba(241,247,254,0.7);padding:0 14px;height:100%;min-width:62px;transition:background .15s;
}
.kpi-toggle button + button{border-left:1px solid rgba(255,255,255,0.5);}
.kpi-toggle button.on{background:rgba(255,255,255,0.2);color:var(--primary-contrast);}

/* ── Carte graphique (chartCardStyleWithBackground) ────────────────────── */
.dist-card{border:1px solid var(--divider);border-radius:4px;background:#fff;padding:16px;}
.dist-card + .dist-card{margin-top:24px;}
.dist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dist-head .dh-title{color:var(--text-primary);}
.view-toggle{display:inline-flex;border:1px solid var(--divider);border-radius:4px;overflow:hidden;height:28px;}
.view-toggle button{
  background:#fff;border:none;cursor:pointer;font-family:'dm-sans';font-size:12px;font-weight:500;
  color:var(--text-secondary);padding:0 12px;height:100%;transition:all .15s;
}
.view-toggle button + button{border-left:1px solid var(--divider);}
.view-toggle button.on{background:var(--inverted);color:var(--primary-contrast);}

/* layout table + donut */
.dist-layout{display:flex;gap:24px;align-items:flex-start;}
.dist-table-wrap{flex:7;min-width:0;}
.dist-pie-wrap{flex:3;min-width:240px;display:flex;align-items:center;justify-content:center;position:relative;}

/* table de répartition (grille + jauge) */
.dist-table{border:1px solid var(--divider);border-radius:4px;overflow:hidden;background:#fff;}
.dist-card .dist-table{border:none;border-radius:0;}
.dt-row{
  position:relative;display:grid;align-items:center;gap:16px;
  padding:9px 16px;overflow:hidden;cursor:default;transition:background-color .15s;
}
.dt-row.head{background:rgba(38,37,34,0.02);border-bottom:1px solid var(--divider);}
.dt-row:not(.head){border-bottom:1px solid var(--divider);}
.dt-row:not(.head):last-child{border-bottom:none;}
.dt-gauge{position:absolute;top:0;left:0;height:100%;transition:width .3s ease-out,background-color .15s;}
.dt-cell{position:relative;z-index:1;min-width:0;}
.dt-cell.num{display:flex;flex-direction:column;align-items:flex-end;}
.dt-name{display:flex;align-items:center;gap:12px;min-width:0;}
.dt-name .sw{width:12px;height:12px;border-radius:2px;flex-shrink:0;}
.dt-name .lg{width:24px;height:24px;border-radius:4px;flex-shrink:0;background:rgba(38,37,34,0.04);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.dt-name .lg img{width:100%;height:100%;object-fit:contain;}
.dt-name .nm{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dt-head-lbl{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;}
.dt-head-lbl.right{justify-content:flex-end;}
.dt-head-lbl .so{width:11px;height:11px;opacity:.5;}
.dt-val{font-family:'dm-mono';font-size:14px;font-weight:500;color:var(--text-primary);}
.dt-sub{font-family:'dm-mono';font-size:12px;color:var(--text-secondary);}
.dt-rate{font-family:'dm-mono';font-size:14px;font-weight:500;color:var(--text-primary);text-align:right;}
.dt-row.active .dt-name .nm{font-weight:600;}

/* donut */
.donut-wrap{position:relative;width:100%;display:flex;align-items:center;justify-content:center;}
.donut-svg{display:block;overflow:visible;}
.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;}
.donut-center .dc-name{font-size:13px;font-weight:500;line-height:1.2;max-width:120px;}
.donut-center .dc-val{font-family:'dm-mono';font-size:13px;color:var(--text-primary);margin-top:3px;}
.donut-center .dc-pct{font-family:'dm-mono';font-size:11px;color:var(--text-secondary);}

/* ── Onglet Chiffre d'affaires : courbes annuelles ─────────────────────── */
.yc-legend{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.yc-legend li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);}
.yc-legend .ln{width:14px;height:3px;border-radius:2px;}
.yc-tip{
  position:absolute;z-index:20;pointer-events:none;min-width:160px;
  background:rgba(255,255,255,0.72);box-shadow:var(--elev2);backdrop-filter:blur(6px);
  border-radius:4px;padding:12px;opacity:0;transform:scale(.95);transition:opacity .12s,transform .12s;
}
.yc-tip.on{opacity:1;transform:scale(1);}
.yc-tip .ttl{font-size:12px;font-weight:600;margin-bottom:8px;}
.yc-tip .rowt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:1px 0;}
.yc-tip .rowt .k{font-size:12px;}
.yc-tip .rowt .v{font-family:'dm-mono';font-size:12px;font-weight:500;color:var(--text-primary);}
