/* QLOA admin v3 — Clients : grille enrichie « portefeuille » (mode SERVI, cf. operator-portfolio.js).
   Aucun nouveau jeton : grille `ps-table qgt-grid` du Pipeline + états `oc-state` / `oc-funnel` / `oc-usage`
   de l'écran Clients ; couleurs var(--surface/--line/--muted) uniquement. */
.op-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.op-tools .ps-group-select{flex-direction:row;align-items:center;gap:8px}
.op-tools .ps-group-select>span{white-space:nowrap}
.op-tools .ps-group-select .control{min-width:170px}
.op-tools .op-error{color:var(--danger);margin:0}
.op-grid-wrap{max-height:calc(100vh - 300px)}
.op-grid.ps-table{min-width:100%;width:max-content}
.op-grid.ps-table td{height:auto;min-height:56px;vertical-align:top;white-space:nowrap}
.op-grid.ps-table td small{max-width:240px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.op-grid.ps-table td .oc-note-inline{display:block}
.op-grid td[data-op-cell=client]{min-width:190px}
.op-grid td[data-op-cell=nba]{min-width:250px}
.op-grid .ps-list-next>span{white-space:normal}
.op-grid td.oc-number{text-align:right;font-variant-numeric:tabular-nums}
.op-grid th.oc-number .qgt-sort{justify-content:flex-end}
.op-grid .qgt-sort{white-space:nowrap}
.op-grid td .oc-state{margin-top:4px}
.op-grid .oc-open{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px}
.op-grid .qgt-range .control{width:0;min-width:44px}
.op-grid .qgt-filter-row input[type=search].control{min-width:120px}
.op-grid td[data-op-cell][tabindex]{cursor:cell}
.op-grid td[data-op-cell]:focus{outline:2px solid #4587a7;outline-offset:-2px}
.op-grid td.editing{padding:0;outline:2px solid #4587a7;outline-offset:-2px}
.op-grid td.editing>select{display:block;width:100%;min-height:56px;border:0;padding:0 16px;background:var(--base);color:var(--ink);font:inherit;outline:none;box-sizing:border-box}
.op-grid tr.op-group td{background:var(--surface);height:auto;padding:10px 16px;font-size:12px;border-top:1px solid var(--line)}
.op-grid tfoot td{position:sticky;bottom:0;z-index:1;background:var(--surface);border-top:1px solid var(--line);height:auto;padding:12px 16px}
/* Cartes mobiles Clients : santé + prochaine action ajoutées aux cartes existantes. */
[data-op-card] .ps-list-next{display:flex;align-items:flex-start;gap:8px;text-align:left}
[data-op-card] .ps-list-next small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
