/* ============================================================================
   SENDRAISE · ACE — Comptabilité (BLOC 6) · styles spécifiques
   Charge _ace-ui.css en amont. Table bordereaux → drawer DocketPanel.
   ============================================================================ */

.panel{position:relative;} /* ancre le drawer */

/* ── KPIs header (Attendu / Payé / En attente) ─────────────────────────── */
.acc-kpis{display:flex;gap:14px;flex-wrap:wrap;padding:0 28px 18px;}
.acc-kpi{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);
  border-radius:6px;padding:14px 18px;min-width:190px;
}
.acc-kpi .lbl{color:var(--primary-contrast);opacity:.7;font-size:12px;font-weight:500;margin-bottom:8px;}
.acc-kpi .val{color:var(--primary-contrast);font-family:'dm-mono';font-size:22px;line-height:1;font-weight:500;}
.acc-kpi .sub{color:var(--primary-contrast);opacity:.55;font-family:'dm-mono';font-size:12px;margin-top:5px;}
.acc-kpi .dotlbl{display:flex;align-items:center;gap:7px;}
.acc-kpi .dotlbl .d{width:8px;height:8px;border-radius:50%;}

/* ── Barre de filtres ──────────────────────────────────────────────────── */
.acc-filters{display:flex;align-items:center;gap:10px;padding:16px 24px;background:var(--paper);border-bottom:1px solid var(--divider);flex-wrap:wrap;}
.acc-search{position:relative;display:flex;align-items:center;}
.acc-search svg{position:absolute;left:10px;width:15px;height:15px;color:var(--text-secondary);}
.acc-search input{
  height:34px;border:1px solid var(--divider);border-radius:var(--r);background:#fff;
  font-family:'dm-sans';font-size:13px;color:var(--text-primary);padding:0 12px 0 32px;width:200px;
}
.acc-search input::placeholder{color:var(--text-tertiary);}
.acc-filters .reset{margin-left:auto;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;background:none;border:none;font-family:'dm-sans';}
.acc-filters .reset:hover{text-decoration:underline;}
.btn-export{
  height:34px;display:inline-flex;align-items:center;gap:7px;border:none;border-radius:var(--r);
  background:var(--inverted);color:var(--primary-contrast);font-family:'dm-sans';font-size:13px;font-weight:500;
  padding:0 16px;cursor:pointer;transition:opacity .15s;
}
.btn-export:hover{opacity:.9;}
.btn-export svg{width:15px;height:15px;}

/* ── Table bordereaux ──────────────────────────────────────────────────── */
.acc-table{background:#fff;}
.acc-row{
  display:grid;grid-template-columns:46px 1.7fr 1.05fr 1.05fr 0.55fr 1.3fr;align-items:center;gap:14px;
  padding:0 24px;height:60px;border-bottom:1px solid var(--divider);
}
.acc-row.head{height:42px;background:rgba(38,37,34,0.02);}
.acc-row.head .h{font-size:12px;color:var(--text-secondary);font-weight:500;}
.acc-row.head .h.right{text-align:right;}
.acc-row.item{cursor:pointer;transition:background .12s;}
.acc-row.item:hover{background:var(--grey-50);}
.acc-logo{width:34px;height:34px;border-radius:5px;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.acc-logo img{width:100%;height:100%;object-fit:contain;}
.acc-name{min-width:0;}
.acc-name .fn{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-name .per{font-family:'dm-mono';font-size:12px;color:var(--text-secondary);margin-top:2px;}
.acc-inv{font-family:'dm-mono';font-size:13px;color:var(--text-primary);}
.acc-inv.none{color:var(--text-tertiary);}
.acc-inv .er{display:inline-flex;align-items:center;gap:4px;}
.acc-inv .er .qm{width:14px;height:14px;color:#9c7fb8;}
.acc-total{font-family:'dm-mono';font-size:14px;font-weight:500;color:var(--text-primary);text-align:right;}
.acc-types{display:flex;gap:5px;align-items:center;flex-wrap:nowrap;overflow:hidden;}

/* chips types de commission */
.cchip{display:inline-flex;align-items:center;font-family:'dm-sans';font-size:11px;font-weight:500;line-height:1;padding:4px 9px;border-radius:999px;white-space:nowrap;}
.cchip.more{background:rgba(38,37,34,0.06);color:var(--text-secondary);cursor:default;}

/* badge statut pointage */
.pstatus{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:5px 11px;border-radius:999px;white-space:nowrap;}
.pstatus.paid{background:#D7EEDD;color:#1b6b3a;}
.pstatus.partial{background:#F6E5D5;color:#9a4d05;}
.pstatus.unpaid{background:#F6DAD6;color:#9a1500;}

/* ── Drawer DocketPanel ────────────────────────────────────────────────── */
.docket-scrim{position:absolute;inset:0;background:rgba(28,47,63,0.35);opacity:0;visibility:hidden;transition:opacity .28s;z-index:8;}
.docket-scrim.open{opacity:1;visibility:visible;}
.docket-drawer{
  position:absolute;top:0;right:0;bottom:0;width:90%;
  background:var(--paper);box-shadow:-12px 0 48px rgba(28,47,63,0.18);
  transform:translateX(100%);transition:transform .28s var(--ease-out, ease);
  z-index:9;display:flex;flex-direction:column;overflow:hidden;
}
.docket-drawer.open{transform:none;}
.dk-head{background:var(--inverted);flex:0 0 auto;padding:22px 26px;}
.dk-head-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.dk-head-top .left{display:flex;align-items:center;gap:14px;min-width:0;}
.dk-head-top .left .acc-logo{width:38px;height:38px;}
.dk-head-top .fname{color:var(--primary-contrast);font-size:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-close{width:32px;height:32px;border:none;background:transparent;color:var(--secondary-contrast);border-radius:var(--r);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.dk-close:hover{background:rgba(255,255,255,0.08);}
.dk-close svg{width:18px;height:18px;}
.dk-meta{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start;}
.dk-meta .mlbl{color:var(--secondary-contrast);opacity:.7;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;margin-bottom:6px;}
.dk-meta .mval{color:var(--secondary-contrast);font-family:'dm-mono';font-size:16px;font-weight:500;}
.dk-meta .msub{color:var(--secondary-contrast);opacity:.6;font-family:'dm-mono';font-size:12px;margin-top:2px;}
.dk-body{flex:1;overflow-y:auto;background:var(--paper);padding:24px 26px;}
.dk-body::-webkit-scrollbar{width:8px;}
.dk-body::-webkit-scrollbar-thumb{background:var(--grey-300);border-radius:4px;}
.dk-fac-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.btn-add{
  display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;border-radius:var(--r);
  border:1.5px solid var(--divider);background:#fff;color:var(--text-primary);
  font-family:'dm-sans';font-size:13px;font-weight:500;cursor:pointer;transition:background .15s;
}
.btn-add:hover:not(:disabled){background:var(--grey-50);}
.btn-add:disabled{opacity:.45;cursor:not-allowed;}
.btn-add svg{width:15px;height:15px;}

/* table factures du panneau */
.inv-table{border:1px solid var(--divider);border-radius:6px;overflow:hidden;background:#fff;}
.inv-row{display:grid;grid-template-columns:1.6fr 1.1fr 1.3fr 0.9fr 1fr 0.9fr;align-items:center;gap:12px;padding:0 16px;height:56px;border-bottom:1px solid var(--divider);}
.inv-row:last-child{border-bottom:none;}
.inv-row.head{height:40px;background:rgba(38,37,34,0.02);}
.inv-row.head .h{font-size:12px;color:var(--text-secondary);font-weight:500;}
.inv-row.head .h.right{text-align:right;}
.inv-row.head .h.center{text-align:center;}
.inv-num{font-family:'dm-mono';font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:5px;}
.inv-num .qm{width:14px;height:14px;color:#9c7fb8;}
.emitter{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;background:rgba(38,37,34,0.06);color:var(--text-primary);white-space:nowrap;}
.emitter.partner{background:rgba(48,129,219,0.12);color:#1c5390;}
.inv-amt{text-align:right;}
.inv-amt .ttc{font-family:'dm-mono';font-size:14px;font-weight:500;color:var(--text-primary);}
.inv-amt .ht{font-family:'dm-mono';font-size:11px;color:var(--text-secondary);}
.inv-status{display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;}
.inv-status.paid{background:#D7EEDD;color:#1b6b3a;}
.inv-status.unpaid{background:#F6DAD6;color:#9a1500;}
.inv-date{font-family:'dm-mono';font-size:13px;color:var(--text-primary);}
.inv-date.none{color:var(--text-tertiary);}
.inv-actions{display:flex;gap:4px;justify-content:center;}
.inv-actions button{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .12s;}
.inv-actions button:hover{background:var(--grey-100);}
.inv-actions button.del{color:var(--error);}
.inv-actions button svg{width:15px;height:15px;}
