:root{--fond:#fafafe;--surface:#ffffff;--surface-2:#f3f4f8;--encre:#1a1a2e;--dim:#6b7280;--bord:#e5e7eb;--bord-fort:#cfd3dc;--accent:#667eea;--accent-doux:#eef0fd;--ok:#16a34a;--ok-doux:#e7f6ec;--manuel:#b45309;--manuel-doux:#fdf1e0;--retire:#dc2626;--ombre:0 1px 3px rgba(26,26,46,0.07);--code-fond:rgba(26,26,46,0.78);--code-encre:#ffffff;--k-offset:0px}*{box-sizing:border-box}body{background:var(--fond);color:var(--encre);margin:0}#appc{display:flex;flex-direction:column;height:calc(100dvh - var(--k-offset));font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overflow:hidden}#appc button{font:inherit;color:inherit}.k-header{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--bord);flex:none}.marque{font-weight:800;font-size:17px;letter-spacing:.2px;white-space:nowrap}.marque small{color:var(--dim);font-weight:600;font-size:11px;display:block;letter-spacing:.6px}.cherche{position:relative;flex:1 1;max-width:720px}.cherche input{width:100%;height:52px;padding:0 52px 0 46px;font-size:18px;color:var(--encre);background:var(--surface-2);border:1.5px solid var(--bord-fort);border-radius:12px;outline:none}.cherche input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-doux)}.cherche input::placeholder{color:var(--dim)}.cherche .loupe{left:15px;pointer-events:none}.cherche .efface,.cherche .loupe{position:absolute;top:50%;translate:0 -50%;color:var(--dim)}.cherche .efface{right:6px;width:42px;height:42px;border-radius:10px;border:none;background:transparent;font-size:20px;cursor:pointer}.cherche .efface:hover{background:var(--surface-2)}.btn-edit{height:42px;padding:0 14px;border-radius:10px;border:1.5px solid var(--bord-fort);background:var(--surface);font-weight:700;cursor:pointer;white-space:nowrap;color:var(--encre)}.btn-edit.actif{background:var(--accent);border-color:var(--accent);color:#fff}.densite{display:flex;gap:4px}.densite button{border:1px solid var(--bord);background:var(--surface);border-radius:8px;cursor:pointer;color:var(--dim);width:38px;height:38px;font-weight:700}.densite button[aria-pressed=true]{background:var(--accent-doux);color:var(--accent);border-color:var(--accent)}.densite .d-s{font-size:11px}.densite .d-m{font-size:14px}.densite .d-l{font-size:17px}.corps{display:flex;flex:1 1;min-height:0}nav.rail{width:118px;flex:none;overflow-y:auto;background:var(--surface);border-right:1px solid var(--bord);padding:8px 6px 16px;gap:3px}.ray,nav.rail{display:flex;flex-direction:column}.ray{align-items:center;gap:2px;padding:9px 4px 8px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer;color:var(--dim);font-size:11.5px;font-weight:600;min-height:60px}.ray .ico{font-size:21px;line-height:1}.ray .n{text-align:center;line-height:1.15}.ray .c{font-size:10px;color:var(--dim);font-weight:500}.ray:hover{background:var(--surface-2)}.ray[aria-pressed=true]{background:var(--accent-doux);border-color:var(--accent);color:var(--accent)}.ray[aria-pressed=true] .c{color:var(--accent)}main.k-main{flex:1 1;min-width:0;overflow-y:auto;padding:12px 14px 20px}.titre-vue{font-size:13px;font-weight:700;color:var(--dim);letter-spacing:.4px;text-transform:uppercase;margin:2px 0 10px}.titre-vue b{color:var(--encre)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.chips:empty{margin:0}.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;border:1.5px solid var(--accent);background:var(--accent-doux);color:var(--accent);font-weight:700;font-size:13.5px;cursor:pointer}.chip small{font-weight:600;opacity:.75}.groupe-titre{position:-webkit-sticky;position:sticky;top:-12px;z-index:2;background:var(--fond);padding:10px 2px 6px;font-size:12.5px;font-weight:700;color:var(--dim);letter-spacing:.4px;text-transform:uppercase}.groupe-titre b{color:var(--encre)}.barre-cat{position:-webkit-sticky;position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;margin:20px 0 10px;padding:9px 12px;border:1px solid var(--bord);border-left:5px solid var(--accent);border-radius:10px;background:var(--surface);box-shadow:var(--ombre);scroll-margin-top:4px}.barre-cat.premiere{margin-top:2px}.barre-cat .b-ico{font-size:19px;line-height:1;flex:none}.barre-cat .b-nom{font-size:14.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--encre);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barre-cat .b-nb{margin-left:auto;flex:none;padding:3px 10px;border-radius:999px;background:var(--accent-doux);color:var(--accent);font-size:12px;font-weight:700}.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tuile,152px),1fr));grid-gap:9px;gap:9px}#appc[data-densite=s] .grille{--tuile:126px}#appc[data-densite=s] .ph{height:62px}#appc[data-densite=l] .grille{--tuile:188px}#appc[data-densite=l] .ph{height:108px}.tuile{position:relative;display:flex;flex-direction:column;gap:6px;padding:7px 8px 8px;background:var(--surface);border:1px solid var(--bord);border-radius:12px;box-shadow:var(--ombre);cursor:pointer;text-align:left;transition:transform .06s ease,border-color .12s;-moz-user-select:none;user-select:none;-webkit-user-select:none}.tuile:active{transform:scale(.97)}.tuile:focus-visible{outline:2.5px solid var(--accent);outline-offset:1px}.ph{position:relative;height:82px;border-radius:8px;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center}.ph img{width:100%;height:100%;object-fit:cover;display:block}.ph .init{font-weight:800;font-size:24px;letter-spacing:1px;color:rgba(26,26,46,.55)}.ph .badge-code{position:absolute;left:5px;bottom:5px;background:var(--code-fond);color:var(--code-encre);font:700 11.5px/1 ui-monospace,Cascadia Mono,Consolas,monospace;padding:4px 7px;border-radius:6px;max-width:calc(100% - 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuile .lib{font-size:12.8px;font-weight:600;line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.44em}.tuile .bas{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.tuile .prix{font:700 15px/1 ui-monospace,Cascadia Mono,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tuile .prix i{font-style:normal;font-weight:600;font-size:10.5px;color:var(--dim)}.tuile .fam{font-size:10px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tuile.copie{border-color:var(--ok)}.tuile.copie:after{content:"✓ copié";background:color-mix(in srgb,var(--ok-doux) 88%,transparent);color:var(--ok);font-size:17px;animation:pouf .75s ease forwards}.tuile.ajout:after,.tuile.copie:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;border-radius:11px}.tuile.ajout:after{content:"📌 ajouté";background:color-mix(in srgb,var(--accent-doux) 90%,transparent);color:var(--accent);font-size:15px;animation:pouf .7s ease forwards}@keyframes pouf{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.fiche-bas,.tuile,.tuile.ajout:after,.tuile.copie:after{animation:none!important;transition:none}}.tuile .coin{position:absolute;top:4px;right:4px;z-index:2;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;pointer-events:none}.coin.c-plus{background:var(--accent);color:#fff;box-shadow:var(--ombre)}.coin.c-oter{background:var(--surface);color:var(--retire);border:1.5px solid var(--retire)}.coin.c-pin{width:auto;height:auto;top:3px;right:6px;font-size:12px;opacity:.9}.coin-btn{pointer-events:auto;cursor:pointer}.vide{padding:30px 8px;font-size:15px}.note-bas,.vide{color:var(--dim)}.note-bas{margin:26px 2px 4px;font-size:11.5px}.k-alerte{margin:14px 0;padding:14px 16px;border-radius:12px;border:1.5px solid var(--manuel);background:var(--manuel-doux);color:var(--manuel);font-weight:600}.k-charge{padding:40px 10px;color:var(--dim);font-size:15px;text-align:center}.cat{margin:0 0 16px}.cat-tete{display:flex;align-items:center;gap:8px;padding:6px 2px 8px}.cat-ico{font-size:17px}.cat-nom{flex:0 1 250px;min-width:130px;height:38px;padding:0 10px;font:inherit;font-weight:700;font-size:14px;border:1.5px dashed var(--bord-fort);border-radius:9px;background:var(--surface);color:var(--encre)}.cat-nom:focus{border-style:solid;border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-doux)}.cat-nb{font-size:12px;color:var(--dim);font-weight:700;min-width:20px}.cat-tete .c-btn{width:40px;height:38px;border-radius:9px;flex:none;border:1px solid var(--bord);background:var(--surface);cursor:pointer;color:var(--encre);font-size:14px}.cat-tete .c-btn:disabled{opacity:.3;cursor:default}.cat-suppr:not(:disabled){color:var(--retire);border-color:var(--retire)}.g-org{border:1.5px dashed var(--bord-fort);border-radius:12px;padding:8px;min-height:66px;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.g-org .tuile{touch-action:none;cursor:-webkit-grab;cursor:grab}.g-vide{grid-column:1/-1;min-height:50px;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:12.5px}.tuile.fantome{opacity:.35;border-style:dashed}.cat-ajout{margin-top:2px;padding:12px 18px;border-radius:10px;border:1.5px dashed var(--accent);background:var(--accent-doux);color:var(--accent);font-weight:700;cursor:pointer}footer.k-footer{flex:none;gap:16px;min-height:86px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--bord)}.b-etat,footer.k-footer{display:flex;align-items:center}.b-etat{gap:14px;flex:1 1;min-width:0}.b-badge{flex:none;padding:7px 12px;border-radius:9px;background:var(--ok-doux);color:var(--ok);font-weight:800;font-size:13px;letter-spacing:.3px}.b-badge.manuel{background:var(--manuel-doux);color:var(--manuel)}.b-badge.edit{background:var(--accent-doux);color:var(--accent)}.b-code{font:800 42px/1 ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:1px;white-space:nowrap}.b-detail{min-width:0}.b-lib{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-sous{font-size:11.5px;color:var(--dim)}.b-attente{color:var(--dim);font-size:14px}.histo{display:flex;gap:6px;align-items:center}.histo .h-t{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-right:2px}.histo button{border:1px solid var(--bord-fort);background:var(--surface-2);border-radius:8px;cursor:pointer;padding:8px 10px;font:700 13px/1 ui-monospace,Cascadia Mono,Consolas,monospace}.histo button:hover{border-color:var(--accent);color:var(--accent)}.lien{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit}.voile{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:1150}.fiche-bas{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:min(620px,100%);max-height:82dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--bord);border-bottom:none;border-radius:18px 18px 0 0;z-index:1200;padding:14px 16px calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:0 -12px 40px rgba(0,0,0,.28);animation:montee .16s ease}@keyframes montee{0%{transform:translateY(26px);opacity:.5}}.f-tete{display:flex;gap:12px;align-items:flex-start}.f-ph{width:64px;height:64px;border-radius:10px;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:var(--surface-2)}.f-ph img{width:100%;height:100%;object-fit:cover}.f-ph .init{font-weight:800;font-size:20px;color:rgba(26,26,46,.55)}.f-lib{font-weight:700;font-size:15px;line-height:1.25}.f-sous{margin-top:5px;font-size:12.5px;color:var(--dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.f-sous .badge-code{background:var(--code-fond);color:var(--code-encre);font:700 11.5px/1 ui-monospace,Cascadia Mono,Consolas,monospace;padding:4px 7px;border-radius:6px}.f-fermer{margin-left:auto;width:40px;height:40px;flex:none;border-radius:10px;border:1px solid var(--bord);background:var(--surface-2);font-size:16px;cursor:pointer;color:var(--encre)}.f-sect{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dim);margin:14px 0 7px}.f-cats{display:flex;flex-wrap:wrap;gap:7px}.f-cat{padding:10px 13px;border-radius:999px;border:1.5px solid var(--bord-fort);background:var(--surface);cursor:pointer;font-weight:600;font-size:13.5px;color:var(--encre)}.f-cat.actuelle,.f-cat:hover{border-color:var(--accent);color:var(--accent)}.f-cat.actuelle{background:var(--accent-doux);cursor:default}.f-tagline{display:flex;gap:8px}.f-tagline input{flex:1 1;min-width:0;height:44px;padding:0 12px;font-size:15px;border:1.5px solid var(--bord-fort);border-radius:10px;background:var(--surface-2);color:var(--encre)}.f-tagline input:focus{border-color:var(--accent);outline:none;background:var(--surface)}.f-ok{padding:0 18px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.f-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.f-act{flex:1 1;min-width:150px;padding:12px;border-radius:10px;border:1px solid var(--bord-fort);background:var(--surface-2);font-weight:700;cursor:pointer;color:var(--encre);font-size:13.5px}.f-danger{color:var(--retire);border-color:var(--retire);background:transparent}.f-note{margin-top:8px;font-size:11.5px;color:var(--dim)}@media (max-width:840px){.k-header{flex-wrap:wrap;gap:8px;padding:8px 10px}.densite,.marque small{display:none}.cherche{order:3;flex-basis:100%;max-width:none}.cherche input{height:46px;font-size:16px}.corps{flex-direction:column}nav.rail{width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--bord)}.ray,nav.rail{padding:6px 8px}.ray{flex:none;min-width:74px;min-height:54px}.b-code{font-size:30px}.histo{display:none}}:root{--ggk-police-ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--ggk-police-titre:GgkOutfit,system-ui,-apple-system,"Segoe UI",sans-serif;--ggk-taille-1:11px;--ggk-taille-2:12px;--ggk-taille-3:13px;--ggk-taille-4:15px;--ggk-taille-5:18px;--ggk-taille-6:22px;--ggk-taille-7:30px;--ggk-rayon-s:8px;--ggk-rayon-m:12px;--ggk-rayon-l:16px;--ggk-rayon-pilule:999px;--ggk-cible:44px;--ggk-cible-rayon:48px;--ggk-couche-collant:20;--ggk-couche-feuille:1200;--ggk-couche-toast:1350;--ggk-couche-plein:1400;--ggk-action:var(--ggk-primary,#b91f65);--ggk-etat-ok:#1d6b3a;--ggk-etat-ok-fond:#e3f4e8;--ggk-etat-ok-bord:#2e8b4f;--ggk-etat-surplus:#1d6b3a;--ggk-etat-surplus-fond:#e3f4e8;--ggk-etat-surplus-bord:#2e8b4f;--ggk-etat-perte:#b3261e;--ggk-etat-perte-fond:#fdecea;--ggk-etat-perte-bord:#c62828;--ggk-etat-groupe:#1a56a8;--ggk-etat-groupe-fond:#e8f0fb;--ggk-etat-groupe-bord:#2f6fc4;--ggk-etat-attention:#8a4b00;--ggk-etat-attention-fond:#fff1d6;--ggk-etat-attention-bord:#d97706;--ggk-etat-attente:#5f5a55;--ggk-etat-attente-fond:#eeeae6;--ggk-etat-attente-bord:#8f8a85;--ggk-etat-en-cours:#372820;--ggk-etat-en-cours-fond:#ff9500;--ggk-etat-en-cours-bord:#ff6a00;--ggk-d1-fond:#fff8f2;--ggk-d1-encre:#39312e;--ggk-d1-encre-2:#726358;--ggk-d1-trait:#eaded1;--ggk-d1-doux:#fff4e8;--ggk-d1-action:#b91f65;--ggk-d1-lisere:#ff9f12;--ggk-d1-signature:linear-gradient(90deg,#ff198b,#ff9f12 50%,#ffe528)}