:root{--nf-courbe:cubic-bezier(.16, 1, .3, 1);--nf-bas:calc(16px + env(safe-area-inset-bottom,0px));--nf-verre-dense:linear-gradient(135deg, #fffffffc, #fafbfef7);--nf-ombre:0 26px 50px -26px #1e326e8c, inset 0 1px 0 #fffffff2;--nf-ok:#2fb350;--nf-erreur:#ff3b30;--nf-attention:#ff9500;--nf-urgent:#b25000;--nf-c-facture:#0a6fe8;--nf-c-devis:#5856d6;--nf-c-livraison:#8a6a45;--nf-c-commande:#a8760a;--nf-c-fournisseur:#4a6fa5;--nf-c-chantier:#e07b00;--nf-c-intervention:#9a3fcb;--nf-c-stock:#1e94ab;--nf-c-tresorerie:#1f9d55;--nf-c-equipe:#e0245e;--nf-c-client:#5e6b7a;--nf-c-systeme:#6e6e76;--nf-c-critique:#d70015}[data-mode=dark]{--nf-verre-dense:linear-gradient(135deg, #181e2efc, #101522f7);--nf-ombre:0 26px 50px -26px #000c, inset 0 1px 0 #ffffff14;--nf-urgent:#ffb35c;--nf-c-facture:#5aa2ff;--nf-c-devis:#8e8cff;--nf-c-livraison:#c9a37a;--nf-c-commande:#e0b047;--nf-c-fournisseur:#8fb0e0;--nf-c-chantier:#ffad4d;--nf-c-intervention:#c98ae8;--nf-c-stock:#4fc7dc;--nf-c-tresorerie:#4fd286;--nf-c-equipe:#ff6b97;--nf-c-client:#9aa8b8;--nf-c-systeme:#a1a1a8;--nf-c-critique:#ff5c52}body:has(.tk-onglets){--nf-bas:calc(84px + env(safe-area-inset-bottom,0px))}.nf-tuile{width:38px;height:38px;color:var(--nf-c);background:linear-gradient(145deg, color-mix(in srgb, var(--nf-c) 24%, transparent), color-mix(in srgb, var(--nf-c) 9%, transparent));box-shadow:inset 0 1px 0 var(--m-glass-highlight), 0 7px 14px -8px var(--nf-c);border-radius:13px;flex:none;place-items:center;display:grid;position:relative}.nf-tuile[data-urgence=HIGH]:after{content:"";background:var(--nf-attention);border:2px solid var(--m-bg-page);border-radius:50%;width:11px;height:11px;position:absolute;top:-3px;right:-3px}.nf-onde{border-radius:inherit;pointer-events:none;border:2px solid var(--nf-c-critique);animation:nf-onde 1.5s var(--nf-courbe) 3 both;position:absolute;inset:0}@keyframes nf-onde{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.nf-trace :is(path,line,polyline,polygon,circle,rect,ellipse){stroke-dasharray:100;stroke-dashoffset:100px;animation:nf-trace .65s var(--nf-courbe) forwards}.nf-trace :nth-child(2){animation-delay:.12s}.nf-trace :nth-child(3){animation-delay:.22s}.nf-trace :nth-child(4){animation-delay:.3s}@keyframes nf-trace{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.nf-trace :is(path,line,polyline,polygon,circle,rect,ellipse){stroke-dashoffset:0;animation:none}.nf-onde{opacity:0;animation:none}}.nf-capsules{bottom:var(--nf-bas)}.nf-capsule{background:var(--nf-verre-dense), var(--m-bg-page);border:1px solid var(--m-glass-edge);width:max-content;max-width:min(100%,480px);box-shadow:var(--nf-ombre);color:var(--m-text-1);animation:nf-capsule-entree .45s var(--nf-courbe) both;border-radius:24px;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;display:flex;position:relative}@media (max-width:1023px){.nf-capsule{width:100%}}@keyframes nf-capsule-entree{0%{opacity:0;transform:translateY(16px)}}.nf-rond{color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.nf-capsule[data-variant=success] .nf-rond{background:var(--nf-ok)}.nf-capsule[data-variant=error] .nf-rond{background:var(--nf-erreur);animation:nf-secoue .5s var(--nf-courbe)}.nf-capsule[data-variant=info] .nf-rond{background:var(--accent)}.nf-capsule[data-variant=warning] .nf-rond{background:var(--nf-attention)}@keyframes nf-secoue{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}.nf-tour{border:2.5px solid color-mix(in srgb, var(--accent) 20%, transparent);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite nf-tour}@keyframes nf-tour{to{transform:rotate(360deg)}}.nf-capsule-titre{font-weight:600}.nf-capsule-texte{color:var(--m-text-2);font-size:12.5px}.nf-lien{color:var(--accent);white-space:nowrap;border-radius:6px;flex:none;padding:4px 8px;font-size:13.5px;font-weight:600}.nf-lien:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.nf-lien:disabled{color:var(--m-text-3);cursor:default;background:0 0}.nf-fermer{width:26px;height:26px;color:var(--m-text-3);border-radius:50%;flex:none;place-items:center;display:grid}.nf-fermer:hover{background:var(--m-bg-card-hover);color:var(--m-text-1)}@media (prefers-reduced-motion:reduce){.nf-capsule,.nf-capsule[data-variant=error] .nf-rond{animation:none}.nf-tour{animation-duration:2.4s}}.nf-pile{pointer-events:none}.nf-place{transform-origin:bottom;pointer-events:auto;transition:transform .55s var(--nf-courbe), opacity .4s;position:absolute;top:0;left:0;right:0}.nf-carte{cursor:pointer;color:var(--m-text-1);background:var(--m-glass-surface);border:1px solid var(--m-glass-edge);box-shadow:var(--nf-ombre);-webkit-backdrop-filter:blur(var(--m-glass-blur)) saturate(var(--m-glass-sat));backdrop-filter:blur(var(--m-glass-blur)) saturate(var(--m-glass-sat));animation:nf-bulle-entree-tel .55s var(--nf-courbe) both;border-radius:22px;position:relative;overflow:hidden}@keyframes nf-bulle-entree-tel{0%{opacity:0;transform:translateY(-30px)scale(.96)}}@media (min-width:1024px){.nf-carte{animation-name:nf-bulle-entree-pc}@keyframes nf-bulle-entree-pc{0%{opacity:0;transform:translate(48px)}}}.nf-carte[data-urgence=CRITICAL]{border-color:color-mix(in srgb, var(--nf-c-critique) 45%, transparent)}.nf-carte.nf-sortie{animation:.25s ease-in both nf-bulle-sortie}@keyframes nf-bulle-sortie{to{opacity:0;transform:translate(48px)}}.nf-contenu{gap:12px;padding:13px 38px 14px 13px;transition:opacity .25s;display:flex}.nf-place[data-derriere] .nf-carte{height:100%}.nf-place[data-derriere] :is(.nf-contenu,.nf-fermer-bulle,.nf-temps){opacity:0}.nf-surtitre{letter-spacing:.04em;text-transform:uppercase;color:var(--m-text-2);align-items:baseline;gap:6px;font-size:11.5px;font-weight:600;display:flex}.nf-surtitre b[data-urgence=HIGH],.nf-bas b[data-urgence=HIGH]{color:var(--nf-urgent)}.nf-surtitre b[data-urgence=CRITICAL],.nf-bas b[data-urgence=CRITICAL]{color:var(--nf-c-critique)}.nf-heure{letter-spacing:0;text-transform:none;color:var(--m-text-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:400}.nf-titre{color:var(--m-text-1);font-size:14.5px;font-weight:600;line-height:1.3}.nf-texte{color:var(--m-text-2);margin-top:1px;font-size:13px}.nf-montant{color:var(--m-text-1);font-variant-numeric:tabular-nums;font-weight:600}.nf-fermer-bulle{position:absolute;top:8px;right:8px}.nf-temps{background:var(--nf-c);opacity:.75;transform-origin:0;height:2.5px;animation:linear forwards nf-temps;position:absolute;bottom:0;left:0;right:0}.nf-pile[data-survol] .nf-temps{animation-play-state:paused}@keyframes nf-temps{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.nf-place{transition:opacity .2s}.nf-carte,.nf-carte.nf-sortie{animation:none}}.nf-cloche{width:36px;height:36px;color:var(--m-text-2);border-radius:50%;place-items:center;transition:background .3s,color .3s;display:grid;position:relative}.nf-cloche:hover{background:var(--m-bg-card-hover);color:var(--m-text-1)}.nf-cloche-ouverte{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.nf-sonne{transform-origin:50% 12%;animation:nf-sonne 1s var(--nf-courbe)}@keyframes nf-sonne{15%{transform:rotate(17deg)}32%{transform:rotate(-13deg)}50%{transform:rotate(9deg)}68%{transform:rotate(-5deg)}84%{transform:rotate(2deg)}to{transform:rotate(0)}}.nf-badge{border:2px solid var(--m-bg-page);background:var(--accent);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:10px;min-width:19px;height:19px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:15px;display:inline-grid;position:absolute;top:-3px;right:-5px;overflow:hidden}.nf-badge-critique{background:var(--nf-erreur)}.nf-roule{animation:nf-roule .45s var(--nf-courbe)}@keyframes nf-roule{0%{opacity:0;transform:translateY(85%)}}@media (prefers-reduced-motion:reduce){.nf-sonne,.nf-roule{animation:none}}.nf-ligne{transition:grid-template-rows .32s var(--nf-courbe), opacity .25s;grid-template-rows:1fr;display:grid}.nf-ligne.nf-part{opacity:0;grid-template-rows:0fr}.nf-ligne-in{min-height:0;position:relative;overflow:hidden}.nf-ligne-corps{cursor:pointer;touch-action:pan-y;transition:transform .35s var(--nf-courbe), background .5s;gap:12px;padding:12px 14px 12px 16px;display:flex;position:relative}.nf-ligne+.nf-ligne .nf-ligne-corps:before{content:"";background:var(--m-glass-line);height:1px;position:absolute;top:0;left:66px;right:0}.nf-ligne[data-non-lue] .nf-ligne-corps{background:color-mix(in srgb, var(--accent) 7%, transparent)}.nf-ligne:not([data-non-lue]) .nf-titre{color:var(--m-text-2);font-weight:500}.nf-bas{color:var(--m-text-3);flex-wrap:wrap;align-items:baseline;gap:4px 9px;margin-top:3px;font-size:12px;display:flex}.nf-bas b{font-weight:600}.nf-point{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.nf-glisse-fond{color:#fff;background:var(--nf-erreur);justify-content:space-between;align-items:center;padding:0 18px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.nf-glisse-fond span{align-items:center;gap:6px;display:inline-flex}.nf-glisse-fond[data-sens=lire]{background:var(--accent)}.nf-glisse-fond[data-sens=lire] span:last-child,.nf-glisse-fond[data-sens=archiver] span:first-child{visibility:hidden}.nf-ligne:has(.nf-glisse-fond) .nf-ligne-corps{background:var(--m-bg-card)}.nf-outils{opacity:0;transition:opacity .25s, transform .3s var(--nf-courbe);gap:5px;display:flex;position:absolute;top:9px;right:10px;transform:translate(8px)}.nf-ligne-corps:hover .nf-outils,.nf-ligne-corps:focus-within .nf-outils{opacity:1;transform:none}@media (hover:none){.nf-outils{display:none}}.nf-outil{background:var(--m-bg-card);width:30px;height:30px;color:var(--m-text-2);border-radius:50%;place-items:center;display:grid;box-shadow:0 1px 4px #00000029}.nf-outil:hover{color:var(--accent)}.nf-outil-archiver:hover{color:var(--nf-c-critique)}.nf-vide{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:48px 24px;display:flex}.nf-tuile-grande{border-radius:18px;width:58px;height:58px;margin-bottom:10px}@media (prefers-reduced-motion:reduce){.nf-ligne,.nf-ligne-corps{transition:none}}.nf-fenetre,.nf-feuille{z-index:70;background:var(--nf-verre-dense), var(--m-bg-page);border:1px solid var(--m-glass-edge);box-shadow:var(--nf-ombre);color:var(--m-text-1);outline:none;flex-direction:column;display:flex;position:fixed;overflow:hidden}.nf-fenetre{top:calc(64px + env(safe-area-inset-top,0px));transform-origin:calc(100% - 40px) 0;width:min(384px,100vw - 32px);max-height:calc(100vh - 88px);animation:nf-fenetre-entree .5s var(--nf-courbe) both;border-radius:24px;right:16px}@keyframes nf-fenetre-entree{0%{opacity:0;transform:translateY(-10px)scale(.95)}}.nf-voile{z-index:69;background:#00000040;animation:.4s both nf-voile;position:fixed;inset:0}@keyframes nf-voile{0%{opacity:0}}.nf-feuille{height:88dvh;padding-bottom:env(safe-area-inset-bottom,0px);animation:nf-feuille-entree .5s var(--nf-courbe) both;border-bottom:0;border-radius:30px 30px 0 0;bottom:0;left:0;right:0}@keyframes nf-feuille-entree{0%{transform:translateY(104%)}}.nf-poignee{background:var(--m-text-4);opacity:.5;border-radius:3px;flex:none;width:36px;height:5px;margin:8px auto 0}.nf-entete{flex:none;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 18px 4px;display:flex}.nf-entete-titre{letter-spacing:-.02em;font-size:22px;font-weight:700}.nf-etat{color:var(--m-text-2);align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.nf-etat i{background:var(--m-text-3);border-radius:50%;width:7px;height:7px}.nf-etat i[data-direct]{background:#34c759;animation:2.4s ease-out infinite nf-vie}@keyframes nf-vie{0%{box-shadow:0 0 #34c7598c}70%,to{box-shadow:0 0 0 7px #34c75900}}.nf-filtres{scrollbar-width:none;flex:none;gap:6px;padding:12px 14px 10px;display:flex;overflow-x:auto}.nf-filtres::-webkit-scrollbar{display:none}.nf-filtre{background:var(--m-btn-secondary-bg);height:32px;color:var(--m-text-1);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:500;transition:background .3s,color .3s;display:inline-flex}.nf-filtre[aria-pressed=true]{background:var(--m-text-1);color:var(--m-bg-page)}.nf-filtre small{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:17px;height:17px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:17px}.nf-filtre[data-filtre=critical] small{background:var(--nf-erreur)}.nf-liste{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.nf-jour{letter-spacing:.05em;text-transform:uppercase;color:var(--m-text-3);padding:10px 18px 6px;font-size:12px;font-weight:600}.nf-chargement,.nf-astuce{color:var(--m-text-3);text-align:center;padding:14px 18px 20px;font-size:12.5px}.nf-plus{color:var(--accent);padding:10px 18px;font-size:12.5px;font-weight:600;display:block}.nf-pied{border-top:1px solid var(--m-glass-line);flex:none;justify-content:space-between;padding:6px 14px;display:flex}@media (prefers-reduced-motion:reduce){.nf-fenetre,.nf-feuille,.nf-voile,.nf-etat i[data-direct]{animation:none}}.nf-page{height:100%;color:var(--m-text-1);flex-direction:column;display:flex}.nf-page-entete{border-bottom:1px solid var(--m-glass-line);background:var(--m-glass-surface);flex:none;padding:18px 24px 10px}.nf-page-titre{letter-spacing:-.025em;font-size:26px;font-weight:700}.nf-page-corps{flex:1;padding:18px 16px 40px;overflow-y:auto}.nf-groupe{background:var(--nf-verre-dense), var(--m-bg-page);border:1px solid var(--m-glass-edge);max-width:760px;box-shadow:var(--nf-ombre);border-radius:22px;margin:0 auto 16px;overflow:hidden}.nf-jour small{margin-left:4px;font-weight:700}.nf-chiffres{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}@media (min-width:1024px){.nf-chiffres{grid-template-columns:repeat(4,minmax(0,1fr))}}.nf-chiffre{background:var(--m-bg-card);border:1px solid var(--m-border-card);color:var(--m-text-3);border-radius:16px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.nf-chiffre[data-critique]{color:var(--nf-c-critique)}.nf-chiffre-libelle{letter-spacing:.05em;text-transform:uppercase;color:var(--m-text-3);font-size:11px;font-weight:600}.nf-chiffre-valeur{color:var(--m-text-1);font-variant-numeric:tabular-nums;margin-top:2px;font-size:22px;font-weight:700}.nf-bouton{background:var(--m-btn-secondary-bg);border:1px solid var(--m-btn-secondary-border);height:34px;color:var(--m-btn-secondary-text);border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:600;display:inline-flex}.nf-bouton:disabled{opacity:.5}.nf-bouton-principal{background:var(--accent);color:#fff;border-color:#0000}.nf-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.nf-action{background:var(--m-btn-secondary-bg);height:32px;color:var(--m-text-1);transition:transform .2s var(--nf-courbe), filter .2s, opacity .2s;border-radius:999px;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.nf-action:hover{filter:brightness(.96)}.nf-action:active{transform:scale(.95)}.nf-action:disabled{opacity:.45;cursor:default}.nf-action-principale{background:var(--accent);color:#fff}@media (max-width:1023px){.nf-action{height:36px;padding:0 16px}}.nf-motif{margin-top:10px}.nf-motif-champ{border:1px solid var(--m-border-card);background:var(--m-bg-card);width:100%;height:40px;color:var(--m-text-1);border-radius:12px;padding:0 14px;font-size:16px}.nf-motif-champ:focus{outline:2px solid var(--accent);outline-offset:1px}.nf-fait{color:var(--nf-ok);align-items:center;gap:5px;margin-top:8px;font-size:13px;font-weight:600;display:inline-flex}.nf-fait[data-refus]{color:var(--m-text-2)}@media (prefers-reduced-motion:reduce){.nf-action{transition:none}}.nf-ouvrir{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;padding:0;display:block}.nf-ouvrir.nf-titre{color:var(--m-text-1);font-size:14.5px;font-weight:600;line-height:1.3}.nf-ligne:not([data-non-lue]) .nf-ouvrir.nf-titre{color:var(--m-text-2);font-weight:500}.nf-ouvrir:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nf-neuve .nf-ligne-corps{animation:nf-neuve 1.7s var(--nf-courbe) both}@keyframes nf-neuve{0%{opacity:0;box-shadow:inset 0 0 0 200px color-mix(in srgb, var(--nf-c) 16%, transparent);transform:translateY(-8px)}25%{opacity:1;transform:none}to{box-shadow:inset 0 0 0 200px #0000}}.nf-fait[data-neutre]{color:var(--m-text-2)}@media (prefers-reduced-motion:reduce){.nf-neuve .nf-ligne-corps{animation:none}}