:root{--bg: #e9eee9;--surface: #fbfcfa;--surface2: #f2f5f1;--line: #d0d9cf;--line2: #bcc8bb;--ink: #121a14;--muted: #5b6a60;--faint: #8a9990;--accent: #0b6b4f;--accent-ink: #fff;--accent-soft: #dcebe3;--sell: #9a5410;--sell-soft: #f5e7d6;--warn: #8a6a12;--danger: #a13226;--shadow: 0 1px 2px rgba(18, 26, 20, .06), 0 10px 28px -18px rgba(18, 26, 20, .35);--radius: 10px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0d1310;--surface: #151d18;--surface2: #1b241e;--line: #26312a;--line2: #334138;--ink: #e3ebe5;--muted: #93a399;--faint: #6e7e75;--accent: #45c596;--accent-ink: #06231a;--accent-soft: rgba(22, 48, 38, .55);--sell: #e2a55e;--sell-soft: rgba(51, 38, 22, .55);--warn: #d8b457;--danger: #e2796b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -18px rgba(0, 0, 0, .8)}}:root[data-theme=dark]{--bg: #0d1310;--surface: #151d18;--surface2: #1b241e;--line: #26312a;--line2: #334138;--ink: #e3ebe5;--muted: #93a399;--faint: #6e7e75;--accent: #45c596;--accent-ink: #06231a;--accent-soft: rgba(22, 48, 38, .55);--sell: #e2a55e;--sell-soft: rgba(51, 38, 22, .55);--warn: #d8b457;--danger: #e2796b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -18px rgba(0, 0, 0, .8)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Public Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:Bricolage Grotesque,Public Sans,sans-serif;letter-spacing:-.015em;text-wrap:balance}a{color:var(--accent)}.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.wrap{max-width:1240px;margin:0 auto;padding:0 18px}.spacer{flex:1 1 auto}.muted{color:var(--muted)}.faint{color:var(--faint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 0}.topbar .inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:inherit}.brand b{font-family:Bricolage Grotesque,sans-serif;font-size:17px;font-weight:800}.brand span{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}button,.btn{font:inherit;font-weight:600;cursor:pointer;border-radius:8px;padding:7px 13px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}button:hover,.btn:hover{border-color:var(--accent);color:var(--accent)}button.primary,.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{filter:brightness(1.08);color:var(--accent-ink)}button.ghost{border-color:transparent;background:transparent;color:var(--muted)}button.danger:hover{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line2);border-radius:8px;padding:4px 9px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;white-space:nowrap}.field input,.field select{border:0;background:transparent;color:var(--ink);font:inherit;padding:3px 0;min-width:0}.field input:focus,.field select:focus{outline:none}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.w-s input{width:58px;text-align:right}.field.w-m input{width:200px}.stats{display:flex;flex-wrap:wrap;gap:26px;padding:18px 0 12px;border-bottom:1px solid var(--line)}.stat b{display:block;font-family:IBM Plex Mono,monospace;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 0}.rows{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:48px minmax(0,1fr) 62px 96px 86px 108px 96px;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line)}.row:hover{background:var(--surface2)}.row.head{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:700;border-bottom:1px solid var(--line2);padding-bottom:7px;position:sticky;top:55px;background:var(--bg);z-index:15}.row.head:hover{background:var(--bg)}.row .r{text-align:right}.thumb{width:48px;height:48px;border-radius:7px;overflow:hidden;background:var(--surface2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--faint)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.nm{min-width:0}.nm input.name{font:inherit;font-weight:500;font-size:14px;width:100%;border:0;background:transparent;color:var(--ink);padding:2px 4px;margin-left:-4px;border-radius:5px}.nm input.name:hover{background:var(--surface)}.nm input.name:focus{outline:none;background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft)}.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px;font-size:11px}.meta .rayon{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--accent)}.meta a{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10.5px;text-decoration:none}.meta a:hover{color:var(--accent);text-decoration:underline}.meta .en{color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.chip{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:0 4px}.chip.est{color:var(--warn)}.chip.off{color:var(--faint)}.inp{width:100%;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:13px;text-align:right;padding:5px 7px;border:1px solid var(--line2);border-radius:6px;background:var(--surface);color:var(--ink)}.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inp.est{color:var(--muted);border-style:dashed}.pu{text-align:right;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}.pv{text-align:right;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;color:var(--sell);white-space:nowrap}.pub{display:flex;justify-content:flex-end;gap:4px}.pub button{padding:4px 8px;font-size:11px}.pub button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pub button.wait{border-color:var(--warn);color:var(--warn)}.pub button.wait:hover{background:var(--warn);color:var(--bg)}.shop-hero{padding:44px 0 26px;border-bottom:1px solid var(--line)}.shop-hero h1{font-size:clamp(30px,5vw,46px);font-weight:800;line-height:1.03}.shop-hero p{color:var(--muted);max-width:62ch;margin:12px 0 0}.rayon-nav{display:flex;flex-wrap:wrap;gap:7px;padding:18px 0}.rayon-nav button{padding:5px 12px;border-radius:999px;font-size:13px}.rayon-nav button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px;padding:6px 0 40px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.card .ph{aspect-ratio:1;background:var(--surface2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.card .ph img{width:100%;height:100%;object-fit:cover;display:block}.card .ph .none{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--faint);letter-spacing:.1em}.card .body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:7px;flex:1}.card .r{font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--accent)}.card .t{font-size:13.5px;font-weight:500;line-height:1.35}.card .p{margin-top:auto;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;color:var(--sell)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.login h1{font-size:22px;font-weight:800;margin-bottom:4px}.login form{display:flex;flex-direction:column;gap:12px;margin-top:20px}.login input{font:inherit;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--bg);color:var(--ink)}.login input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.err{color:var(--danger);font-size:13px;font-weight:600}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:16px 0;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}.panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:60;background:var(--ink);color:var(--bg);border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;box-shadow:var(--shadow);max-width:90vw}.empty{padding:40px 4px;color:var(--muted);text-align:center}footer.site{padding:30px 0 46px;color:var(--faint);font-size:12px;border-top:1px solid var(--line);margin-top:26px}footer.site p{margin:4px 0}@media (max-width: 900px){.row{grid-template-columns:44px minmax(0,1fr) 104px;row-gap:8px}.row.head{display:none}.row .c-qty,.row .c-cost,.row .c-pu,.row .c-pub{grid-column:2 / -1}.row .c-qty,.row .c-cost{display:inline-block;width:92px;margin-right:8px}.row .c-pu{text-align:left;font-size:12px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.card .ph .ph-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--faint);letter-spacing:.1em}.card .ph .ph-inner img{width:100%;height:100%;object-fit:cover;display:block}.meta a.ref{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10.5px;text-decoration:none}.meta a.ref:hover,.meta a.ref:focus-visible{color:var(--accent);text-decoration:underline}.refcard{position:fixed;z-index:70;width:340px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line2);border-radius:10px;box-shadow:var(--shadow);padding:12px 14px;font-size:12.5px;display:flex;flex-direction:column;gap:10px}.refcard.flip{transform:translateY(-100%)}.rc-load,.rc-err{color:var(--muted);font-size:12px}.rc-err{color:var(--danger);font-weight:600}.rc-head{display:flex;flex-direction:column;gap:3px}.rc-head strong{font-size:13px;font-weight:600;line-height:1.3}.rc-en{color:var(--faint);font-size:10.5px;line-height:1.3}.rc-tab{width:100%;border-collapse:collapse}.rc-tab th{text-align:left;font-weight:500;color:var(--muted);padding:3px 0;font-size:11.5px;white-space:nowrap}.rc-tab td{text-align:right;padding:3px 0 3px 10px;white-space:nowrap}.rc-tab .num{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.rc-eur{font-weight:600}.rc-dim th,.rc-dim td{color:var(--faint);font-size:11px}.rc-strong th{color:var(--ink);font-weight:600}.rc-strong td{font-weight:600}.rc-strong,.rc-mine{border-top:1px solid var(--line)}.rc-mine th{color:var(--sell);font-weight:600}.rc-mine .rc-eur{color:var(--sell)}.rc-ecart th{font-size:11px}.rc-ecart td{font-size:11px;font-weight:600}.rc-ecart.ok td{color:var(--accent)}.rc-ecart.ko td{color:var(--warn)}.rc-histo{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:2px}.rc-lab{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:700;margin-bottom:2px}.rc-hrow{display:flex;justify-content:space-between;font-size:11.5px}.rc-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:9px;flex-wrap:wrap}.rc-foot .faint{font-size:10.5px;line-height:1.35;flex:1 1 130px;min-width:0}.rc-foot button{padding:5px 10px;font-size:11.5px;white-space:nowrap;flex:0 0 auto}.chip.pack{color:var(--muted)}.card .pack{font-size:11px;color:var(--muted);font-family:IBM Plex Mono,monospace}.btn .badge,.panier-fab .badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;margin-left:2px}.pastille{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.card .add{width:100%;justify-content:center;margin-top:2px}.card .add.ok{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.panier-fab{position:fixed;right:20px;bottom:20px;z-index:50;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:11px 18px;border-radius:999px;box-shadow:var(--shadow);font-size:15px}.panier-fab:hover{color:var(--accent-ink);filter:brightness(1.08)}.panier-fond{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0a120e73;display:flex;justify-content:flex-end}.panier{width:min(440px,100%);background:var(--bg);height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px 18px 26px;border-left:1px solid var(--line2)}.panier:focus{outline:none}.pn-head{display:flex;align-items:center;justify-content:space-between}.pn-head h2{font-size:19px;font-weight:800}.pn-vide,.pn-ok{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:20px 0}.pn-ref{font-size:22px;font-weight:600;color:var(--accent)}.pn-warn{color:var(--warn);font-weight:600;font-size:13px}.pn-lignes{display:flex;flex-direction:column;gap:10px}.pn-l{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.pn-l-haut{display:flex;gap:8px;align-items:flex-start}.pn-nom{font-size:13.5px;font-weight:500;line-height:1.35;flex:1}.pn-x{padding:0 6px;font-size:14px;color:var(--faint)}.pn-x:hover{color:var(--danger);border-color:transparent}.pn-l-bas{display:flex;align-items:center;justify-content:space-between}.pn-qte{display:flex;align-items:center;gap:2px}.pn-qte button{padding:2px 10px;font-size:15px;line-height:1.2}.pn-qte span{min-width:34px;text-align:center;font-size:14px}.pn-prix{font-size:15px;font-weight:600;color:var(--sell)}.pn-com{font:inherit;font-size:12.5px;padding:6px 9px;border:1px solid var(--line2);border-radius:6px;background:var(--bg);color:var(--ink)}.pn-com:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pn-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line2);padding-top:12px;font-size:15px}.pn-total strong{font-size:21px;color:var(--sell)}.pn-form{display:flex;flex-direction:column;gap:9px}.pn-duo{display:flex;gap:9px}.pn-duo input{flex:1;min-width:0}.pn-form input,.pn-form textarea{font:inherit;padding:9px 11px;border:1px solid var(--line2);border-radius:8px;background:var(--surface);color:var(--ink);width:100%;resize:vertical}.pn-form input:focus,.pn-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pn-form button.primary{justify-content:center;padding:11px;font-size:15px}.pn-mentions{font-size:11px;line-height:1.4}.cmd-liste{display:flex;flex-direction:column;gap:8px;padding-bottom:10px}.cmd{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden}.cmd.st-nouvelle{border-color:var(--accent)}.cmd-head{width:100%;display:grid;align-items:center;gap:12px;text-align:left;grid-template-columns:128px minmax(120px,1fr) 116px 60px 84px 116px 116px;border:0;border-radius:0;background:transparent;padding:12px 14px;font-weight:400}.cmd-head:hover{background:var(--surface2);color:inherit}.cmd-ref{font-size:12.5px;font-weight:600}.cmd-qui{font-weight:600;font-size:14px}.cmd-tel,.cmd-nb,.cmd-date{font-size:12px}.cmd-tot{text-align:right;font-weight:600;color:var(--sell)}.cmd-st{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor;border-radius:999px;padding:2px 9px;text-align:center}.cmd-st.nouvelle{color:var(--accent)}.cmd-st.en_cours{color:var(--warn)}.cmd-st.prete{color:var(--sell)}.cmd-st.livree{color:var(--faint)}.cmd-st.annulee{color:var(--danger)}.cmd-detail{border-top:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:12px}.cmd-tab{width:100%;border-collapse:collapse;font-size:13px}.cmd-tab th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding-bottom:6px}.cmd-tab td{padding:6px 0;border-top:1px solid var(--line);vertical-align:top}.cmd-tab .r{text-align:right}.cmd-tab tfoot td{border-top:1px solid var(--line2);font-weight:600}.cmd-com{font-size:12px;color:var(--sell);font-style:italic;margin-top:2px}.cmd-msg{background:var(--surface2);border-radius:7px;padding:9px 12px;font-size:13px;font-style:italic;margin:0}.cmd-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cmd-actions button{font-size:12px;padding:5px 11px}.cmd-actions button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (max-width: 900px){.cmd-head{grid-template-columns:1fr 1fr;row-gap:6px}.cmd-tot,.cmd-st{text-align:left}.cmd-date{display:none}}.photo{position:relative;width:48px;height:48px}.photo-btn{width:48px;height:48px;padding:0;border-radius:7px;overflow:hidden;background:var(--surface2);border:1px solid var(--line);cursor:pointer;display:block;position:relative}.photo-btn:hover{border-color:var(--accent)}.photo-btn img{width:100%;height:100%;object-fit:cover;display:block}.photo-vide{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:var(--faint);letter-spacing:.05em}.photo-ov{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a120eb8;color:#fff;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:0;transition:opacity .12s}.photo-btn:hover .photo-ov,.photo-btn:focus-visible .photo-ov,.photo.busy .photo-ov{opacity:1}.photo-reset{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;border-radius:999px;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line2);color:var(--muted)}.photo-reset:hover{border-color:var(--accent);color:var(--accent)}.chip.perso{color:var(--sell)}
