/* ============================================================================
   SENDRAISE · ACE — Panneau client (BLOC 2) · styles spécifiques
   Charge _ace-ui.css en amont pour la fondation commune.
   ============================================================================ */

/* ── Onglet Rentabilité ────────────────────────────────────────────────── */
.summary{
  background:rgba(28,47,63,0.8);border-radius:8px;color:var(--primary-contrast);
  font-family:'dm-mono';padding:22px 26px;margin-bottom:8px;
}
.summary-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;}
.summary .label{flex:0 0 180px;font-size:18px;line-height:24px;}
.summary .eq{flex:0 0 28px;opacity:.7;font-size:34px;text-align:center;}
.summary .division{flex:1;text-align:center;padding:0 8px;}
.summary .division .line{font-size:15px;line-height:24px;opacity:.85;white-space:nowrap;}
.summary .division .bar{height:1px;background:rgba(255,255,255,.7);margin:7px 0;}
.summary .result{flex:0 0 auto;display:flex;align-items:baseline;justify-content:flex-end;gap:4px;min-width:130px;}
.summary .result .big{font-size:46px;line-height:1;}
.summary .result .pct{font-size:22px;line-height:1;}
.caption-note{color:var(--text-secondary);opacity:.85;font-style:italic;font-size:12px;display:block;margin-bottom:24px;}

.chart-card{
  background:#fff;border-radius:4px;box-shadow:var(--elev2);
  position:relative;padding:20px;
}
.chart-legend{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:24px;}
.chart-legend li{display:flex;align-items:flex-start;gap:8px;cursor:default;transition:opacity .15s;}
.chart-legend .swatch{position:relative;margin-top:8px;flex-shrink:0;width:24px;height:8px;}
.chart-legend .swatch .ln{position:absolute;top:50%;left:0;width:24px;height:1px;transform:translateY(-50%);}
.chart-legend .swatch .dt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;}
.chart-legend .meta{display:flex;flex-direction:column;gap:2px;}
.chart-legend .meta .name{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--text-secondary);}
.chart-legend .meta .name img{width:12px;height:12px;border-radius:2px;object-fit:contain;}
.chart-legend .meta .pct{font-family:'dm-mono';font-size:14px;line-height:20px;font-weight:500;color:var(--neutral-light-contrast);text-align:left;}
.chart-svg-wrap{position:relative;width:100%;}
.chart-svg{display:block;width:100%;height:auto;overflow:visible;}

/* chart tooltip */
.chart-tip{
  position:absolute;z-index:20;pointer-events:none;
  width:300px;background:rgba(255,255,255,0.72);
  box-shadow:var(--elev2);backdrop-filter:blur(6px);
  border-radius:4px;padding:16px;opacity:0;transform:scale(.9);
  transition:opacity .15s ease,transform .15s ease;
}
.chart-tip.on{opacity:1;transform:scale(1);}
.tip-head{text-align:center;margin-bottom:14px;}
.tip-head .ttl{font-size:11px;letter-spacing:2.4px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px;}
.tip-head .rng{font-family:'dm-mono';font-size:12px;font-weight:500;color:var(--neutral-light-contrast);}
.tip-block + .tip-block{margin-top:14px;}
.tip-block .divider{height:1px;background:var(--divider);margin:0 0 12px;}
.tip-block .bhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.tip-block .bhead .left{display:flex;align-items:center;gap:6px;}
.tip-block .bhead .left img{width:16px;height:16px;border-radius:2px;}
.tip-block .bhead .left svg{width:16px;height:16px;}
.tip-block .bhead .nm{font-size:12px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;}
.tip-block .bhead .pf{font-family:'dm-mono';font-size:16px;font-weight:500;white-space:nowrap;}
.tip-grid > div{display:flex;justify-content:space-between;align-items:center;padding:1px 0;}
.tip-grid .k{font-size:14px;color:var(--text-secondary);}
.tip-grid .v{font-family:'dm-mono';font-size:14px;font-weight:500;}
.tip-info{background:var(--paper);border-radius:8px;padding:6px 12px;margin-top:8px;display:flex;align-items:flex-start;gap:8px;}
.tip-info svg{width:16px;height:16px;color:var(--warning);margin-top:2px;flex-shrink:0;}
.tip-info span{font-size:14px;color:var(--warning);}

/* ── Tableau "Détail des commissions" ──────────────────────────────────── */
.com-table{width:100%;border-collapse:collapse;}
.com-table th,.com-table td{text-align:right;padding:6px 10px;font-family:'dm-mono';}
.com-table thead th{
  background:var(--inverted);color:rgba(241,242,243,.7);
  font-family:'dm-sans';font-size:12px;font-weight:400;height:40px;padding-top:0;padding-bottom:0;
  vertical-align:middle;border:none;
  box-shadow:0 0 0 0.6px var(--inverted);
}
.com-table thead{background:var(--inverted);}
.com-table thead th.cum{color:var(--secondary-contrast);font-weight:500;}
.com-table thead th:first-child{text-align:left;}
.com-table .yearrow{background:var(--secondary-main);}
.com-table .yearrow td{
  background:var(--secondary-main);color:rgba(241,242,243,.7);
  padding-top:14px;padding-bottom:14px;font-size:12px;border:none;
  box-shadow:0 0 0 0.6px var(--secondary-main);
}
.com-table .yearrow td.cum{color:var(--secondary-contrast);font-size:14px;font-weight:500;}
.com-table .yearrow td:first-child{text-align:left;font-size:14px;font-weight:500;font-family:'dm-sans';color:var(--secondary-contrast);}
.com-table tbody.months td{
  font-size:12px;color:var(--text-primary);opacity:.7;border:none;
  padding-top:6px;padding-bottom:6px;
}
.com-table tbody.months td.cum{font-size:14px;opacity:1;font-weight:500;}
.com-table tbody.months td:first-child{text-align:left;font-family:'dm-sans';font-size:14px;}
.com-table tbody.months tr:hover td{background:var(--grey-50);}
.com-table tbody.months tr.disabled td{opacity:.4;}
.com-wrap{border:1px solid var(--divider);border-top:none;border-radius:4px;overflow:hidden;}

/* ── Listes (contrats / erreurs) ───────────────────────────────────────── */
.list-head{background:var(--secondary-main);color:var(--secondary-contrast);padding:0 24px;height:32px;display:flex;align-items:center;}
.list-head .c{font-size:12px;font-weight:500;}
.list-section{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;color:var(--text-primary);opacity:.7;margin:0 0 14px;padding-left:8px;}
.row{display:flex;align-items:center;border-radius:4px;height:44px;margin-bottom:8px;padding:0 16px;}
.row.solid{background:var(--default);}
.row.dashed{border:1px dashed rgba(66,65,59,0.20);}
.row.closed{opacity:.5;}
.row .c{display:flex;align-items:center;min-width:0;}
.row .prod{gap:10px;}
.row .prod img{width:20px;height:20px;border-radius:3px;object-fit:contain;}
.row .prod .nm{font-size:14px;font-weight:500;}
.row .muted{opacity:.7;font-size:14px;}
.row .mono{font-family:'dm-mono';font-size:14px;}
.row .val{font-family:'dm-mono';font-size:14px;font-weight:500;justify-content:flex-end;}
.list-wrap{padding:18px 24px;}
.detach{width:30px;height:30px;border:none;background:transparent;border-radius:4px;color:var(--error);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.detach:hover{background:var(--warning-light);}
.detach svg{width:16px;height:16px;}

/* errors */
.err-title{display:flex;align-items:center;gap:8px;color:var(--warning);font-size:14px;cursor:help;}
.err-title svg{width:16px;height:16px;flex-shrink:0;}
.err-prod{justify-content:flex-end;gap:8px;}
.err-prod img{width:22px;height:22px;border-radius:3px;object-fit:contain;}
.err-prod .lnk{color:var(--text-primary);opacity:.7;font-size:14px;text-decoration:underline;text-transform:capitalize;}
