/* ---------- tarifs d'un client ---------- */
.cp-dialog{width:min(1080px,98vw);max-width:98vw}
.cp-count{margin:4px 0 10px}.cp-pill{display:inline-block;background:#1f4e8c;color:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}
.cp-scroll{overflow-x:auto;border:1px solid var(--line,#e3e8f0);border-radius:12px;background:#fff}
.cp-grid{min-width:0}.cp-grid [hidden]{display:none!important}
.cp-row{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line,#e3e8f0)}
.cp-name{flex:0 0 190px;font-size:13px;font-weight:600;line-height:1.3}.cp-name small{font-weight:400;color:var(--muted,#6b7686)}
.cp-pair{flex:1 1 0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}
.cp-head{background:#e8eef7;position:sticky;top:0;z-index:1}
.cp-cat{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:13px}
.cp-allow{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}
html body .cp-allow input{width:18px;height:18px}
.cp-sub{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px;color:#54657d;font-weight:700;text-align:center}
.cp-sec{background:#e8eef7;padding:7px 12px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;color:#41536b}
.cp-pub{background:#f1f3f7;border:1px solid #dde4ee;border-radius:9px;padding:9px 6px;text-align:center;font-size:14px;color:#6b7686}
.cp-cell{position:relative}
html body .cp-cell input,html body .cp-cell select{width:100%;box-sizing:border-box;border:1px solid #c9d6e6;border-radius:9px;padding:9px 6px;font-size:14px;text-align:center;background:#fff;color:inherit}
.cp-on input,.cp-on select{border:2px solid #1f4e8c!important;background:#eaf1fb!important;color:#1f4e8c;font-weight:700}
.cp-diff{position:absolute;right:-3px;top:-9px;background:#1f7a3a;color:#fff;font-size:10px;font-style:normal;padding:1px 6px;border-radius:99px;font-weight:700}
.cp-diff:empty{display:none}
.cp-pair.is-denied .cp-pub,.cp-pair.is-denied .cp-cell{opacity:.4}
.cp-pair.is-denied .cp-cat b::after{content:' — interdite';color:#b3261e;font-weight:600}
.cp-tabs{display:none;gap:6px;margin:6px 0 10px}
.cp-tab{flex:1;border:1px solid var(--line,#e3e8f0);background:#fff;border-radius:10px;padding:9px 6px;font-weight:600}
.cp-tab.is-on{background:#1f4e8c;color:#fff;border-color:#1f4e8c}
.cp-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.cp-chip{display:inline-block;background:#e6f0fb;color:#1f4e8c;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}
.cp-chip-no{background:#fdeceb;color:#b3261e}
@media (max-width:700px){.cp-tabs{display:flex}.cp-name{flex-basis:110px;font-size:12px}.cp-row{padding:8px 6px}}
.cp-warn{color:#b3261e;font-weight:600;margin:4px 0}
html body .cp-cell select{font-size:12px;padding-left:4px;padding-right:0}

/* ---------- forfaits d'un client ---------- */
.cp-main{display:flex;gap:6px;margin:0 0 12px;border-bottom:2px solid #e3e8f0}
.cp-mtab{border:0;background:none;padding:10px 16px;font-weight:700;font-size:14px;color:#54657d;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer}
.cp-mtab.is-on{color:#1f4e8c;border-bottom-color:#1f4e8c}
.fx-allow{flex:0 0 74px;display:flex;justify-content:center;align-items:center;font-size:12px}
.fx-no{display:none;color:#b3261e;font-size:11px;font-weight:700;font-style:normal}
.fx-row.is-denied{background:#fbf3f2}.fx-row.is-denied .fx-no{display:block}
.fx-row.is-denied .cp-pub,.fx-row.is-denied .cp-cell{opacity:.4}
.fx-route{display:block}
.fx-h{margin:22px 0 4px;font-size:15px}
.fx-privs{display:grid;gap:10px;margin:8px 0}
.fx-priv{border:1px solid #c9d6e6;border-radius:12px;padding:12px;background:#f8fafd;display:grid;gap:8px}
.fx-priv-top,.fx-priv-zones{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
html body .fx-priv input[type=text],html body .fx-priv select{border:1px solid #c9d6e6;border-radius:9px;padding:9px 8px;font-size:14px;background:#fff;color:inherit;box-sizing:border-box}
.fx-priv-top input[type=text]{flex:1 1 220px}
.fx-priv-zones select{flex:1 1 150px;min-width:0}
.fx-arrow{font-weight:700;color:#54657d}
.fx-priv-prices{display:flex;gap:8px;flex-wrap:wrap}.fx-priv-prices label{display:grid;gap:3px;font-size:12px;font-weight:600;flex:1 1 90px}
.fx-pmsg{font-size:13px}
@media (max-width:700px){.fx-allow{flex-basis:56px}}
.fx-pill{display:inline-block;background:#1f4e8c;color:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}
.fx-grid{min-width:0}.fx-grid [hidden]{display:none!important}
.fx-head{background:#e8eef7;position:sticky;top:0;z-index:1}
.fx-msg{font-size:13px}.fx-msg.q-good{color:#1f7a3a}.fx-msg.q-bad{color:#b3261e}
