/* v1.84+ : Réseau & franchise, recouvrement, transferts, après-vente, entreprises, fidélité, audit (préfixe nw-). */
.nw-units { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.nw-unit { padding: 14px 16px; display: grid; gap: 6px; }
.nw-unit h3 { margin: 0 0 4px; font: 700 16px var(--cond, inherit); display: flex; align-items: center; gap: 8px; }
.nw-unit .row-between { font-size: 13.5px; }
.nw-unit .row-between b { font-variant-numeric: tabular-nums; }
.nw-bar { height: 8px; border-radius: 4px; background: var(--line-2, #eef1f5); overflow: hidden; }
.nw-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #8f0b12, #e11d24); }
.nw-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nw-tools .input, .nw-tools select { width: auto; min-width: 140px; }
.nw-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nw-months { overflow-x: auto; }
.nw-months table { border-collapse: separate; border-spacing: 4px; }
.nw-months th { font-size: 12px; color: var(--muted); font-weight: 600; text-align: center; white-space: nowrap; }
.nw-months th.u { text-align: left; min-width: 150px; }
.nw-m { display: grid; place-items: center; min-width: 62px; height: 36px; border-radius: 8px; font-size: 11.5px; font-weight: 700; border: 1px solid transparent; cursor: pointer; background: #f3f5f9; color: #6b7688; }
.nw-m.cloture { background: #e3f6e8; color: #1a8a3a; border-color: #b9e5c5; }
.nw-m.rouvert { background: #fff0e3; color: #e0620e; border-color: #fbd2b0; }
.nw-m.en_cours { background: #e7f0fd; color: #1f63c9; cursor: default; }
.nw-m:disabled { cursor: default; }
.nw-warn { padding: 10px 12px; border-radius: 8px; background: #fff7e6; color: #8a5a00; font-size: 13px; }
.nw-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; font-size: 13.5px; }
.nw-kv dt { color: var(--muted); } .nw-kv dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.nw-aging { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nw-age { padding: 12px 14px; border-radius: 10px; border: 1px solid var(--line); background: var(--card, #fff); cursor: pointer; text-align: left; }
.nw-age small { display: block; color: var(--muted); font-size: 12px; } .nw-age b { font-size: 19px; font-variant-numeric: tabular-nums; }
.nw-age.on { outline: 2px solid var(--red, #e11d24); }
.nw-age.b90 b { color: #c62828; } .nw-age.b60 b { color: #e0620e; }
.nw-tl { display: grid; gap: 8px; }
.nw-tl > div { display: grid; grid-template-columns: 130px 1fr auto; gap: 10px; align-items: start; padding: 8px 10px; border-radius: 8px; border: 1px solid var(--line-2, #eef1f5); font-size: 13px; }
.nw-tl small { color: var(--muted); }
.nw-pill { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 11.5px; font-weight: 700; background: #eef0f3; color: #4d5667; }
.nw-pill.late { background: #fdeaea; color: #d7141b; } .nw-pill.today { background: #fff0e3; color: #e0620e; } .nw-pill.ok { background: #e3f6e8; color: #1a8a3a; }
.nw-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.nw-form .full { grid-column: 1 / -1; }
.nw-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; min-width: 0; }
.nw-form label .input, .nw-form label select, .nw-form label textarea { font-weight: 400; width: 100%; box-sizing: border-box; }
@media (max-width: 720px) { .nw-aging { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nw-form { grid-template-columns: 1fr; } .nw-tl > div { grid-template-columns: 1fr; } }
html[data-theme="dark"] .nw-m { background: #1a2333; color: #9aa6b8; }
html[data-theme="dark"] .nw-m.cloture { background: #12301d; color: #6fd08f; border-color: #1f5a33; }
html[data-theme="dark"] .nw-m.rouvert { background: #3a240f; color: #f2a15e; border-color: #6a3d14; }
html[data-theme="dark"] .nw-m.en_cours { background: #12243f; color: #7fb0f5; }
html[data-theme="dark"] .nw-warn { background: #3a2c0c; color: #f4cf7a; }
html[data-theme="dark"] .nw-age { background: #111825; border-color: #243046; }
html[data-theme="dark"] .nw-tl > div { border-color: #243046; }
html[data-theme="dark"] .nw-pill { background: #1f2a3c; color: #b8c3d6; }
html[data-theme="dark"] .nw-bar { background: #1f2a3c; }
.nw-pick { position: relative; }
.nw-pick-r { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; display: grid; background: var(--card, #fff); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 24px rgba(16,27,45,.12); overflow: hidden; }
.nw-pick-r:empty { display: none; }
.nw-pick-o { text-align: left; padding: 9px 12px; border: 0; background: transparent; cursor: pointer; font-size: 13.5px; color: inherit; }
.nw-pick-o:hover { background: #f3f5f9; }
html[data-theme="dark"] .nw-pick-r { background: #111825; border-color: #243046; }
html[data-theme="dark"] .nw-pick-o:hover { background: #1a2333; }
.nw-qr { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.nw-qr svg { width: 200px; height: 200px; border-radius: 8px; background: #fff; padding: 6px; }
.nw-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; font: 600 15px ui-monospace, monospace; }
.nw-codes span { padding: 6px 10px; border-radius: 6px; background: #f3f5f9; text-align: center; letter-spacing: .08em; }
html[data-theme="dark"] .nw-codes span { background: #1a2333; }
