:root{--bleu: #1f3a5f;--bleu-clair: #2f5a8f;--gris: #f4f6f8;--rouge: #c0392b;--vert: #1e8449}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--gris);color:#1c2733}.ecran-centre{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.carte{width:100%;max-width:380px;background:#fff;border-radius:14px;box-shadow:0 8px 30px #00000014;padding:2rem 1.75rem;display:flex;flex-direction:column}h1{margin:0;font-size:1.5rem;color:var(--bleu);text-align:center}.sous-titre{text-align:center;color:#5a6b7b;margin:.25rem 0 1.5rem}label{font-size:.85rem;font-weight:600;margin-bottom:.35rem;margin-top:.75rem}input{padding:.7rem .8rem;border:1px solid #cdd6df;border-radius:8px;font-size:1rem}input:focus{outline:none;border-color:var(--bleu-clair);box-shadow:0 0 0 3px #2f5a8f26}button{margin-top:1.25rem;padding:.75rem;background:var(--bleu);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}button:hover:not(:disabled){background:var(--bleu-clair)}button:disabled{opacity:.6;cursor:default}.lien{margin-top:1rem;text-align:center;color:var(--bleu-clair);font-size:.9rem;text-decoration:none}.lien:hover{text-decoration:underline}.erreur{color:var(--rouge);font-size:.9rem;margin:.75rem 0 0}.succes{color:var(--vert);font-size:.9rem;margin:.75rem 0 0}.note-socle{background:var(--gris);border-radius:8px;padding:.75rem;font-size:.85rem;color:#5a6b7b}.app{min-height:100vh}.barre{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;background:var(--bleu);color:#fff;padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top))}.marque{font-weight:700;font-size:1.1rem;white-space:nowrap}.nav{display:flex;gap:.25rem;flex:1}.nav a{color:#cfe0f3;text-decoration:none;padding:.35rem .6rem;border-radius:6px;white-space:nowrap;font-size:.92rem}.nav a.actif,.nav a:hover{background:#ffffff26;color:#fff}.burger{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:.2rem .4rem;margin:0}.burger:hover{background:#ffffff26}.nav-mobile{display:none;flex-direction:column;background:var(--bleu-clair);position:sticky;top:0;z-index:9}.nav-mobile a{color:#fff;text-decoration:none;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.12)}.nav-mobile a.actif{background:#ffffff2e;font-weight:600}@media (max-width: 760px){.nav-desktop{display:none}.burger{display:block}.nav-mobile{display:flex}.marque{flex:1}}.barre-droite{display:flex;align-items:center;gap:.5rem}.lien-bouton{background:none;border:none;color:#cfe0f3;cursor:pointer;margin:0;padding:.3rem .5rem;font-size:.9rem}.lien-bouton:hover{color:#fff;background:none}.contenu{max-width:900px;margin:0 auto;padding:1rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.titre-ligne{display:flex;align-items:center;justify-content:space-between}.titre-ligne button{margin:0;padding:.5rem .9rem}h2{color:var(--bleu)}h3{color:var(--bleu);margin-top:0}.carte.form-large,section.carte{max-width:none;margin:1rem 0;align-items:stretch}.grille2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.grille2>div{display:flex;flex-direction:column}.liste{list-style:none;padding:0}.carte-ligne{background:#fff;border-radius:10px;padding:.8rem 1rem;margin-bottom:.5rem;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000000d}.meta{color:#5a6b7b;font-size:.85rem}.vide{color:#8a99a8;font-style:italic;padding:.5rem 0}.recherche{display:flex;gap:.5rem;margin:.75rem 0}.recherche input{flex:1}.recherche button{margin:0}.grille-produits{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.carte-produit{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.carte-produit a{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding-bottom:.6rem}.vignette{aspect-ratio:1;background:var(--gris);display:flex;align-items:center;justify-content:center;font-size:2rem}.vignette img{width:100%;height:100%;object-fit:cover}.carte-produit strong{padding:.5rem .6rem 0;font-size:.95rem}.carte-produit .meta{padding:0 .6rem}.bouton-fichier{display:inline-block;background:var(--gris);border:1px dashed #aab7c4;padding:.7rem;border-radius:8px;text-align:center;cursor:pointer;font-weight:600;color:var(--bleu);margin:.5rem 0}.photos{display:flex;flex-wrap:wrap;gap:.6rem}.photo{width:120px}.photo img{width:120px;height:120px;object-fit:cover;border-radius:8px;border:2px solid transparent}.photo.principale img{border-color:var(--bleu)}.photo-actions{display:flex;gap:.25rem;margin-top:.25rem}.photo-actions button{margin:0;padding:.25rem .4rem;font-size:.75rem}button.danger{background:var(--rouge)}.tableau{width:100%;border-collapse:collapse;margin-bottom:.75rem}.tableau th,.tableau td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid #eef2f5;font-size:.9rem}.tableau th{color:#5a6b7b;font-weight:600}.form-inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.form-inline input,.form-inline select{width:auto;flex:1;min-width:90px}.form-inline button{margin:0}.bascule{display:flex;align-items:center;gap:.5rem;font-weight:500;margin:.4rem 0}.bascule input{width:auto}.cartes-stats{display:flex;gap:1rem;margin:1rem 0}.carte.stat{flex:1;max-width:none;align-items:center;text-decoration:none;color:var(--bleu);padding:1.2rem}.carte.stat .chiffre{font-size:2rem;font-weight:700}.barre-stat{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.9rem}.barre-label{width:110px;flex-shrink:0;color:#5a6b7b}.barre-piste{flex:1;background:var(--gris);border-radius:6px;height:14px;overflow:hidden}.barre-valeur{display:block;height:100%;background:var(--bleu-clair)}.barre-nb{width:32px;text-align:right;font-weight:600}.cloche{position:relative}.cloche-bouton{background:none;border:none;font-size:1.3rem;cursor:pointer;margin:0;padding:.2rem;position:relative}.cloche-bouton:hover{background:none}.pastille{position:absolute;top:-2px;right:-4px;background:var(--rouge);color:#fff;font-size:.65rem;border-radius:10px;padding:0 .3rem}.cloche-panneau{position:absolute;right:0;top:2.4rem;width:300px;max-width:85vw;background:#fff;color:#1c2733;border-radius:10px;box-shadow:0 8px 30px #0003;padding:.75rem}.cloche-entete{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cloche-entete .lien-bouton{color:var(--bleu-clair)}.cloche-liste{list-style:none;padding:0;margin:0;max-height:50vh;overflow-y:auto}.cloche-liste li{padding:.5rem;border-radius:6px;font-size:.85rem}.cloche-liste li.non-lu{background:#eef4fb}.cloche-liste li.lu{opacity:.65}.banniere-hors-ligne{background:#fff4e5;color:#8a5a00;border:1px solid #f0c987;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;margin:.5rem 0}.badge-attente{display:inline-block;background:#f0c987;color:#6b4500;font-size:.65rem;font-weight:700;border-radius:8px;padding:.05rem .4rem;margin-left:.5rem;vertical-align:middle}.lien-desactive{display:flex;flex-direction:column;padding-bottom:.6rem;opacity:.8}.sync{font-size:.85rem;margin:0;padding:.25rem .5rem}.sync.ok{color:#7fe0a3;background:none;border:none;font-size:.7rem}button.sync{border:none;border-radius:6px;cursor:pointer}button.sync.attente{background:#e8a13a;color:#fff}button.sync.horsligne{background:var(--rouge);color:#fff}textarea{padding:.7rem .8rem;border:1px solid #cdd6df;border-radius:8px;font-size:1rem;font-family:inherit}select{padding:.7rem .8rem;border:1px solid #cdd6df;border-radius:8px;font-size:1rem;background:#fff}.lien-bloc{display:flex;flex-direction:column;text-decoration:none;color:inherit}.liste-coches{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.etoiles{display:flex;gap:.15rem}.etoile{background:none;border:none;font-size:1.8rem;color:#d2dae2;cursor:pointer;margin:0;padding:0 .1rem;line-height:1}.etoile:hover{background:none}.etoile.pleine{color:#f5b301}.commentaires{list-style:none;padding:0;margin:0 0 .75rem}.commentaires li{background:var(--gris);border-radius:8px;padding:.5rem .7rem;margin-bottom:.4rem;font-size:.9rem}button.petit{padding:.2rem .5rem;font-size:.75rem;margin:0 .6rem .6rem}.actions-titre{display:flex;gap:.5rem;align-items:center}button.secondaire{background:#fff;color:var(--bleu);border:1px solid var(--bleu)}button.secondaire:hover:not(:disabled){background:#eef4fb}.barre-comparaison{position:sticky;top:3.2rem;z-index:5;background:#eef4fb;border:1px solid #cfe0f3;border-radius:8px;padding:.5rem .75rem;margin:.5rem 0;display:flex;gap:.75rem;align-items:center}.barre-comparaison button{margin:0;padding:.4rem .8rem}.case-compare{position:absolute;top:6px;left:6px;background:#ffffffe6;border-radius:5px;padding:2px 4px;z-index:2}.case-compare input{width:auto}.carte-produit{position:relative}.comparaison-scroll{overflow-x:auto}.tableau-comparaison{border-collapse:collapse;min-width:100%}.tableau-comparaison th,.tableau-comparaison td{border:1px solid #e3e9ef;padding:.5rem .75rem;text-align:left;vertical-align:top;min-width:140px}.tableau-comparaison thead th{background:var(--gris);color:var(--bleu)}.tableau-comparaison td:first-child,.tableau-comparaison th:first-child{background:var(--gris);font-weight:600;position:sticky;left:0;min-width:110px}.vignette-comp{width:80px;height:80px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-bottom:.25rem}.vignette-comp img{width:100%;height:100%;object-fit:cover;border-radius:6px}.ligne-actions{display:flex;align-items:center;gap:.75rem;margin-top:.4rem;flex-wrap:wrap}.petit-txt{font-size:.8rem}button.favori-actif{color:#f5b301;border-color:#f5b301}.filtres{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.filtres input{flex:1;min-width:180px}.filtres select{min-width:130px}.bouton-fichier.compact{margin:0;padding:.5rem .8rem;font-size:.9rem}.simulateur{background:var(--gris);border-radius:10px;padding:1rem}.sim-ligne{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.curseur{flex:1;min-width:200px;display:flex;flex-direction:column}.curseur-tete{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.curseur-tete .num{width:80px;padding:.3rem;margin:0}.curseur-tete .num.large{width:110px}.curseur-tete .suffixe{color:#5a6b7b;font-weight:400}.curseur input[type=range]{width:100%;accent-color:var(--bleu)}.sim-resultats{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 1rem}.res{background:#fff;border-radius:8px;padding:.6rem .9rem;flex:1;min-width:150px;display:flex;flex-direction:column;gap:.2rem}.res span{font-size:.8rem;color:#5a6b7b}.res strong{font-size:1.3rem;color:var(--bleu)}.res.sortie strong{color:var(--vert)}.res.sortie input[type=range]{width:100%;accent-color:var(--vert)}.puces{list-style:none;padding:0;margin:0 0 .5rem}.puces li{padding:.4rem 0;border-bottom:1px solid #eef2f5;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.badge{background:var(--bleu);color:#fff;font-size:.65rem;border-radius:8px;padding:.1rem .4rem}.palier-ligne{font-size:.82rem;padding:.15rem 0}.palier-qte{font-weight:600}.lien-wa{text-decoration:none;display:inline-block}.ref-statut{font-size:.85rem;font-weight:600}.ref-statut.libre{color:var(--vert)}.ref-statut.pris{color:var(--rouge)}.ref-statut.verif{color:#5a6b7b}.panneau-odoo{border:1px solid #cfe0f3}.groupe-doublon{padding:.4rem 0;border-bottom:1px solid #eef2f5;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.puce-lien{background:#eef4fb;color:var(--bleu);text-decoration:none;border-radius:6px;padding:.15rem .5rem;font-size:.85rem}.puce-lien:hover{background:#dce8f6}.etoile-favori{background:none;border:none;color:#f5b301;font-size:1.1rem;cursor:pointer;margin:0 .3rem 0 0;padding:0}.etoile-favori:hover{background:none}.etoile-favori:not(.actif){color:#cdd6df}.photo{position:relative}.badge-annot{position:absolute;top:4px;left:4px;background:#e11;color:#fff;font-size:.65rem;border-radius:8px;padding:.05rem .4rem;z-index:2}.modal-fond{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:#fff;border-radius:12px;padding:1rem;max-width:700px;width:100%;max-height:90vh;overflow:auto}.modal-barre{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.modal-barre button{margin:0 .2rem}.annot-zone{position:relative;line-height:0;margin:.5rem 0}.annot-zone img{width:100%;border-radius:8px}.annot-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.scan-video{width:100%;border-radius:8px;background:#000;margin-top:.5rem}
