/* NEXUS — SMQ › Non-conformités clients — feuille de style dédiée (23/08/2026) */

/* ══════════════════════════════════════════════════════════════════════════
   SMQ › Non-conformités clients (#smq-pane-nc) — 23/08/2026
   Tout est scopé sur le pane : aucune classe partagée n'est retouchée.
   Grilles en minmax(0,1fr) (piège iPhone : 1fr ne sait pas rétrécir).
   ══════════════════════════════════════════════════════════════════════════ */
#smq-pane-nc{ --snc-navy:#0d2d5e; --snc-ink9:#0f172a; --snc-ink7:#334155; --snc-ink5:#64748b;
              --snc-ink2:#e2e8f0; --snc-ink1:#f1f5f9; --snc-maj:#c0392b; --snc-min:#e08a1e; }
#smq-pane-nc .snc-wrap{ padding-bottom:26px; }

#smq-pane-nc .snc-intro{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:18px; }
#smq-pane-nc .snc-intro-txt{ flex:1 1 380px; min-width:0; }
#smq-pane-nc .snc-h1{ font-size:19px; font-weight:800; letter-spacing:-.2px; color:var(--snc-ink9); }
#smq-pane-nc .snc-intro-act{ display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
#smq-pane-nc .snc-intro-act button{ display:inline-flex; align-items:center; gap:7px; }
#smq-pane-nc .snc-intro-act svg{ flex:none; width:15px; height:15px; }

#smq-pane-nc .snc-load,
#smq-pane-nc .snc-err{ font-size:12.5px; padding:22px 4px; color:var(--snc-ink5); }
#smq-pane-nc .snc-err{ color:#991b1b; }
#smq-pane-nc .snc-empty{ background:#f7fafd; border:1px dashed var(--snc-ink2); border-radius:12px; padding:20px; text-align:center; color:var(--snc-ink5); font-size:12.5px; }
#smq-pane-nc .snc-empty.big{ padding:36px 22px; font-size:14px; font-weight:700; color:var(--snc-ink7); }
#smq-pane-nc .snc-empty.big span{ display:block; margin-top:8px; font-size:12.5px; font-weight:500; color:var(--snc-ink5); }
#smq-pane-nc .snc-ok{ background:#e7f5ee; border:1px solid #c8e6d3; color:#0d6b3f; border-radius:12px; padding:11px 14px; font-size:12.5px; font-weight:700; }
#smq-pane-nc .snc-note{ background:rgba(13,45,94,.05); border:1px solid rgba(13,45,94,.14); color:var(--snc-navy);
                        border-radius:12px; padding:9px 13px; font-size:12.5px; font-weight:600; margin-bottom:16px;
                        display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#smq-pane-nc .snc-hint{ font-size:11.5px; font-weight:600; color:var(--snc-ink5); text-transform:none; letter-spacing:0; }
#smq-pane-nc .snc-seclabel{ font-size:11.5px; font-weight:800; color:var(--snc-ink5); text-transform:uppercase; letter-spacing:.06em; margin:26px 0 11px; }

/* ── Tuiles ─────────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:22px; }
#smq-pane-nc .snc-tile{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; padding:14px 16px; box-shadow:0 1px 2px rgba(15,23,42,.04); min-width:0; }
#smq-pane-nc .snc-tile-lab{ font-size:11.5px; font-weight:700; color:var(--snc-ink5); text-transform:uppercase; letter-spacing:.03em; }
#smq-pane-nc .snc-tile-val{ font-size:24px; font-weight:800; color:var(--snc-navy); line-height:1.15; margin-top:8px; letter-spacing:-.02em; overflow-wrap:anywhere; }
#smq-pane-nc .snc-tile-of{ font-size:14px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-tile-sub{ font-size:12px; color:var(--snc-ink7); margin-top:6px; line-height:1.45; overflow-wrap:anywhere; }

/* ── Cartes ─────────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-sec2{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:14px; margin-bottom:14px; align-items:start; }
#smq-pane-nc .snc-card{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; overflow:hidden; box-shadow:0 1px 2px rgba(15,23,42,.04); min-width:0; }
#smq-pane-nc .snc-card-h{ padding:12px 16px; background:var(--snc-ink1); border-bottom:1px solid var(--snc-ink2); font-size:12.5px; font-weight:800; color:var(--snc-navy); }
#smq-pane-nc .snc-card-b{ padding:14px 16px; }

/* ── Palmarès des indicateurs ───────────────────────────────────────────── */
#smq-pane-nc .snc-bars{ display:flex; flex-direction:column; gap:7px; }
#smq-pane-nc .snc-bar{ display:flex; align-items:center; gap:11px; width:100%; text-align:left; background:transparent;
                       border:1px solid transparent; border-radius:10px; padding:5px 7px; cursor:pointer; font:inherit; }
#smq-pane-nc .snc-bar:hover{ background:rgba(13,45,94,.04); }
#smq-pane-nc .snc-bar.sel{ background:rgba(13,45,94,.07); border-color:rgba(13,45,94,.18); }
#smq-pane-nc .snc-bar-ind{ flex:none; width:42px; font-size:12px; font-weight:800; color:var(--snc-navy); font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-bar-mid{ flex:1 1 auto; min-width:0; }
#smq-pane-nc .snc-bar-lbl{ display:block; font-size:12px; color:var(--snc-ink7); line-height:1.35;
                           overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#smq-pane-nc .snc-bar-track{ display:block; height:8px; border-radius:999px; background:var(--snc-ink1); margin-top:5px; overflow:hidden; }
#smq-pane-nc .snc-bar-fill{ display:block; height:100%; border-radius:999px; background:var(--snc-min); position:relative; }
#smq-pane-nc .snc-bar-maj{ position:absolute; right:0; top:0; bottom:0; background:var(--snc-maj); border-radius:0 999px 999px 0; }
#smq-pane-nc .snc-bar-n{ flex:none; width:56px; text-align:right; font-size:14px; font-weight:800; color:var(--snc-navy); font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-bar-pc{ display:block; font-size:10.5px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-leg{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:11px; font-size:11.5px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-leg-hint{ margin-left:auto; font-weight:600; opacity:.85; }
#smq-pane-nc .snc-dot{ display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
#smq-pane-nc .snc-dot.min{ background:var(--snc-min); }
#smq-pane-nc .snc-dot.maj{ background:var(--snc-maj); }

/* ── Critères ───────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-crits{ display:flex; flex-direction:column; gap:9px; }
#smq-pane-nc .snc-crit{ display:flex; align-items:center; gap:10px; }
#smq-pane-nc .snc-crit.off{ opacity:.42; }
#smq-pane-nc .snc-crit-n{ flex:none; width:22px; height:22px; border-radius:7px; background:var(--snc-navy); color:#fff;
                          font-size:11.5px; font-weight:800; display:flex; align-items:center; justify-content:center; }
#smq-pane-nc .snc-crit-l{ flex:1 1 auto; min-width:0; font-size:12px; color:var(--snc-ink7); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#smq-pane-nc .snc-crit-track{ flex:none; width:74px; height:7px; border-radius:999px; background:var(--snc-ink1); overflow:hidden; }
#smq-pane-nc .snc-crit-fill{ display:block; height:100%; background:var(--snc-navy); border-radius:999px; }
#smq-pane-nc .snc-crit-v{ flex:none; width:52px; text-align:right; font-size:13px; font-weight:800; color:var(--snc-navy); font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-crit-v em{ display:block; font-style:normal; font-size:10px; font-weight:700; color:var(--snc-ink5); }

/* ── Gravité + avancement ───────────────────────────────────────────────── */
#smq-pane-nc .snc-split-bar{ display:flex; height:14px; border-radius:999px; overflow:hidden; background:var(--snc-ink1); }
#smq-pane-nc .snc-split-bar .min{ background:var(--snc-min); }
#smq-pane-nc .snc-split-bar .maj{ background:var(--snc-maj); }
#smq-pane-nc .snc-split-l{ display:flex; gap:18px; flex-wrap:wrap; margin-top:12px; font-size:12.5px; color:var(--snc-ink7); }
#smq-pane-nc .snc-split-l b{ color:var(--snc-navy); font-size:14px; }
#smq-pane-nc .snc-split-l em{ font-style:normal; color:var(--snc-ink5); font-size:11.5px; font-weight:700; }
#smq-pane-nc .snc-etats{ display:flex; flex-direction:column; gap:8px; }
#smq-pane-nc .snc-etat{ display:flex; align-items:center; gap:10px; }
#smq-pane-nc .snc-etat.off{ opacity:.4; }
#smq-pane-nc .snc-etat-pill{ flex:none; width:158px; font-size:10.5px; font-weight:800; border-radius:999px; padding:3px 9px;
                             text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#smq-pane-nc .snc-etat-track{ flex:1 1 auto; min-width:0; height:7px; border-radius:999px; background:var(--snc-ink1); overflow:hidden; }
#smq-pane-nc .snc-etat-fill{ display:block; height:100%; border-radius:999px; }
#smq-pane-nc .snc-etat-v{ flex:none; width:30px; text-align:right; font-size:13px; font-weight:800; color:var(--snc-navy); font-variant-numeric:tabular-nums; }

/* ── Délais ─────────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-dgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin-bottom:14px; align-items:start; }
#smq-pane-nc .snc-dcard{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; padding:14px 16px; min-width:0; box-shadow:0 1px 2px rgba(15,23,42,.04); }
#smq-pane-nc .snc-dcard-l{ font-size:11.5px; font-weight:700; color:var(--snc-ink5); text-transform:uppercase; letter-spacing:.03em; }
#smq-pane-nc .snc-dcard-v{ font-size:24px; font-weight:800; color:var(--snc-navy); margin-top:8px; letter-spacing:-.02em; }
#smq-pane-nc .snc-dcard-s{ font-size:12px; color:var(--snc-ink7); margin-top:5px; }
#smq-pane-nc .snc-dcard-h{ font-size:11.5px; color:var(--snc-ink5); margin-top:8px; line-height:1.45; }
#smq-pane-nc .snc-retards{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; padding:14px 16px; }
#smq-pane-nc .snc-retards .snc-seclabel{ margin:0 0 9px; }
#smq-pane-nc .snc-ret{ display:flex; align-items:center; gap:11px; flex-wrap:wrap; padding:6px 0; border-top:1px solid var(--snc-ink1); font-size:12.5px; }
#smq-pane-nc .snc-ret:first-of-type{ border-top:0; }
#smq-pane-nc .snc-ret-age{ flex:none; min-width:52px; font-weight:800; color:#b45309; font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-ret-org{ flex:1 1 180px; min-width:0; font-weight:700; color:var(--snc-ink9); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#smq-pane-nc .snc-ret-ind{ flex:none; background:rgba(13,45,94,.07); color:var(--snc-navy); font-size:11px; font-weight:800; border-radius:999px; padding:2px 9px; }
#smq-pane-nc .snc-ret-st{ flex:none; font-size:11.5px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-couv-l{ font-size:13px; color:var(--snc-ink7); line-height:1.7; }
#smq-pane-nc .snc-couv-l b{ color:var(--snc-navy); }
#smq-pane-nc .snc-couv-pc{ display:inline-block; margin-left:6px; font-size:11.5px; font-weight:800; border-radius:999px; padding:2px 10px; background:var(--snc-ink1); color:var(--snc-ink7); }
#smq-pane-nc .snc-couv-pc.ok{ background:#e7f5ee; color:#0d6b3f; }
#smq-pane-nc .snc-couv-pc.warn{ background:#fff4e5; color:#b45309; }
#smq-pane-nc .snc-couv-pc.bad{ background:#fdeaea; color:#b91c1c; }
#smq-pane-nc .snc-couv-list{ max-height:280px; overflow:auto; }

/* ── Répartitions ───────────────────────────────────────────────────────── */
#smq-pane-nc .snc-minis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; align-items:start; }
#smq-pane-nc .snc-mini{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; padding:13px 15px; min-width:0; box-shadow:0 1px 2px rgba(15,23,42,.04); }
#smq-pane-nc .snc-mini-h{ font-size:11.5px; font-weight:800; color:var(--snc-navy); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px; }
#smq-pane-nc .snc-mini-r{ display:flex; align-items:center; gap:9px; width:100%; padding:4px 0; border:0; background:transparent; font:inherit; text-align:left; }
#smq-pane-nc .snc-mini-r.act{ cursor:pointer; border-radius:8px; padding:4px 5px; margin:0 -5px; }
#smq-pane-nc .snc-mini-r.act:hover{ background:rgba(13,45,94,.04); }
#smq-pane-nc .snc-mini-l{ flex:1 1 auto; min-width:0; font-size:12px; color:var(--snc-ink7); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#smq-pane-nc .snc-mini-track{ flex:none; width:58px; height:6px; border-radius:999px; background:var(--snc-ink1); overflow:hidden; }
#smq-pane-nc .snc-mini-fill{ display:block; height:100%; background:var(--snc-navy); border-radius:999px; opacity:.75; }
#smq-pane-nc .snc-mini-v{ flex:none; width:52px; text-align:right; font-size:12.5px; font-weight:800; color:var(--snc-navy); font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-mini-v em{ display:block; font-style:normal; font-size:10px; font-weight:700; color:var(--snc-ink5); }

/* ── Filtres ────────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-filtres{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
#smq-pane-nc .snc-filtres select,
#smq-pane-nc .snc-search{ font:inherit; font-size:12px; color:var(--snc-ink7); background:#fff;
                          border:1px solid var(--snc-ink2); border-radius:10px; padding:8px 11px; max-width:100%; }
#smq-pane-nc .snc-search{ flex:1 1 260px; min-width:0; }
#smq-pane-nc .snc-filtres select{ max-width:230px; }
#smq-pane-nc .snc-btn-ghost{ font:inherit; font-size:12px; font-weight:700; color:var(--snc-navy); background:#fff;
                             border:1px solid var(--snc-ink2); border-radius:10px; padding:8px 12px; cursor:pointer; }
#smq-pane-nc .snc-btn-ghost:hover{ background:rgba(13,45,94,.04); }

/* ── Table ──────────────────────────────────────────────────────────────── */
#smq-pane-nc .snc-tblwrap{ background:#fff; border:1px solid var(--snc-ink2); border-radius:16px; overflow-x:auto; box-shadow:0 1px 2px rgba(15,23,42,.04); }
#smq-pane-nc .snc-tbl{ width:100%; border-collapse:collapse; min-width:1040px; }
#smq-pane-nc .snc-tbl th{ background:var(--snc-ink1); border-bottom:1px solid var(--snc-ink2); text-align:left;
                          font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em;
                          color:var(--snc-ink5); padding:10px 12px; white-space:nowrap; }
#smq-pane-nc .snc-tbl td{ border-top:1px solid var(--snc-ink1); padding:10px 12px; font-size:12.5px; color:var(--snc-ink7); vertical-align:top; }
#smq-pane-nc .snc-tbl tbody tr:hover{ background:rgba(13,45,94,.025); }
#smq-pane-nc .snc-c-org b{ display:block; color:var(--snc-ink9); font-size:13px; }
#smq-pane-nc .snc-c-org span{ display:block; font-size:11px; color:var(--snc-ink5); margin-top:2px; overflow-wrap:anywhere; }
#smq-pane-nc .snc-c-ind{ max-width:290px; }
#smq-pane-nc .snc-indn{ display:inline-block; background:rgba(13,45,94,.07); color:var(--snc-navy); font-size:11px; font-weight:800; border-radius:999px; padding:2px 9px; }
#smq-pane-nc .snc-indt{ display:block; margin-top:4px; font-size:12px; color:var(--snc-ink7); line-height:1.35; }
#smq-pane-nc .snc-indc{ display:block; margin-top:3px; font-size:10.5px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-sev{ display:inline-block; font-size:10.5px; font-weight:800; border-radius:999px; padding:2px 9px; white-space:nowrap; }
#smq-pane-nc .snc-sev.maj{ background:#fdeaea; color:var(--snc-maj); }
#smq-pane-nc .snc-sev.min{ background:#fff4e5; color:#b9770e; }
#smq-pane-nc .snc-c-ph, #smq-pane-nc .snc-c-aud{ font-size:12px; white-space:nowrap; }
#smq-pane-nc .snc-c-dates span{ display:flex; gap:6px; font-size:11.5px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-c-dates i{ display:inline-block; width:56px; font-style:normal; color:var(--snc-ink5); font-weight:700; font-size:10.5px; }
#smq-pane-nc .snc-warn{ color:#b45309; margin-left:4px; cursor:help; }
#smq-pane-nc .snc-c-del{ font-weight:700; color:var(--snc-navy); white-space:nowrap; font-variant-numeric:tabular-nums; }
#smq-pane-nc .snc-open{ color:#b45309; font-weight:800; font-size:11.5px; }
#smq-pane-nc .snc-pill{ display:inline-block; font-size:10.5px; font-weight:800; border-radius:999px; padding:3px 10px; white-space:nowrap; }
#smq-pane-nc .snc-c-act{ white-space:nowrap; }
#smq-pane-nc .snc-a{ font:inherit; font-size:11.5px; font-weight:700; color:var(--snc-navy); background:#fff;
                     border:1px solid var(--snc-ink2); border-radius:8px; padding:5px 9px; cursor:pointer; margin:0 3px 3px 0; }
#smq-pane-nc .snc-a:hover{ background:rgba(13,45,94,.05); }

#smq-pane-nc .snc-pager{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-top:12px; font-size:11.5px; font-weight:700; color:var(--snc-ink5); }
#smq-pane-nc .snc-pager span:first-child{ margin-right:8px; }
#smq-pane-nc .snc-pg{ font:inherit; font-size:12px; font-weight:700; min-width:30px; color:var(--snc-ink7); background:#fff;
                      border:1px solid var(--snc-ink2); border-radius:8px; padding:5px 8px; cursor:pointer; }
#smq-pane-nc .snc-pg.on{ background:var(--snc-navy); border-color:var(--snc-navy); color:#fff; }

/* ── Tablette / téléphone ───────────────────────────────────────────────── */
@media (max-width:1024px){
  #smq-pane-nc .snc-sec2{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  #smq-pane-nc .snc-intro-act{ width:100%; }
  #smq-pane-nc .snc-intro-act button{ flex:1 1 auto; justify-content:center; }
  #smq-pane-nc .snc-tiles{ grid-template-columns:minmax(0,1fr); }
  #smq-pane-nc .snc-tile-val, #smq-pane-nc .snc-dcard-v{ font-size:21px; }
  #smq-pane-nc .snc-filtres select{ flex:1 1 46%; max-width:none; }
  #smq-pane-nc .snc-etat-pill{ width:118px; }
  #smq-pane-nc .snc-bar-lbl{ -webkit-line-clamp:3; }
}
/* Windows / nx-lite : pas d'ombres coûteuses */
body.nx-lite #smq-pane-nc .snc-tile,
body.nx-lite #smq-pane-nc .snc-card,
body.nx-lite #smq-pane-nc .snc-mini,
body.nx-lite #smq-pane-nc .snc-dcard,
body.nx-lite #smq-pane-nc .snc-tblwrap{ box-shadow:none; }
/* Mode audit COFRAC : le contrôle de couverture ne s'affiche pas */
body.nx-cofrac #smq-pane-nc #snc-btn-couv,
body.nx-cofrac #smq-pane-nc #snc-couv{ display:none !important; }
