[hidden]{display:none!important}

/* Layout: one narrow column like a till receipt; tabs on top, quick-add bar, list rows */
:root{
  --bg:#F6F5EF; --surface:#FFFFFF; --ink:#1D2520; --muted:#59635C; --line:#DCDFD8;
  --accent:#1F5B3A; --accent-ink:#FFFFFF; --tag:#F2C230; --tag-ink:#2A2000; --danger:#A3271F;
  --soft:#E9EEE6; --best:#DCEBDF; --best-ink:#1F5B3A; --kraft:#D6BB8E; --prix-tag:#8A1F17;
  --f-display:"Bricolage Grotesque", "Familjen Grotesk", ui-sans-serif, system-ui, sans-serif;
  --f-body:"Familjen Grotesk", ui-sans-serif, system-ui, sans-serif;
  --f-mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121613; --surface:#1B201C; --ink:#EDF1EC; --muted:#A1ABA4; --line:#2E3631;
  --accent:#62BC88; --accent-ink:#0D1F14; --tag:#E9B82A; --tag-ink:#2A2000; --danger:#FF8A7E;
  --soft:#1F2A23; --best:#1E3428; --best-ink:#A9E3BD; --kraft:#7A6141; --prix-tag:#8A1F17; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121613; --surface:#1B201C; --ink:#EDF1EC; --muted:#A1ABA4; --line:#2E3631;
  --accent:#62BC88; --accent-ink:#0D1F14; --tag:#E9B82A; --tag-ink:#2A2000; --danger:#FF8A7E;
  --soft:#1F2A23; --best:#1E3428; --best-ink:#A9E3BD; --kraft:#7A6141; --prix-tag:#8A1F17; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.45}
.wrap{max-width:680px;margin:0 auto;padding-block:20px 48px;
  padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));
  display:flex;flex-direction:column;gap:18px}
header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
h1{font-family:var(--f-display);font-size:1.85rem;font-weight:800;margin:0;letter-spacing:-.02em;line-height:1.05;text-wrap:balance}
h2{font-size:1rem;font-weight:700;margin:0}
.who{font-size:.85rem;color:var(--muted)}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:var(--soft);padding:4px;border-radius:12px}
.tab{appearance:none;border:0;background:transparent;color:var(--ink);font:600 .9rem var(--f-body);
  padding:10px 4px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;min-width:0}
.tab[aria-selected="true"]{background:var(--surface);box-shadow:0 1px 2px rgb(0 0 0 / .08)}
.tab:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.count{font:500 .72rem var(--f-mono);background:var(--line);color:var(--ink);border-radius:999px;padding:1px 6px;font-variant-numeric:tabular-nums}
.tab .count.hot{background:var(--tag);color:var(--tag-ink)}
@media (max-width:420px){.tab{font-size:.8rem}.tab .count{display:none}.tab .count.hot{display:inline}}
form.add{display:flex;gap:8px;flex-wrap:wrap}
form.add input, form.add select, .field{flex:1 1 160px;min-width:0;font:inherit;padding:11px 12px;border:1px solid var(--line);
  border-radius:10px;background:var(--surface);color:var(--ink)}
form.add .small{flex:0 1 110px}
.btn{appearance:none;border:0;background:var(--accent);color:var(--accent-ink);font:600 .95rem var(--f-body);
  padding:11px 16px;border-radius:10px;cursor:pointer}
.btn.ghost{background:var(--soft);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:default}
.hint{font-size:.85rem;color:var(--muted);margin:0}
.stack{display:flex;flex-direction:column;gap:12px}
ul.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
ul.list > li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);flex-wrap:wrap}
ul.list > li:first-child{border-top:0}
.main{flex:1;min-width:0}
.name{font-weight:600;overflow-wrap:anywhere}
.meta{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.check{width:22px;height:22px;accent-color:var(--accent);flex:none;cursor:pointer}
li.done .name{text-decoration:line-through;color:var(--muted)}
.icon{appearance:none;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;font-size:1.1rem;line-height:1;flex:none}
.icon:hover{color:var(--danger);background:var(--soft)}
.sale{display:inline-block;font:500 .72rem var(--f-mono);background:var(--tag);color:var(--tag-ink);
  padding:2px 7px;border-radius:5px;letter-spacing:.04em;text-transform:uppercase;margin-left:6px;vertical-align:2px}
.empty{padding:28px 18px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:14px}
.empty strong{display:block;color:var(--ink);margin-bottom:4px}
.row-actions{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.link{appearance:none;border:0;background:none;color:var(--accent);font:600 .9rem var(--f-body);cursor:pointer;padding:4px 0}
.link.muted{color:var(--muted)}
/* Compare */
.compare{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.compare-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.bars{display:flex;flex-direction:column;gap:6px}
.bar{display:grid;grid-template-columns:5.5rem 1fr auto;gap:10px;align-items:center;font-size:.9rem}
.bar .track{height:10px;background:var(--soft);border-radius:999px;overflow:hidden}
.bar .fill{height:100%;background:var(--muted);border-radius:999px}
.bar.best .fill{background:var(--accent)}
.bar.best .store-name{font-weight:700}
.bar .amt{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.bar .miss{font-size:.75rem;color:var(--muted)}
.mix{font-size:.88rem;background:var(--best);color:var(--best-ink);border-radius:10px;padding:10px 12px}
/* Specials */
.agent{font-size:.88rem;color:var(--muted);background:var(--soft);padding:12px 14px;border-radius:12px}
.agent b{color:var(--ink)}
.deals{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.deal{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border-top:1px solid var(--line)}
.deal:first-child{border-top:0}
.store{font:500 .75rem var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.price{font:500 1.25rem var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.reg{font:400 .8rem var(--f-mono);color:var(--muted);text-decoration:line-through;text-align:right}
.deal .detail{grid-column:1/-1;font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}
.deal a{color:var(--accent);font-weight:600;font-size:.88rem}
.deal-actions{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* Products */
.prod-row{cursor:pointer}
.prod-row .best-price{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.prod-row .best-price small{display:block;font-family:var(--f-body);font-size:.75rem;color:var(--muted)}
.prod-detail{flex-basis:100%;display:flex;flex-direction:column;gap:10px;padding-top:6px}
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.pcell{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;background:var(--bg)}
.pcell.best{background:var(--best);border-color:transparent}
.pcell label{font:500 .72rem var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pcell input{font:500 1rem var(--f-mono);width:100%;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink)}
.pcell .sp{font-size:.78rem;color:var(--tag-ink);background:var(--tag);border-radius:5px;padding:1px 6px;align-self:flex-start;font-family:var(--f-mono)}
.pcell .when{font-size:.72rem;color:var(--muted)}
.cat-head{font:600 .75rem var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 14px 4px;background:var(--soft)}
.stores{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 11px}
.chip button{appearance:none;border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
details summary{cursor:pointer;font-weight:600;font-size:.92rem}
details[open] summary{margin-bottom:10px}
details .inner{display:flex;flex-direction:column;gap:10px}
.status{font-size:.85rem;color:var(--danger);min-height:1em;margin:0}
.edit-fields{display:flex;gap:8px;flex-wrap:wrap}
.edit-fields input,.edit-fields select{flex:1 1 140px;min-width:0;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}

/* App shell additions */
html,body{min-height:100%}
.login{max-width:420px;margin:0 auto;padding-block:12vh 40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:16px}
.login h1{font-size:2.6rem}
.slogan{margin:-6px 0 0;color:var(--muted);font-size:1rem}
.title-row .marque{width:30px;height:30px;flex:none}
.login form{display:flex;flex-direction:column;gap:10px}
.login input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.login .code{font-family:var(--f-mono);font-size:1.4rem;letter-spacing:.3em;text-align:center}
.tag-logo{width:56px;height:56px}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* Photos */
.photo-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:11px 13px}
.thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none;background:var(--soft);cursor:zoom-in;border:1px solid var(--line)}
.pending{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.pending-top{display:flex;align-items:center;gap:12px}
.pending-add{width:100%;padding:13px 16px;font-size:1rem}
.pending img{width:56px;height:56px;border-radius:9px;object-fit:cover;flex:none;background:var(--soft)}
.prod-photo{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.prod-photo img{width:96px;height:96px;border-radius:12px;object-fit:cover;background:var(--soft);cursor:zoom-in;border:1px solid var(--line)}
.lightbox{position:fixed;inset:0;z-index:50;background:rgb(0 0 0 / .85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}
.lightbox img{max-width:100%;max-height:80vh;border-radius:12px;object-fit:contain}

/* Suggestions pendant la saisie */
.suggest{list-style:none;margin:-4px 0 0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 18px rgb(0 0 0 / .08);display:flex;flex-direction:column;gap:2px}
.suggest li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;min-width:0}
.suggest li span{min-width:0;overflow-wrap:anywhere}
.suggest li:hover,.suggest li[aria-selected="true"]{background:var(--soft)}
.suggest .thumb{width:32px;height:32px;cursor:pointer}

/* Aide */
.help{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}
.help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.help h2{font-size:1.15rem;text-wrap:balance}
.help h3{font-size:.95rem;margin:0 0 4px;color:var(--accent)}
.help p,.help li{font-size:.92rem;margin:0;max-width:65ch}
.help ul{margin:6px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:4px}
.help-item{border-top:1px solid var(--line);padding-top:12px}
.help .btn{align-self:flex-start}

/* Maison */
.espace{display:flex;flex-direction:column;gap:6px}
.espace-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.espace-head h2{font-size:1rem}
.espace-vide{padding:10px 14px;background:var(--surface);border:1px dashed var(--line);border-radius:12px}
.stock{display:flex;align-items:center;gap:2px;flex:none;background:var(--soft);border-radius:999px;padding:2px}
.stock.low{background:var(--tag)}
.stock.low .sval{color:var(--tag-ink)}
.sbtn{appearance:none;border:0;background:var(--surface);color:var(--ink);width:34px;height:34px;border-radius:999px;font:600 1.1rem var(--f-body);cursor:pointer;line-height:1}
.sval{min-width:2.2ch;text-align:center;font:500 1rem var(--f-mono);font-variant-numeric:tabular-nums}
.low-tag{background:var(--tag)}
.maison-fields{align-items:flex-end}
.mf{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted);flex:1 1 140px;min-width:0}
.mf select,.mf input{color:var(--ink)}
.mf .stock{align-self:flex-start}
#list-sans-espace select{flex:0 1 160px;min-width:0;font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.esp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.esp-list li{display:flex;gap:4px;align-items:center}
.esp-list input{flex:1;min-width:0;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.esp-list .icon:disabled{opacity:.3;cursor:default}
@media (max-width:480px){.tab{font-size:.74rem;padding:9px 2px}}

/* Déplacer un produit */
.move-link{font-size:.82rem;padding:0}
.move-row{flex-basis:100%;display:flex;flex-direction:column;gap:6px;padding-top:4px}
.move-row label{font-size:.78rem;color:var(--muted)}
.move-choices{display:flex;flex-wrap:wrap;gap:6px}
.chip-btn{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:500 .9rem var(--f-body);padding:8px 12px;border-radius:999px;cursor:pointer}
.chip-btn:hover{border-color:var(--accent)}
.chip-btn.muted{color:var(--muted)}
.del-link{color:var(--danger)}
.chip-btn.danger{border-color:var(--danger);color:var(--danger)}
.chip-btn.danger:hover{background:var(--danger);color:var(--surface)}

/* Membres */
#membres .list > li{padding:10px 12px}
.invite-share{background:var(--best);color:var(--best-ink);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.invite-share p{white-space:pre-line;margin:0;font-size:.92rem;overflow-wrap:anywhere;user-select:text}
#f-membre[hidden]{display:none!important}

/* Facture, panier, péremption */
.facture-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start}
.facture-btn.busy{opacity:.6;pointer-events:none}
.facture-btn.busy::after{content:"…"}
.panier{background:var(--surface);border:2px solid var(--accent);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.panier .list > li.panier-item{flex-direction:column;align-items:stretch;gap:8px}
.pi-head{display:flex;align-items:center;gap:10px}
.pi-nom{flex:1;min-width:0;font:600 1rem var(--f-body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.pi-head .price{font-size:1rem}
.pi-fields{display:flex;gap:8px;flex-wrap:wrap}
.pi-fields input,.pi-fields select,.maison-fields input[type="date"],.move-row input[type="date"]{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);min-width:0}
.exp{font-family:var(--f-mono);font-size:.76rem}
.exp.soon{color:var(--danger);font-weight:600}
.exp.gone{color:var(--surface);background:var(--danger);border-radius:5px;padding:1px 6px}
.exp-box{background:var(--soft);color:var(--ink)}

/* Catalogue : filtres et étoile */
.filters{display:flex;gap:6px;flex-wrap:wrap}
.fchip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .85rem var(--f-body);padding:7px 12px;border-radius:999px;cursor:pointer}
.fchip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.star{appearance:none;border:0;background:transparent;font-size:1.35rem;line-height:1;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;flex:none}
.star.on{color:#c99700}
.star:hover{background:var(--soft)}

/* Bilan du soir */
.bilan-invite .row-actions{margin-top:8px}
.bilan .list > li.bilan-item{flex-wrap:wrap}
.bilan-item.touched{background:var(--best)}
.bilan-item.touched .meta b{color:var(--danger)}
.bilan-ctl{flex-basis:100%;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bilan-ctl .chip-btn{padding:7px 11px;font-size:.85rem}
.bilan-in{width:4.5em;font:inherit;padding:7px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);text-align:center}

/* Produits sans espace */
.sans-row{flex-wrap:wrap}
.sans-move{flex:0 1 170px}
.sans-move select{width:100%}
.del-icon:hover{color:var(--danger)}

/* Cloche du rappel, à côté du titre */
.title-row{display:flex;align-items:center;gap:8px}
.bell{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px 4px 7px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font:600 .78rem var(--f-mono)}
.bell .bell-shape{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.bell.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.bell.on .bell-shape{fill:currentColor}
.bell:hover{border-color:var(--accent)}

.bell.off{background:var(--danger);border-color:var(--danger);color:#fff}
.bell.on{background:#2e8b57;border-color:#2e8b57;color:#fff}
.bell.on .bell-shape,.bell.off .bell-shape{stroke:#fff}
.bell.on .bell-shape{fill:#fff}
.bell .bell-txt{font-family:var(--f-body);font-size:.78rem}

/* Connexion par cellulaire */
.login-form{display:flex;flex-direction:column;gap:8px}
.login-form h2{font-size:1.15rem}
.login-form .mf{font-size:.82rem;color:var(--muted);margin-top:4px}
.login-form input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.login-links{justify-content:space-between}
.alt-login{margin-top:6px;background:transparent;border:1px dashed var(--line)}
.alt-login summary{font-weight:500;color:var(--muted);font-size:.88rem}
.membre-row{flex-wrap:wrap}
.tel-edit{flex-basis:100%}

/* Accueil des nouveaux */
.bienvenue{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto;
  padding:max(24px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}
.bv-in{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.bv-card{position:relative;align-self:center;width:min(280px,100%);background:var(--tag);color:var(--tag-ink);border-radius:14px 14px 14px 14px;padding:26px 20px 18px;
  clip-path:polygon(50% 0,100% 18%,100% 100%,0 100%,0 18%);text-align:center;margin-top:8px}
.bv-hole{position:absolute;left:50%;top:14px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--bg)}
.bv-brand{font:600 .72rem var(--f-mono);text-transform:uppercase;letter-spacing:.12em;margin-top:10px;opacity:.8}
.bv-name{font:700 1.5rem var(--f-display);margin-top:6px;overflow-wrap:anywhere}
.bv-sub{font-size:.85rem;opacity:.85}
.bv-in h1{font-size:1.7rem;text-wrap:balance;text-align:center}
.bv-lead{margin:0;color:var(--muted);text-align:center;max-width:60ch;align-self:center}
.bv-tabs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;counter-reset:t}
.bv-tabs li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;counter-increment:t}
.bv-tabs li b::before{content:counter(t) ". ";color:var(--accent)}
.bv-tabs li span{font-size:.88rem;color:var(--muted)}
.bv-steps{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.bv-commis{display:flex;align-items:center;gap:10px;margin:0;font-size:.92rem;background:var(--soft);border-radius:12px;padding:10px 12px}
.bv-go{padding:14px;font-size:1.05rem}
.commis-av{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font:700 .95rem var(--f-display)}

/* Bien démarrer */
.onboard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.onb-head{display:flex;justify-content:space-between;align-items:baseline}
.onb-head h2{font-size:1.05rem}
.onb-count{font:500 .85rem var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums}
.onb-bar{height:6px;background:var(--soft);border-radius:999px;overflow:hidden}
.onb-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
.onb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.onb-list li{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:10px}
.onb-list li.next{background:var(--best);padding:10px}
.onb-list li.done b{color:var(--muted);text-decoration:line-through;font-weight:500}
.onb-list small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.onb-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--accent-ink)}
.onb-list li.done .onb-dot{background:var(--accent);border-color:var(--accent)}
.onb-list li.next .onb-dot{border-color:var(--accent)}
.btn.small{padding:8px 12px;font-size:.88rem;flex:none}
.onb-more{appearance:none;border:0;background:none;color:var(--muted);font-size:1.3rem;cursor:pointer;padding:2px 8px;flex:none}
.onb-foot{margin:0}

/* Le Commis */
.commis-id{display:flex;align-items:center;gap:10px}
.commis-id h2{font-size:1.1rem}
.commis-id .hint{margin:0}
.cad-log{display:flex;flex-direction:column;gap:8px;max-height:min(55vh,460px);overflow-y:auto;padding:2px}
.cad-msg{max-width:88%;padding:10px 12px;border-radius:14px;font-size:.94rem;line-height:1.45;overflow-wrap:anywhere}
.cad-msg.bot{align-self:flex-start;background:var(--soft);border-bottom-left-radius:4px}
.cad-msg.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px}
.cad-msg.busy{color:var(--muted);letter-spacing:.2em}
.cad-go{display:block;margin-top:8px}
.cad-sugg{display:flex;flex-wrap:wrap;gap:6px}
.cad-sugg .fchip{font-weight:500;text-align:left}

/* Plusieurs listes */
.listes-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.listes-bar .fchip{flex:none;white-space:nowrap}
.liste-chip .count{margin-left:4px}
.fchip[aria-pressed="true"] .count{background:var(--accent-ink);color:var(--accent)}
.esp-list li{flex-wrap:wrap}

/* Le Commis : titres de panneaux en police d'enseigne, prix des spéciaux en rouge d'étiquette */
h2,.bv-card h1,.bienvenue h1{font-family:var(--f-display);letter-spacing:-.01em}
.bv-brand{font-family:var(--f-display);font-weight:800;font-size:1rem;letter-spacing:-.01em;text-transform:none;opacity:1}
.title-row h1{white-space:nowrap}
@media (max-width:420px){.title-row h1{font-size:1.6rem}}
