/* Caisse SPORT ENERGY - CERPEG - Fabienne MAURI */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --amber:#E8500A;--amber-l:#FF8C42;
  --green:#1A6E3A;--green-l:#5DC97A;--green-p:#EBF8EE;
  --red:#C1121F;--red-l:#FFB3B3;
  --blue:#1A4FC4;--blue-l:#A8C4FF;
  --brown:#1C1C1E;--brown-m:#3A3A3C;--brown-l:#8A8A8E;
  --g2:#2C2C2E;--g4:#636366;--g6:#AEAEB2;
  --client-bg:#F5F5F7;
  --client-hd:#1C1C1E;
  --caisse-bg:#0A0A0B;
  --caisse-hd:#050506;
}
body{font-family:'DM Sans',sans-serif;background:#2A2A2C;color:var(--brown);height:100vh;display:flex;flex-direction:column;overflow:hidden}
.screen-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;margin:0 50px;box-shadow:0 0 40px rgba(0,0,0,.4);}

/* HEADER */
header{background:var(--brown);padding:0 1.2rem;display:flex;align-items:center;justify-content:space-between;height:44px;flex-shrink:0;border-bottom:3px solid var(--amber);box-shadow:0 2px 12px rgba(0,0,0,.35)}
.hl{display:flex;align-items:center;gap:14px}
.hdiv{width:1px;height:24px;background:var(--brown-l);opacity:.5}
.htitle{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;color:var(--amber-l)}
.hsub{font-size:8px;color:var(--g4);letter-spacing:1.5px;text-transform:uppercase;margin-top:1px}
.hclock{font-family:'DM Mono',monospace;font-size:13px;color:var(--amber-l);letter-spacing:3px;background:rgba(0,0,0,.3);padding:3px 10px;border-radius:6px}
.header-right-zone{display:flex;align-items:center;gap:14px}

.layout{display:flex;flex:1;overflow:hidden}

/* ══════════════════════════════
   GAUCHE — PANIER CLIENT
══════════════════════════════ */
.col-client{
  width:46%;display:flex;flex-direction:column;
  background:var(--client-bg);
  border-right:5px solid var(--client-hd);
  overflow:hidden;
}

/* Bandeau client en cours */
.client-banner{
  background:var(--client-hd);padding:10px 16px;flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
}
.client-banner .cb-left{display:flex;align-items:center;gap:10px}
.client-avatar{
  width:38px;height:38px;border-radius:50%;
  background:var(--amber);display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;color:var(--brown);flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
}
.client-info .ci-num{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:white}
.client-info .ci-sub{font-size:10px;color:rgba(255,255,255,.6);margin-top:1px}
.client-nav{display:flex;align-items:center;gap:6px}
.nav-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.25);transition:all .25s;cursor:default;
}
.nav-dot.done{background:var(--green-l)}
.nav-dot.active{background:var(--amber);transform:scale(1.3)}
.nav-dot.future{background:rgba(255,255,255,.15)}

/* Zone produits — ce que le client a posé sur le comptoir */
.comptoir{
  flex:1;overflow-y:auto;
  background:repeating-linear-gradient(180deg,#D8D8D6 0px,#D8D8D6 2px,#CCCCCA 2px,#C8C8C6 60px);
  padding:16px;
  display:flex;flex-wrap:wrap;gap:14px;
  align-content:flex-start;align-items:flex-start;
  position:relative;
}
/* Texture bois */
.comptoir::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(135deg,transparent 0,rgba(232,80,10,.04) 1px,transparent 2px,transparent 30px);
}

/* Carte produit sans prix */
.produit-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  background:rgba(255,255,255,.85);
  border:2px solid rgba(255,255,255,.9);
  border-radius:14px;padding:12px 14px;
  box-shadow:3px 4px 14px rgba(0,0,0,.2);
  min-width:90px;
  position:relative;z-index:1;
  animation:pose .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes pose{from{opacity:0;transform:translateY(-20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
.pe-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:140px}
.pe{font-size:34px;line-height:1.1;display:block;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.2))}
.pcard-nom{
  font-size:11px;font-weight:700;color:var(--brown-m);text-align:center;
  background:rgba(255,255,255,.7);border-radius:6px;padding:2px 8px;
  /* PAS de prix affiché */
}
.pcard-qty{
  position:absolute;top:-8px;right:-8px;
  background:var(--brown);color:white;font-size:10px;font-weight:700;
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 5px rgba(0,0,0,.3);
}

/* Message "client attend" */
.client-attente{
  width:100%;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:8px;padding:20px;text-align:center;
  opacity:.5;
}
.client-attente .ico{font-size:50px;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.2))}
.client-attente p{font-size:12px;color:var(--brown-m);font-weight:500}

/* Séparateur */
.zone-sep{height:3px;flex-shrink:0;background:linear-gradient(90deg,transparent,var(--client-hd) 30%,var(--client-hd) 70%,transparent);opacity:.3}

/* billets/pièces panier */
.billet-vis{border-radius:7px;padding:6px 12px;font-family:'DM Mono',monospace;font-size:13px;font-weight:700;border:2px solid;display:flex;align-items:center;justify-content:center;box-shadow:2px 3px 8px rgba(0,0,0,.25);animation:appM .22s ease}
.piece-vis{border-radius:50%;font-family:'DM Mono',monospace;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;border:3px solid;box-shadow:2px 3px 6px rgba(0,0,0,.25);animation:appM .22s ease}
@keyframes appM{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.b5{background:#9A9078;border-color:#C8BC9E;color:#F0E8D0}
.b10{background:#8C1800;border-color:#D03010;color:#FFAA90}
.b20{background:#0E3882;border-color:#3068C0;color:#A0C4FF}
.b50{background:#8C3800;border-color:#D86000;color:#FFD090}
.b100{background:#005A30;border-color:#009050;color:#80DCA0}
.b200{background:#8C6E00;border-color:#C8A000;color:#FFE060}
.p001,.p002{background:#2A201A;border-color:#6A5040;color:#B09070}
.p005{background:#2A201A;border-color:#7A6050;color:#C0A080}
.p010,.p020{background:#2A201A;border-color:#8A7060;color:#D0B080}
.p050{background:#2A201A;border-color:#A08060;color:#E0C090}
.p1{background:#1C281C;border-color:#508050;color:#90C080}
.p2{background:#1C2A22;border-color:#408068;color:#80C0A0}
.cb-card-vis{background:linear-gradient(135deg,#1A3A6B,#2A5AB0 60%,#1A3A6B);border-radius:10px;padding:10px 14px;width:150px;box-shadow:3px 5px 14px rgba(0,0,0,.3);animation:appM .3s ease}
.cb-chip{width:24px;height:18px;background:linear-gradient(135deg,#8A8A8E,#AEAEB2);border-radius:3px;margin-bottom:5px}
.cb-num{font-family:'DM Mono',monospace;font-size:9px;color:rgba(255,255,255,.7);letter-spacing:2px}
.cb-brand{font-size:14px;text-align:right;margin-top:3px}
.ticket-cb-vis{background:white;border:1px dashed #ccc;border-radius:5px;padding:7px 10px;font-family:'DM Mono',monospace;font-size:8px;color:#333;line-height:1.6;width:120px;box-shadow:1px 2px 5px rgba(0,0,0,.12);animation:appM .3s ease}
.rendue-label{font-size:9px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:1px;width:100%;margin-top:4px}

/* ══════════════════════
   DROITE — CAISSE (styles de base remplacés par POS réaliste plus bas)
══════════════════════ */
.qrow{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.qlbl{font-size:10px;color:rgba(255,255,255,.5);flex-shrink:0}
.qbtns{display:flex;gap:3px;flex-wrap:wrap}
.qcustom{width:40px;height:26px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:rgba(0,0,0,.3);color:white;font-family:'DM Mono',monospace;font-size:11px;text-align:center;padding:0 3px}
.qcustom:focus{outline:none;border-color:var(--amber)}
.ptag{font-size:9px;color:rgba(255,255,255,.3);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.promo-list{display:flex;flex-direction:column;gap:3px;margin-bottom:5px}
.promo-item{display:flex;align-items:center;gap:5px;padding:4px 7px;background:rgba(45,106,79,.25);border:1px solid rgba(149,213,178,.2);border-radius:4px}
.pi-n{flex:1;font-size:13px;color:var(--green-l)}.pi-v{font-family:'DM Mono',monospace;font-size:13px;color:var(--green-l)}.pi-d{background:none;border:none;color:var(--red-l);cursor:pointer;font-size:14px;opacity:.7}
.promo-row{display:flex;gap:4px;align-items:center}
.psel{flex:1;min-width:0;padding:6px 6px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15);border-radius:4px;color:white;font-size:12px;cursor:pointer}
.psel option{background:#1A2A3A;color:white}
.pvali{width:68px;flex-shrink:0;padding:6px 6px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15);border-radius:4px;color:white;font-family:'DM Mono',monospace;font-size:12px;text-align:right}
.pvali:focus,.psel:focus{outline:none;border-color:var(--green-l)}
.btn-promo{flex-shrink:0;padding:7px 9px;background:var(--green);border:none;border-radius:4px;color:white;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.btn-promo:hover{background:#3D8F68}
/* Carte de fidélité séparée */
.fidel-sep{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(232,80,10,.4);display:flex;align-items:center;gap:8px}
.fidel-sep-label{font-size:11px;color:var(--amber-l);font-weight:600;white-space:nowrap;letter-spacing:.3px}
.btn-fidel{flex:1;padding:7px 10px;background:linear-gradient(135deg,#7A4A00,#C87010);border:1px solid var(--amber);border-radius:4px;color:var(--amber-l);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;letter-spacing:.2px}
.btn-fidel:hover{background:linear-gradient(135deg,#9A5A00,#E88020);}

/* FOOTER */
footer{background:var(--brown);border-top:3px solid var(--amber);padding:7px 1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
footer p{font-size:11px;color:var(--g4);letter-spacing:1px}
footer span{color:var(--amber-l);font-weight:600}

/* ══ ÉCRAN OUVERTURE CAISSE ══ */
.login-screen{
  position:fixed;inset:0;z-index:2000;
  background:radial-gradient(ellipse at 50% 30%, #1A1A1C 0%, #050506 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0;
  transition:opacity .5s ease;
}
.login-screen.out{opacity:0;pointer-events:none}
.login-bg-pattern{
  position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 40px),
                   repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 40px);
}
.login-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:40px 48px;
  max-width:420px;width:90%;
  text-align:center;
  backdrop-filter:blur(10px);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.login-logo-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px}
.login-logo-sep{width:1px;height:40px;background:rgba(255,255,255,.2)}
.login-store{text-align:left}
.login-store-name{font-family:'Barlow Condensed',sans-serif;font-size:18px;color:var(--amber-l);font-weight:700}
.login-store-sub{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}
.login-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;color:white;margin-bottom:6px}
.login-sub{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:28px;line-height:1.5}
.login-input-wrap{position:relative;margin-bottom:10px}
.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}
.login-input{
  width:100%;padding:13px 16px 13px 42px;
  background:rgba(0,0,0,.45);
  border:2px solid rgba(255,255,255,.15);
  border-radius:10px;
  color:white;font-family:'DM Sans',sans-serif;font-size:15px;
  transition:border-color .2s;
}
.login-input::placeholder{color:rgba(255,255,255,.3)}
.login-input:focus{outline:none;border-color:var(--amber)}
.login-btn{
  width:100%;padding:14px;
  background:linear-gradient(135deg,var(--amber),#FF6A20);
  border:none;border-radius:10px;
  color:var(--brown);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:800;
  cursor:pointer;transition:all .2s;letter-spacing:.5px;margin-top:6px;
  box-shadow:0 4px 20px rgba(232,80,10,.45);
}
.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,80,10,.60)}
.login-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.login-time{font-family:'DM Mono',monospace;font-size:28px;color:var(--amber-l);letter-spacing:6px;margin-bottom:6px;text-shadow:0 0 20px rgba(232,80,10,.5)}
.login-date{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;margin-bottom:32px}
.login-caissier-badge{
  display:flex;align-items:center;gap:8px;
  background:rgba(45,106,79,.2);border:1px solid rgba(149,213,178,.25);
  border-radius:8px;padding:8px 14px;margin-top:12px;
  font-size:12px;color:var(--green-l);
}

/* ══ POS RÉALISTE ══ */
.col-caisse{
  flex:1;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#2A2E35 0%,#1E2228 100%);
  overflow:hidden;
  box-shadow:inset 4px 0 12px rgba(0,0,0,.4);
}
.caisse-hdr{
  background:linear-gradient(90deg,#1A1E24,#22262E);
  padding:8px 14px;flex-shrink:0;
  border-bottom:2px solid rgba(232,80,10,.5);
  display:flex;align-items:center;justify-content:space-between;
}
.caisse-hdr .cht{font-family:'Barlow Condensed',sans-serif;font-size:13px;color:var(--amber-l);font-weight:700}
.caisse-hdr .chs{font-size:10px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:8px;margin-top:3px}
.caissier-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(45,106,79,.35);border:1.5px solid rgba(149,213,178,.45);border-radius:12px;padding:3px 10px;font-size:13px;color:#D8F3DC;font-weight:700;letter-spacing:.2px}
/* LCD */
.caisse-lcd{
  background:#040804;
  border-bottom:3px solid #000;
  border-top:3px solid #000;
  padding:5px 16px 4px;
  flex-shrink:0;
  position:relative;
  overflow:visible;
  z-index:100;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.8),inset 0 -2px 8px rgba(0,0,0,.8);
}
.caisse-lcd::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px);
  pointer-events:none;
}
.lcd-lbl{font-size:8px;color:#2A6A3A;letter-spacing:3px;text-transform:uppercase;margin-bottom:1px;font-family:'DM Mono',monospace}
.lcd-lbl-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;}
.btn-voir-panier{
  background:rgba(127,255,106,.10);border:1px solid rgba(127,255,106,.25);
  color:#7FFF6A;font-family:'DM Mono',monospace;font-size:15px;font-weight:700;
  border-radius:5px;padding:6px 12px;cursor:pointer;letter-spacing:.5px;
  transition:all .15s;white-space:nowrap;line-height:1;
}
.btn-voir-panier:hover{background:rgba(127,255,106,.22);border-color:rgba(127,255,106,.5);}
.lcd-main{font-size:26px;color:#7FFF6A;text-align:right;letter-spacing:4px;text-shadow:0 0 16px rgba(127,255,106,.8),0 0 32px rgba(127,255,106,.4);font-family:'DM Mono',monospace;font-weight:400}
.lcd-row2{display:flex;justify-content:space-between;align-items:center;margin-top:1px;margin-bottom:1px}
.lcd-sub{font-size:10px;color:#52D48A;letter-spacing:1px;font-family:'DM Mono',monospace;font-weight:500;text-shadow:0 0 8px rgba(82,212,138,.5);margin-top:2px;min-height:12px;}
.lcd-msg{font-size:9px;color:#8FA020;letter-spacing:1px;font-family:'DM Mono',monospace;min-height:10px}
/* Corps POS */
.caisse-panels{
  flex:1;overflow-y:auto;
  padding:10px 8px;
  display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(180deg,#22262E 0%,#1A1E24 100%);
}
.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:8px 10px;
  box-shadow:0 1px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);
}
.ptitle{font-size:8px;text-transform:uppercase;letter-spacing:2px;color:rgba(232,80,10,.7);margin-bottom:7px;font-weight:700;display:flex;align-items:center;gap:6px}
.pstep{width:17px;height:17px;border-radius:50%;background:linear-gradient(135deg,var(--amber),#C87010);color:var(--brown);font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.4)}
/* Touches produits style caisse */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.pbtn{
  background:linear-gradient(180deg,#3A3E48,#2E3238);
  border:1px solid #505560;
  border-bottom:3px solid #1A1E24;
  border-radius:5px;padding:7px 2px 9px;
  cursor:pointer;text-align:center;transition:all .08s;
  color:white;display:flex;flex-direction:column;align-items:center;gap:3px;
  box-shadow:0 2px 4px rgba(0,0,0,.4);
}
.pbtn:hover{background:linear-gradient(180deg,#484E5A,#3A3E48);border-color:#7A8090}
.pbtn:active{transform:translateY(2px);border-bottom-width:1px;box-shadow:none}
.pbtn.sel{background:linear-gradient(180deg,rgba(232,80,10,.35),rgba(200,60,5,.2));border-color:var(--amber);border-bottom-color:#C03808;box-shadow:0 0 0 1px rgba(232,80,10,.3)}
.pbtn .em{font-size:34px;line-height:1}.pbtn .pn{font-size:9px;font-weight:600;line-height:1.2;color:rgba(255,255,255,.9)}.pbtn .pp{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--amber-l);font-weight:600}
/* Modifier commande compact inline (ancien "Erreur") */
.encaisse-row{display:flex;gap:5px;align-items:stretch}
.btn-modifier-compact{flex-shrink:0;padding:0 11px;background:rgba(200,60,5,.25);border:2px solid rgba(255,110,32,.55);border-bottom:3px solid rgba(160,40,5,.6);border-radius:6px;color:var(--amber-l);cursor:pointer;font-size:12px;font-weight:700;transition:all .1s;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;box-shadow:0 0 8px rgba(232,80,10,.2)}
.btn-modifier-compact:hover{background:rgba(232,80,10,.35);border-color:var(--amber);box-shadow:0 0 14px rgba(232,80,10,.4)}
.btn-modifier-compact:active{transform:translateY(2px);border-bottom-width:1px}
/* Panel de sélection du mode de règlement (étape 4b, panneau droit) */
.panel-reglement{display:none;flex-direction:column;gap:7px}
.panel-reglement.vis{display:flex}
.reglement-mode-btns{display:flex;gap:6px}
.reglement-mode-btn{flex:1;padding:10px 6px;border-radius:8px;border:2px solid;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .12s;display:flex;flex-direction:column;align-items:center;gap:4px}
.reglement-mode-btn .rmb-ico{font-size:22px}
.reglement-mode-btn .rmb-lbl{font-size:10px}
.rmb-cb{background:rgba(26,111,196,.12);border-color:rgba(168,207,255,.5);color:#80BAFF}
.rmb-cb:hover,.rmb-cb.sel{background:#1A6FC4;border-color:#A8CFFF;color:white}
.rmb-esp{background:rgba(232,80,10,.12);border-color:rgba(255,140,66,.5);color:var(--amber-l)}
.rmb-esp:hover,.rmb-esp.sel{background:rgba(232,80,10,.35);border-color:var(--amber-l);color:white}
.btn-confirmer-reglement{width:100%;padding:14px;background:linear-gradient(135deg,#1B7A4A,#27AE6A);border:none;border-radius:10px;color:white;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:900;cursor:pointer;transition:all .15s;display:none;letter-spacing:.5px;box-shadow:0 4px 18px rgba(27,122,74,.45);text-shadow:0 1px 2px rgba(0,0,0,.2)}
.btn-confirmer-reglement.vis{display:block}
.btn-confirmer-reglement:hover{background:linear-gradient(135deg,#22A05E,#1B7A4A);transform:translateY(-2px);box-shadow:0 7px 24px rgba(27,122,74,.55)}
.btn-confirmer-reglement:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(0,0,0,.3)}
/* Promotion sur le comptoir */
.promo-comptoir-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(255,255,255,.9);border:2px dashed var(--green);border-radius:10px;padding:8px 10px;box-shadow:2px 3px 10px rgba(0,0,0,.18);position:relative;z-index:1;animation:pose .3s cubic-bezier(.34,1.56,.64,1);min-width:80px;max-width:110px}
.promo-tag-ico{font-size:22px;line-height:1}
.promo-tag-nom{font-size:9px;font-weight:700;color:var(--green);text-align:center;line-height:1.2}
.promo-tag-val{font-family:'DM Mono',monospace;font-size:11px;color:var(--red);font-weight:700;background:rgba(193,18,31,.08);border-radius:4px;padding:1px 5px}
/* Fin de journée avec score */
.fin-score-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}
.fin-score-table th{background:var(--client-hd);color:white;padding:5px 8px;text-align:left;font-size:10px;letter-spacing:.5px}
.fin-score-table td{padding:5px 8px;border-bottom:1px solid #eee;font-size:11px}
.fin-score-table tr:last-child td{border-bottom:none}
.fin-score-avg{font-family:'DM Mono',monospace;font-size:32px;font-weight:700;margin:8px 0}
.fin-score-mention{font-size:13px;font-weight:700;margin-bottom:16px}
.score-bar-fin{height:8px;border-radius:4px;margin:2px 0}
/* Touches quantité */
.qbtn{
  width:26px;height:26px;
  background:linear-gradient(180deg,#3A3E48,#2E3238);
  border:1px solid #505560;border-bottom:2px solid #1A1E24;
  border-radius:4px;color:white;font-family:'DM Mono',monospace;font-size:11px;
  cursor:pointer;transition:all .08s;display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 3px rgba(0,0,0,.4);
}
.qbtn:hover{background:linear-gradient(180deg,#484E5A,#3A3E48)}
.qbtn:active{transform:translateY(1px);border-bottom-width:1px}
.qbtn.sel{background:linear-gradient(180deg,rgba(232,80,10,.4),rgba(200,60,5,.25));border-color:var(--amber);color:var(--amber-l);font-weight:700}
/* Bouton AJOUTER */
.btn-add{
  width:100%;padding:8px;
  background:linear-gradient(180deg,#3A7A56,#2D6A4F);
  border:1px solid #4A9A6A;border-bottom:3px solid #1A4A30;
  border-radius:6px;color:white;
  font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;
  cursor:pointer;transition:all .08s;margin-top:6px;
  box-shadow:0 2px 6px rgba(0,0,0,.35);letter-spacing:.3px;
}
.btn-add:hover{background:linear-gradient(180deg,#4A9A6A,#3A7A56)}
.btn-add:active{transform:translateY(2px);border-bottom-width:1px}
.btn-add:disabled{opacity:.35;cursor:not-allowed;transform:none}
/* ENCAISSER */
.btn-encaisser{
  width:100%;padding:12px;
  background:linear-gradient(180deg,#F0A820,#D08010);
  border:1px solid #F5C040;border-bottom:4px solid #906010;
  border-radius:8px;color:#1A0A00;
  font-family:'DM Sans',sans-serif;font-size:13px;font-weight:900;
  cursor:pointer;transition:all .1s;
  box-shadow:0 3px 10px rgba(208,128,16,.4);letter-spacing:.5px;
  text-shadow:0 1px 0 rgba(255,255,255,.2);
}
.btn-encaisser:hover{background:linear-gradient(180deg,#FF7020,#E05010);box-shadow:0 5px 18px rgba(232,80,10,.55)}
.btn-encaisser:active{transform:translateY(3px);border-bottom-width:1px;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.btn-encaisser:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}

/* ══ TICKET THERMIQUE ══ */
.ticket-print-ov{position:fixed;top:0;right:0;bottom:0;left:46%;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:800;opacity:0;pointer-events:none;transition:opacity .25s}
.ticket-print-ov.show{opacity:1;pointer-events:all}
.ticket-scroll-area{max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:0}
.ticket-scroll-area::-webkit-scrollbar{width:4px}.ticket-scroll-area::-webkit-scrollbar-track{background:transparent}.ticket-scroll-area::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}
.ticket-wrap{
  width:268px;
  background:white;
  box-shadow:0 0 0 1px rgba(0,0,0,.15),4px 8px 28px rgba(0,0,0,.6);
  position:relative;
  /* Effet papier thermique : découpe haut et bas */
}
.ticket-wrap::before{
  content:'';display:block;
  background:white;
  height:10px;
  clip-path:polygon(0 0,100% 0,100% 100%,96% 70%,92% 100%,88% 70%,84% 100%,80% 70%,76% 100%,72% 70%,68% 100%,64% 70%,60% 100%,56% 70%,52% 100%,48% 70%,44% 100%,40% 70%,36% 100%,32% 70%,28% 100%,24% 70%,20% 100%,16% 70%,12% 100%,8% 70%,4% 100%,0 70%);
  border-top:1px solid #ddd;
}
.ticket-wrap::after{
  content:'';display:block;
  background:white;height:10px;
  clip-path:polygon(0 100%,100% 100%,100% 0,96% 30%,92% 0,88% 30%,84% 0,80% 30%,76% 0,72% 30%,68% 0,64% 30%,60% 0,56% 30%,52% 0,48% 30%,44% 0,40% 30%,36% 0,32% 30%,28% 0,24% 30%,20% 0,16% 30%,12% 0,8% 30%,4% 0,0 30%);
  border-bottom:1px solid #ddd;
}
.ticket-paper{
  background:#FAFAF7;
  color:#111;
  font-family:'Courier New',Courier,monospace;
  font-size:10.5px;
  line-height:1.55;
  padding:6px 14px 8px;
  width:100%;
}
.tk-center{text-align:center}
.tk-title{font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.tk-sep{border:none;border-top:1px dashed #999;margin:5px 0}
.tk-sep-solid{border:none;border-top:1px solid #555;margin:5px 0}
.tk-row{display:flex;justify-content:space-between;font-size:10px}
.tk-row-indent{display:flex;justify-content:space-between;font-size:9px;color:#555;padding-left:8px}
.tk-total{display:flex;justify-content:space-between;font-size:12px;font-weight:700;padding:4px 0 2px}
.tk-promo{color:#2D6A4F}
.tk-small{font-size:9px;color:#777;text-align:center;line-height:1.4}
.tk-bold{font-weight:700}
.tk-reglement-row{display:flex;justify-content:space-between;font-size:10px}
.ticket-actions{background:#e8e8e8;padding:10px 14px;display:flex;gap:8px;border-top:1px solid #ccc}
.btn-print{flex:1;padding:8px;background:var(--brown);color:white;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.btn-print:hover{background:#5C3A20}
.btn-fermer-ticket{flex:1;padding:8px;background:#bbb;color:#333;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.btn-fermer-ticket:hover{background:#aaa}

/* ══ MODALE ENCAISSEMENT ══ */
.ov{position:fixed;top:0;right:0;bottom:0;left:46%;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;z-index:500;opacity:0;pointer-events:none;transition:opacity .2s}
.ov.show{opacity:1;pointer-events:all}
.modal{background:var(--caisse-bg);border:2px solid var(--amber);border-radius:16px;width:880px;max-width:97vw;max-height:94vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(.93);transition:transform .22s;box-shadow:0 24px 64px rgba(0,0,0,.7)}
.ov.show .modal{transform:scale(1)}
.mhdr{background:var(--caisse-hd);border-bottom:2px solid var(--amber);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.mhdr-l .mt{font-family:'Barlow Condensed',sans-serif;font-size:16px;color:var(--amber-l)}
.mhdr-l .ms{font-size:10px;color:rgba(255,255,255,.4);margin-top:2px}
.mhdr-r{display:flex;align-items:center;gap:12px}
.mhdr-tot{font-family:'DM Mono',monospace;font-size:22px;color:#7FFF6A;letter-spacing:2px}
.mclose{background:none;border:none;color:var(--red-l);font-size:20px;cursor:pointer;opacity:.7}
.mclose:hover{opacity:1}
.mbody{display:flex;flex:1;overflow:hidden}
.mcl{width:260px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.08);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.mst{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--amber-l);font-weight:700;margin-bottom:6px}
.mbi{display:flex;align-items:center;gap:6px;padding:5px 8px;background:rgba(255,255,255,.06);border-radius:5px;margin-bottom:3px}
.mb-em{font-size:18px;width:24px;text-align:center}
.mb-info{flex:1}.mb-name{font-size:11px;color:white;font-weight:500}.mb-det{font-size:9px;color:rgba(255,255,255,.4)}.mb-p{font-family:'DM Mono',monospace;font-size:11px;color:var(--amber-l)}
.mt-row{display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.5);margin-bottom:3px}
.mt-row.tot{font-family:'DM Mono',monospace;font-size:15px;color:#7FFF6A;font-weight:700;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.15)}
.mode-btns{display:flex;flex-direction:column;gap:5px}
.mbtn{padding:10px;border:2px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.05);cursor:pointer;color:white;font-family:'DM Sans',sans-serif;transition:all .15s;display:flex;align-items:center;gap:10px}
.mbtn .mbi2{font-size:22px;flex-shrink:0}.mbtn .mbl{font-size:12px;font-weight:600}.mbtn .mbs{font-size:9px;color:rgba(255,255,255,.4);display:block;margin-top:1px}
.mbtn:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}
.mbtn.ac{border-color:var(--amber);background:rgba(232,80,10,.2)}
.mbtn.acb{border-color:var(--blue-l);background:rgba(26,111,196,.18)}
.mcr{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.invite{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;opacity:.35;gap:6px;text-align:center}
.invite p{font-size:12px;color:rgba(255,255,255,.6)}
.ze,.zcb{display:none;flex-direction:column;gap:9px}
.ze.vis,.zcb.vis{display:flex}
.zlbl{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--amber-l);font-weight:700}
.zlbl-monnaie{font-size:13px;letter-spacing:.5px;text-transform:none;color:#FF8C42;font-weight:800;line-height:1.4;padding:6px 0 2px}
.billets-row{display:flex;flex-wrap:wrap;gap:6px}
.bbtn{padding:12px 22px;border-radius:9px;font-family:'DM Mono',monospace;font-size:18px;font-weight:700;border:2.5px solid;cursor:pointer;transition:all .12s;box-shadow:2px 3px 7px rgba(0,0,0,.4)}
.bbtn:hover{transform:translateY(-2px) scale(1.05);filter:brightness(1.2)}
.bbtn:active{transform:scale(.95)}
.bbtn.b5{background:#9A9078;border-color:#C8BC9E;color:#F0E8D0}
.bbtn.b10{background:#8C1800;border-color:#D03010;color:#FFAA90}
.bbtn.b20{background:#0E3882;border-color:#3068C0;color:#A0C4FF}
.bbtn.b50{background:#8C3800;border-color:#D86000;color:#FFD090}
.bbtn.b100{background:#005A30;border-color:#009050;color:#80DCA0}
.bbtn.b200{background:#8C6E00;border-color:#C8A000;color:#FFE060}
.pieces-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.pbtn2{border-radius:50%;font-family:'DM Mono',monospace;font-size:12px;font-weight:700;border:2.5px solid;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;box-shadow:2px 3px 5px rgba(0,0,0,.4)}
.pbtn2:hover{transform:translateY(-2px) scale(1.1);filter:brightness(1.2)}
.pbtn2:active{transform:scale(.9)}
.pbtn2.p001,.pbtn2.p002{width:40px;height:40px;background:#2A201A;border-color:#6A5040;color:#B09070}
.pbtn2.p005{width:43px;height:43px;background:#2A201A;border-color:#7A6050;color:#C0A080}
.pbtn2.p010,.pbtn2.p020{width:45px;height:45px;background:#2A201A;border-color:#8A7060;color:#D0B080}
.pbtn2.p050{width:49px;height:49px;background:#2A201A;border-color:#A08060;color:#E0C090}
.pbtn2.p1{width:54px;height:54px;background:#1C281C;border-color:#508050;color:#90C080;font-size:14px}
.pbtn2.p2{width:60px;height:60px;background:#1C2A22;border-color:#408068;color:#80C0A0;font-size:16px}
.posees-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:46px;padding:8px;background:rgba(0,0,0,.3);border-radius:8px;border:1px solid rgba(255,255,255,.08)}
.none-txt{font-size:10px;color:rgba(255,255,255,.25);font-style:italic;font-family:'DM Mono',monospace}
.bm{border-radius:7px;padding:10px 18px;font-family:'DM Mono',monospace;font-size:16px;font-weight:700;border:2.5px solid;display:flex;align-items:center;cursor:pointer;gap:5px;transition:filter .1s;user-select:none}
.bm:hover{filter:brightness(.65)}
.bm.b5{background:#9A9078;border-color:#C8BC9E;color:#F0E8D0}.bm.b10{background:#8C1800;border-color:#D03010;color:#FFAA90}.bm.b20{background:#0E3882;border-color:#3068C0;color:#A0C4FF}.bm.b50{background:#8C3800;border-color:#D86000;color:#FFD090}.bm.b100{background:#005A30;border-color:#009050;color:#80DCA0}.bm.b200{background:#8C6E00;border-color:#C8A000;color:#FFE060}
.pm2{border-radius:50%;font-family:'DM Mono',monospace;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;border:2.5px solid;cursor:pointer;transition:filter .1s;user-select:none}
.pm2:hover{filter:brightness(.65)}
.pm2.p001,.pm2.p002{width:42px;height:42px;background:#2A201A;border-color:#6A5040;color:#B09070}.pm2.p005{width:45px;height:45px;background:#2A201A;border-color:#7A6050;color:#C0A080}.pm2.p010,.pm2.p020{width:47px;height:47px;background:#2A201A;border-color:#8A7060;color:#D0B080}.pm2.p050{width:51px;height:51px;background:#2A201A;border-color:#A08060;color:#E0C090}.pm2.p1{width:56px;height:56px;background:#1C281C;border-color:#508050;color:#90C080;font-size:14px}.pm2.p2{width:62px;height:62px;background:#1C2A22;border-color:#408068;color:#80C0A0;font-size:15px}
.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;flex:1}
.nb{height:34px;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:rgba(255,255,255,.07);color:white;font-family:'DM Mono',monospace;font-size:14px;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center}
.nb:hover{background:rgba(255,255,255,.15)}.nb:active{transform:scale(.94)}
.nb.del{color:var(--red-l)}.nb.clr{grid-column:span 3;font-size:10px;font-family:'DM Sans',sans-serif;color:var(--amber-l)}.nb.z2{grid-column:span 2}
.md-disp{background:rgba(255,160,30,.07);border:2px solid rgba(255,180,50,.55);border-radius:7px;padding:6px 10px;font-family:'DM Mono',monospace;font-size:20px;color:rgba(255,200,80,.5);text-align:right;letter-spacing:2px;min-height:40px;min-width:110px;outline:none;transition:border-color .2s,color .2s,box-shadow .2s;animation:pulseInput 1s ease-in-out infinite}
.md-disp:focus{border-color:#FFB830;color:#FFD060;text-shadow:0 0 12px rgba(255,180,40,.6);box-shadow:0 0 0 3px rgba(255,160,30,.18);animation:none}
.md-disp::placeholder{color:rgba(255,180,50,.35);font-size:15px;letter-spacing:1px}
@keyframes pulseInput{0%,100%{border-color:rgba(255,180,50,.3);background:rgba(255,160,30,.04);box-shadow:none}50%{border-color:#FFB830;background:rgba(255,160,30,.22);box-shadow:0 0 0 4px rgba(255,160,30,.28),0 0 12px rgba(255,180,40,.35)}}
.monnaie-box{display:none;flex-direction:column;gap:8px}
.monnaie-box.vis{display:flex}
.mb-lbl{font-size:9px;color:var(--green-l);text-transform:uppercase;letter-spacing:1px;font-family:'DM Mono',monospace}
.mb-val{font-family:'DM Mono',monospace;font-size:22px;color:#7FFF6A;letter-spacing:3px}
.mb-decomp{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}

/* ===== TIROIR-CAISSE ===== */
.tiroir-section-old{margin-top:12px}
.tiroir-title-old{font-size:12px;color:#FF8C42;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.tiroir-body{
  background:linear-gradient(180deg,#0A0A0C,#141418);
  border:3px solid #E8500A;
  border-radius:12px;
  padding:16px 16px 18px;
  display:flex;flex-direction:column;gap:12px;
  box-shadow:inset 0 2px 10px rgba(0,0,0,.7), 0 4px 18px rgba(0,0,0,.55);
  position:relative;
}
.tiroir-body::before{
  content:'TIROIR CAISSE';
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:#E8500A;color:#fff;font-size:9px;font-weight:900;
  letter-spacing:2px;padding:2px 12px;border-radius:4px;
}
.tiroir-billets{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tiroir-pieces{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.tiroir-sublbl{font-size:9px;color:rgba(255,140,66,.6);letter-spacing:2px;text-transform:uppercase;width:100%;border-bottom:1px solid rgba(255,140,66,.2);padding-bottom:4px}

.t-billet{
  border-radius:8px;padding:10px 20px;
  font-family:'DM Mono',monospace;font-weight:700;font-size:17px;
  border:2.5px solid;cursor:grab;user-select:none;
  transition:transform .12s,box-shadow .12s;
  position:relative;min-width:70px;text-align:center;
  box-shadow:3px 4px 12px rgba(0,0,0,.5);
}
.t-billet::before{content:'';position:absolute;inset:5px;border-radius:4px;border:1px solid currentColor;opacity:.15}
.t-billet:hover{transform:translateY(-5px) scale(1.08);box-shadow:0 10px 26px rgba(0,0,0,.65);z-index:2}
.t-billet:active{cursor:grabbing;transform:scale(.95)}
.t-billet.dragging{opacity:.3;transform:scale(.88)}

.t-piece{
  border-radius:50%;
  font-family:'DM Mono',monospace;font-weight:700;
  border:3px solid;cursor:grab;user-select:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  line-height:1.1;
  transition:transform .12s,box-shadow .12s;
  box-shadow:2px 3px 8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.2);
}
.t-piece:hover{transform:scale(1.22);box-shadow:0 7px 20px rgba(0,0,0,.6);z-index:2}
.t-piece:active{cursor:grabbing}
.t-piece.dragging{opacity:.3}

/* Zone de rendu — là où on dépose les coupures */
.zone-rendu{
  background:rgba(45,106,79,.15);
  border:2px dashed rgba(149,213,178,.35);
  border-radius:10px;
  min-height:64px;
  padding:8px 10px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  transition:border-color .2s,background .2s;
  position:relative;
}
.zone-rendu.drag-over{
  border-color:var(--green-l);
  background:rgba(45,106,79,.28);
}
.zone-rendu-lbl{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:10px;color:rgba(149,213,178,.4);pointer-events:none;
  white-space:nowrap;font-style:italic;
  transition:opacity .2s;
}
.zone-rendu.has-items .zone-rendu-lbl{opacity:0}

/* Billet/pièce déposé(e) dans la zone rendu — clic pour retirer */
.rendu-item{
  cursor:pointer;transition:opacity .15s,transform .15s;
  position:relative;
}
.rendu-item:hover{opacity:.7;transform:scale(.93)}
.rendu-item::after{
  content:'×';position:absolute;top:-4px;right:-4px;
  width:14px;height:14px;background:var(--red);color:white;
  border-radius:50%;font-size:8px;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  line-height:14px;text-align:center;
  opacity:0;transition:opacity .15s;
}
.rendu-item:hover::after{opacity:1}

/* Compteur monnaie rendue */
.rendu-compteur{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 0 0;
  border-top:1px solid rgba(149,213,178,.2);
  margin-top:4px;
}
.rendu-total{font-family:'DM Mono',monospace;font-size:14px;color:#7FFF6A;font-weight:700}
.cb-device{background:#0A1220;border:2px solid rgba(168,207,255,.2);border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;width:190px}
.cb-ico{font-size:34px}.cb-lcd{background:#0A1008;border-radius:5px;padding:6px 14px;font-family:'DM Mono',monospace;font-size:11px;color:#4AF5A0;letter-spacing:1px;text-align:center;width:100%;min-height:26px;display:flex;align-items:center;justify-content:center}
.cb-amt{font-family:'DM Mono',monospace;font-size:18px;color:var(--blue-l);letter-spacing:2px}
.cb-bar{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.cb-prog{height:100%;background:var(--green-l);width:0%;transition:width 3.5s ease}.cb-prog.go{width:100%}
.cb-foot{font-size:9px;color:rgba(255,255,255,.3);text-align:center}
.btn-val{width:100%;padding:12px;background:var(--amber);border:none;border-radius:8px;color:var(--brown);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;display:none;letter-spacing:.5px}
.btn-val.vis{display:block}
.btn-val:hover{background:#FF6A20;transform:translateY(-1px);box-shadow:0 4px 14px rgba(232,80,10,.4)}

/* ══ MODALE TICKET ══ */
.ticket-ov{position:fixed;top:0;right:0;bottom:0;left:46%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:700;opacity:0;pointer-events:none;transition:opacity .25s}
.ticket-ov.show{opacity:1;pointer-events:all}
.q-card{background:var(--caisse-bg);border:2px solid var(--amber);border-radius:16px;padding:28px 32px;text-align:center;max-width:340px;width:90%;transform:scale(.9);transition:transform .25s}
.ticket-ov.show .q-card{transform:scale(1)}
.q-ico{font-size:44px;margin-bottom:10px}.q-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;color:var(--amber-l);margin-bottom:6px}
.q-sub{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:20px;line-height:1.5}
.q-btns{display:flex;gap:10px}
.q-btns button{flex:1;padding:11px;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
.q-client-parole{
  background:linear-gradient(135deg,#E8F5EF,#F0FAF5);
  border:2px solid #52B98A;
  border-radius:4px 16px 16px 16px;
  padding:10px 14px;
  font-size:13px;
  color:#0D2B1A;
  line-height:1.55;
  font-style:italic;
  position:relative;
  margin-bottom:14px;
  text-align:left;
}
.q-client-parole::before{
  content:'💬';font-style:normal;font-size:14px;margin-right:6px;
}
.btn-oui{background:var(--amber);color:var(--brown)}.btn-oui:hover{background:#FF6A20;transform:translateY(-1px)}
.btn-non{background:rgba(255,255,255,.1)!important;color:white;border:1px solid rgba(255,255,255,.2)!important}.btn-non:hover{background:rgba(255,255,255,.18)!important}

/* ══ OVERLAY CLIENT SUIVANT ══ */
.next-ov{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:600;opacity:0;pointer-events:none;transition:opacity .25s}
.next-ov.show{opacity:1;pointer-events:all}
.next-card{background:white;border-radius:18px;padding:32px 40px;text-align:center;max-width:360px;width:90%;transform:scale(.9);transition:transform .25s;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.next-ov.show .next-card{transform:scale(1)}
.nc-ico{font-size:52px;margin-bottom:10px}
.nc-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;color:var(--green);margin-bottom:6px}
.nc-sub{font-size:12px;color:var(--g6);margin-bottom:20px;line-height:1.5}
.btn-next{width:100%;padding:12px;background:var(--client-hd);border:none;border-radius:8px;color:white;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s}
.btn-next:hover{background:#3D8F68;transform:translateY(-1px)}

/* ══ FIN ══ */
.fin-ov{position:fixed;inset:0;background:rgba(45,106,79,.95);display:flex;align-items:center;justify-content:center;z-index:900;opacity:0;pointer-events:none;transition:opacity .4s}
.fin-ov.show{opacity:1;pointer-events:all}
.fin-card{background:white;border-radius:20px;padding:36px 44px;text-align:center;max-width:400px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.fin-ico{font-size:60px;margin-bottom:12px}
.fin-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;color:var(--green);margin-bottom:8px}
.fin-sub{font-size:13px;color:var(--g6);margin-bottom:24px;line-height:1.6}
.btn-restart{padding:12px 28px;background:var(--client-hd);border:none;border-radius:8px;color:white;font-size:14px;font-weight:700;cursor:pointer}
.btn-restart:hover{background:#3D8F68}

::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:2px}
.caisse-panels::-webkit-scrollbar-thumb,.mcl::-webkit-scrollbar-thumb,.mcr::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px}

/* ══ ERREUR DE CAISSE ══ */
.btn-erreur{width:100%;margin-top:6px;padding:7px;background:rgba(193,18,31,.15);border:1px solid rgba(193,18,31,.35);border-radius:6px;color:var(--red-l);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:5px;letter-spacing:.3px}
.btn-erreur:hover{background:rgba(193,18,31,.28);border-color:rgba(193,18,31,.6)}
.erreur-ov{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;z-index:800;opacity:0;pointer-events:none;transition:opacity .2s}
.erreur-ov.show{opacity:1;pointer-events:all}
.erreur-card{background:#1A0A0A;border:2px solid var(--red-l);border-radius:16px;padding:28px 30px;max-width:360px;width:90%;text-align:center;transform:scale(.92);transition:transform .22s;box-shadow:0 20px 50px rgba(0,0,0,.7)}
.erreur-ov.show .erreur-card{transform:scale(1)}
.erreur-ico{font-size:42px;margin-bottom:8px}
.erreur-title{font-family:'Barlow Condensed',sans-serif;font-size:17px;color:var(--red-l);margin-bottom:5px}
.erreur-sub{font-size:11px;color:rgba(255,255,255,.45);margin-bottom:18px;line-height:1.5}
.code-display{background:rgba(0,0,0,.6);border:2px solid rgba(193,18,31,.4);border-radius:10px;padding:10px 16px;font-family:'DM Mono',monospace;font-size:28px;color:#FF6060;letter-spacing:8px;text-align:center;margin-bottom:12px;min-height:52px;display:flex;align-items:center;justify-content:center}
.code-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}
.cpbtn{height:40px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(255,255,255,.07);color:white;font-family:'DM Mono',monospace;font-size:16px;cursor:pointer;transition:all .1s}
.cpbtn:hover{background:rgba(255,255,255,.15)}.cpbtn:active{transform:scale(.93)}
.cpbtn.del{color:var(--red-l);font-size:13px}
.erreur-btns{display:flex;gap:8px;margin-top:6px}
.btn-annuler-dernier{flex:1;padding:9px 6px;background:rgba(232,80,10,.18);border:1px solid rgba(232,80,10,.4);border-radius:7px;color:var(--amber-l);font-size:11px;font-weight:700;cursor:pointer;transition:all .12s}
.btn-annuler-dernier:hover{background:rgba(232,80,10,.3)}
.btn-annuler-tout{flex:1;padding:9px 6px;background:rgba(193,18,31,.18);border:1px solid rgba(193,18,31,.4);border-radius:7px;color:var(--red-l);font-size:11px;font-weight:700;cursor:pointer;transition:all .12s}
.btn-annuler-tout:hover{background:rgba(193,18,31,.3)}
.code-msg{font-size:10px;min-height:14px;margin-bottom:6px;font-family:'DM Mono',monospace}

/* ══ ZONE MODE DE RÈGLEMENT INLINE ══ */
.panier-paiement{
  flex-shrink:0;background:white;border-top:2px solid #C8E6D4;
  padding:10px 14px;min-height:90px;max-height:42%;overflow-y:auto;
  display:flex;flex-direction:column;gap:6px;
}
.pp-hdr{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;color:var(--client-hd);text-transform:uppercase;letter-spacing:1px}
.pp-total{font-family:'DM Mono',monospace;font-size:14px;color:var(--green);font-weight:700}

/* Sélecteur de mode de paiement (affiché dès que le panier est non vide) */
.mode-select-zone{display:none;flex-direction:column;gap:6px}
.mode-select-zone.vis{display:flex}
.mode-select-label{font-size:10px;color:var(--brown-m);font-weight:600;text-align:center;letter-spacing:.5px}
.mode-select-btns{display:flex;gap:8px}
.mode-sel-btn{
  flex:1;padding:9px 6px;
  border-radius:8px;border:2px solid;
  font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;
  cursor:pointer;transition:all .14s;
  display:flex;flex-direction:column;align-items:center;gap:3px;
}
.mode-sel-btn .msb-ico{font-size:20px}
.mode-sel-btn .msb-lbl{font-size:10px;font-weight:700}
.msb-cb{background:#EEF4FF;border-color:#A8CFFF;color:#1A4A90}
.msb-cb:hover,.msb-cb.sel{background:#1A6FC4;border-color:#1A6FC4;color:white}
.msb-esp{background:#FFF8EE;border-color:#F5C060;color:#6B4423}
.msb-esp:hover,.msb-esp.sel{background:#E8500A;border-color:#E8500A;color:#fff}

/* Zone d'affichage du paiement (billets/CB) */
.comptoir-monnaie{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;min-height:40px}
.paiement-vide{color:var(--g6);font-size:11px;font-style:italic;display:flex;align-items:center;gap:5px;opacity:.55}

/* ══ PAROLE CLIENT ══ */
.client-parole-wrap{
  background:white;border-top:3px solid var(--client-hd);
  padding:14px 16px 12px;flex-shrink:0;
}
.client-parole-titre{font-size:10px;font-weight:800;color:var(--client-hd);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.client-parole-bubble{
  background:linear-gradient(135deg,#E8F5EF,#F0FAF5);
  border:2px solid #52B98A;
  border-radius:4px 16px 16px 16px;
  padding:12px 16px;
  font-size:14px;
  color:#0D2B1A;
  line-height:1.65;
  font-style:italic;
  position:relative;
  box-shadow:2px 3px 10px rgba(45,106,79,.12);
}
.client-parole-bubble::before{
  content:'';
  position:absolute;top:-2px;left:-2px;
  width:14px;height:14px;
  background:linear-gradient(135deg,#E8F5EF,#F0FAF5);
  border-left:2px solid #52B98A;
  border-top:2px solid #52B98A;
  clip-path:polygon(0 0,100% 0,0 100%);
}
.client-parole-alerte{
  margin-top:8px;
  background:linear-gradient(135deg,#FEF0F0,#FFF5F5);
  border-color:var(--red);
  color:#6B0010;
  box-shadow:2px 3px 10px rgba(193,18,31,.12);
  font-weight:600;
}
.client-parole-alerte::before{
  background:linear-gradient(135deg,#FEF0F0,#FFF5F5);
  border-color:var(--red);
}
.client-reglement-badge{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:10px;padding:6px 14px;
  border-radius:14px;font-size:12px;font-weight:700;
  letter-spacing:.3px;
}
.crb-cb{background:#EEF4FF;color:#1A4A90;border:2px solid #A8CFFF}
.crb-esp{background:#FFF8EE;color:#6B3A10;border:2px solid #F5C060}

/* Badge promotion annoncée par le client */
.client-promo-badge{
  display:flex;align-items:center;gap:8px;
  margin-top:10px;padding:8px 14px;
  background:linear-gradient(135deg,#FFF8E0,#FFF3CC);
  border:2px solid #E8500A;border-radius:10px;
  font-size:12px;font-weight:700;color:#6B3A00;
  animation:pulse-promo 2s ease-in-out infinite;
}
@keyframes pulse-promo{0%,100%{box-shadow:0 0 0 0 rgba(232,80,10,.4)}50%{box-shadow:0 0 0 6px rgba(232,80,10,0)}}
.client-promo-badge .cpb-ico{font-size:20px;flex-shrink:0}
.client-promo-badge .cpb-txt{line-height:1.4}
.client-promo-badge .cpb-sub{font-size:10px;font-weight:500;color:#8B5A00;margin-top:1px}

/* Alerte mauvais mode sélectionné */
.reglement-alerte{
  background:rgba(193,18,31,.1);border:1px solid rgba(193,18,31,.35);
  border-radius:6px;padding:6px 10px;font-size:10px;color:var(--red);
  font-weight:600;display:none;text-align:center;margin-top:4px;
}
.reglement-alerte.vis{display:block}
.reglt-cb-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;width:100%}
.reglt-cb-card{
  width:148px;height:92px;
  background:linear-gradient(135deg,#0E2060 0%,#1A4AA0 45%,#0A2880 100%);
  border-radius:11px;
  box-shadow:3px 5px 18px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.15);
  position:relative;overflow:hidden;padding:12px 14px;
  animation:appM .35s ease;
}
.reglt-cb-card::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.05)}
.reglt-cb-chip{width:28px;height:20px;background:linear-gradient(135deg,#C8A840,#F0D060,#C8A840);border-radius:4px;margin-bottom:10px;box-shadow:1px 1px 3px rgba(0,0,0,.3)}
.reglt-cb-num{font-family:'DM Mono',monospace;font-size:7.5px;color:rgba(255,255,255,.6);letter-spacing:2px;margin-bottom:2px}
.reglt-cb-name{font-family:'DM Mono',monospace;font-size:7px;color:rgba(255,255,255,.4);letter-spacing:1px}
.reglt-cb-brand{position:absolute;bottom:8px;right:12px;font-size:18px;opacity:.85}
.reglt-cb-label{font-size:11px;color:var(--client-hd);font-weight:700}
.reglt-cb-montant{font-family:'DM Mono',monospace;font-size:20px;color:var(--green);font-weight:700;letter-spacing:2px}
.reglt-cb-statut{font-size:10px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:4px;background:rgba(45,106,79,.1);border-radius:12px;padding:2px 10px}

.reglt-esp-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 0;width:100%}
.reglt-billet{
  border-radius:9px;padding:12px 24px;
  font-family:'DM Mono',monospace;font-weight:700;
  border:2.5px solid;box-shadow:4px 6px 18px rgba(0,0,0,.35);
  animation:appM .35s ease;
  position:relative;overflow:hidden;
  min-width:130px;text-align:center;cursor:default;
}
.reglt-billet::before{content:'';position:absolute;top:5px;left:5px;right:5px;bottom:5px;border-radius:6px;border:1px solid currentColor;opacity:.2}
.reglt-billet-val{font-size:28px;line-height:1.1}
.reglt-billet-txt{font-size:8px;letter-spacing:2px;opacity:.65;margin-top:3px;text-transform:uppercase}
.reglt-piece{
  border-radius:50%;border:4px solid;
  font-family:'DM Mono',monospace;font-weight:700;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:4px 5px 16px rgba(0,0,0,.35);animation:appM .35s ease;
}
.reglt-esp-detail{font-size:10px;color:var(--brown-m);font-weight:500;text-align:left;line-height:1.5}
.reglt-esp-monnaie{font-size:11px;color:var(--green);font-weight:700;background:rgba(45,106,79,.1);border-radius:12px;padding:2px 12px}
/* Visuel pièces appoint */
.reglt-appoint-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 0;width:100%}
.appoint-coupures-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.appoint-billet{
  border-radius:8px;padding:9px 22px;
  font-family:'DM Mono',monospace;font-weight:700;font-size:18px;
  border:2.5px solid;display:inline-flex;align-items:center;justify-content:center;gap:4px;
  box-shadow:3px 4px 12px rgba(0,0,0,.35);animation:appM .25s ease;
  position:relative;overflow:hidden;white-space:nowrap;
}
.appoint-billet::before{content:'';position:absolute;inset:4px;border-radius:4px;border:1px solid currentColor;opacity:.15}
.appoint-piece{
  border-radius:50%;border:3.5px solid;
  font-family:'DM Mono',monospace;font-weight:700;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1.1;
  box-shadow:3px 4px 10px rgba(0,0,0,.35);animation:appM .25s ease;flex-shrink:0;
}
.reglt-appoint-badge{font-size:11px;font-weight:700;background:rgba(160,128,64,.18);border:1px solid rgba(200,160,80,.4);color:#E0C090;border-radius:12px;padding:2px 12px;font-family:'DM Mono',monospace}

/* ══ FLIP COUPURES FACE CACHÉE ══ */
.flip-container{
  perspective:800px;
  cursor:pointer;
  display:inline-flex;
  flex-shrink:0;
  flex-direction:column;
}
.flip-container:hover:not(.flipped){
  filter:brightness(1.15);
}
.flip-inner{
  position:relative;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
}
.flip-container.flipped .flip-inner{
  transform:rotateY(180deg);
  -webkit-transform:rotateY(180deg);
}
.flip-front,.flip-back{
  position:absolute;
  top:0;left:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.flip-back{
  /* face initiale visible */
  transform:rotateY(0deg);
  -webkit-transform:rotateY(0deg);
}
.flip-front{
  /* face cachée, révélée après flip */
  transform:rotateY(180deg);
  -webkit-transform:rotateY(180deg);
}
.flip-container:not(.flipped):hover .flip-back{
  filter:brightness(1.2);
}
.flip-container.flipped{cursor:default;}
.tk-score-zone{background:#f8f8f4;border:1px dashed #bbb;border-radius:4px;padding:7px 8px;margin:5px 0;text-align:center}
.tk-score-title{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;color:#444}
.tk-score-pct{font-size:24px;font-weight:700;letter-spacing:2px;line-height:1}
.tk-score-bar-wrap{background:#e0e0e0;height:5px;border-radius:3px;margin:4px 2px}
.tk-score-bar{height:100%;border-radius:3px}
.tk-score-detail{font-size:8px;color:#666;line-height:1.65;text-align:left;margin-top:4px}

/* Bouton confirmer inline */
.reglement-effectue-badge{
  display:none;
  align-items:center;gap:4px;
  background:#2D6A4F;
  color:#D8F3DC;
  font-size:10px;font-weight:700;
  padding:2px 9px;border-radius:10px;
  letter-spacing:.4px;
  vertical-align:middle;
  margin-left:6px;
  white-space:nowrap;
}
.reglement-effectue-badge.vis{display:inline-flex}

.bilan-ov{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:950;opacity:0;pointer-events:none;transition:opacity .25s;overflow-y:auto}
.bilan-ov.show{opacity:1;pointer-events:all}
.bilan-page{
  width:680px;max-width:96vw;
  background:white;
  font-family:'DM Mono',monospace;
  font-size:11px;color:#111;
  padding:28px 32px;
  box-shadow:0 16px 48px rgba(0,0,0,.5);
  margin:16px auto;
}
.bilan-header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #1B3A6B;padding-bottom:12px;margin-bottom:14px}
.bilan-logo-zone{display:flex;align-items:center;gap:10px}
.bilan-store-name{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:#1B3A6B}
.bilan-store-sub{font-size:9px;color:#888;letter-spacing:1px;text-transform:uppercase}
.bilan-title-zone{text-align:right}
.bilan-title{font-size:15px;font-weight:700;color:#1B3A6B;letter-spacing:1px;text-transform:uppercase}
.bilan-subtitle{font-size:9px;color:#888;margin-top:2px}
.bilan-meta{display:flex;justify-content:space-between;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px 12px;margin-bottom:14px;font-size:10px}
.bilan-meta-item{display:flex;flex-direction:column;gap:1px}
.bilan-meta-label{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:1px}
.bilan-meta-val{font-weight:700;color:#333}
.bilan-table{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:8px}
.bilan-table th{background:#1B3A6B;color:white;padding:4px 6px;text-align:center;font-size:8px;letter-spacing:.3px;text-transform:uppercase}
.bilan-table th:first-child{text-align:left}
.bilan-table td{padding:4px 6px;border-bottom:1px solid #eee;text-align:center;vertical-align:middle;font-size:8px}
.bilan-table td:first-child{text-align:left;font-weight:600}
.bilan-table tr:nth-child(even) td{background:#fafafa}
.bilan-table .pen-cell{font-size:8px}
.bilan-table small{font-size:7px;color:#888;display:block}
.bilan-score-global{border:2px solid #1B3A6B;border-radius:6px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bilan-score-big{font-size:40px;font-weight:700;line-height:1}
.bilan-score-right{text-align:right}
.bilan-mention{font-size:16px;font-weight:700;letter-spacing:1px}
.bilan-bar-wrap{width:200px;height:10px;background:#eee;border-radius:5px;margin:6px 0 0 auto}
.bilan-bar{height:100%;border-radius:5px}
.bilan-baremes{font-size:8.5px;color:#666;border-top:1px dashed #ccc;padding-top:10px;line-height:1.7}
.bilan-baremes strong{color:#333}
.bilan-footer{border-top:1px solid #ddd;padding-top:8px;display:flex;justify-content:space-between;font-size:8px;color:#aaa;margin-top:10px}
.bilan-actions{background:#f5f5f5;padding:10px 14px;display:flex;gap:8px;width:680px;max-width:96vw;margin:0 auto}

.btn-bilan-print{flex:1;padding:9px;background:var(--brown);color:white;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.btn-bilan-fermer{flex:1;padding:9px;background:#bbb;color:#333;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}
.btn-print-bilan{padding:10px 16px;background:#1B3A6B;color:white;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;margin-top:8px;width:100%;justify-content:center}
.btn-print-bilan:hover{background:#2A5A9B}

/* ══ INSTRUCTION MONNAIE CLIENT ══ */
.zlbl-monnaie-header{
  font-size:13px;font-weight:800;color:#FF8C42;line-height:1.4;
  padding:6px 10px 6px;margin-bottom:6px;
  background:rgba(255,140,66,.08);
  border-left:3px solid #E8500A;
  border-radius:0 6px 6px 0;
}

/* Zone client (monnaie posée par le client) — fond bleu-acier discret */
.zone-client-box{
  background:rgba(30,80,140,.18);
  border:1.5px solid rgba(100,160,255,.3);
  border-radius:8px;
  padding:8px 10px 6px;
  margin-bottom:8px;
}
.zone-client-title{
  font-size:10px;font-weight:700;color:rgba(140,190,255,.85);
  text-transform:uppercase;letter-spacing:1px;
  margin-bottom:6px;
  border-bottom:1px solid rgba(100,160,255,.2);
  padding-bottom:4px;
}

/* Tiroir-caisse — fond vert-kaki pour bien le distinguer */
.tiroir-section{
  background:rgba(20,60,30,.35);
  border:1.5px solid rgba(80,180,100,.35);
  border-radius:8px;
  padding:8px 10px 6px;
  margin-bottom:6px;
}
.tiroir-title{
  font-size:10px;font-weight:700;color:rgba(120,210,140,.85);
  text-transform:uppercase;letter-spacing:1px;
  margin-bottom:6px;
  border-bottom:1px solid rgba(80,180,100,.2);
  padding-bottom:4px;
}
.rendu-badge{
  display:inline-flex;align-items:center;
  padding:3px 9px;border-radius:20px;
  font-size:10px;font-weight:700;letter-spacing:.2px;
  animation:fadeIn .2s ease;
}
.rendu-badge-ok{
  background:rgba(45,106,79,.3);
  border:1.5px solid rgba(149,213,178,.6);
  color:#95D5B2;
}
.rendu-badge-err{
  background:rgba(193,18,31,.2);
  border:1.5px solid rgba(193,18,31,.5);
  color:#FF8888;
}

@media print{
  body{background:white!important;margin:0!important;padding:0!important}
  body>*{display:none!important}
  /* Ticket seul */
  .ticket-print-ov.show{
    display:block!important;position:static!important;
    background:white!important;opacity:1!important;
    pointer-events:all!important;overflow:visible!important;
    box-shadow:none!important;
  }
  .ticket-scroll-area{
    padding:0!important;max-height:none!important;
    overflow:visible!important;display:block!important;
    background:white!important;
  }
  .ticket-wrap{
    box-shadow:none!important;border:none!important;
    max-width:100%!important;width:auto!important;
    background:white!important;
  }
  .ticket-paper{
    background:white!important;box-shadow:none!important;
    padding:0 8px 12px!important;
  }
  .tk-erreurs-section{
    display:block!important;page-break-inside:avoid;
    background:#FFF5F5!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  .tk-erreur-ligne{color:#B00!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tk-erreur-ok{color:#2D6A4F!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tk-score-recap{background:#F5FFF8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .ticket-actions,.btn-print,.btn-fermer-ticket{display:none!important}
  /* Bilan de session complet (2 pages) */
  .bilan-ov.show{
    display:block!important;position:static!important;
    background:white!important;opacity:1!important;
    pointer-events:all!important;overflow:visible!important;
    box-shadow:none!important;padding:0!important;
  }
  .bilan-page{
    background:white!important;box-shadow:none!important;
    border-radius:0!important;max-width:100%!important;
    width:auto!important;padding:16px 20px!important;
    overflow:visible!important;max-height:none!important;
  }
  .bilan-actions{display:none!important}
  /* Couleurs exactes pour le bilan pédagogique imprimé */
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
/* Panels 2 et 3 cote a cote */
.panels-row{display:flex;gap:6px}
.panels-row>.panel{flex:1;min-width:0}

/* ── Sablier avant produits ── */
.produits-attente{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background:rgba(0,0,0,.15);border-radius:10px;margin:8px 0}
.sablier-ico{font-size:32px;animation:none}
.sablier-lbl{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase}

to{opacity:1;transform:translateY(0)}

/* ── Popup panier LCD ── */
.lcd-panier-popup{
  display:none;position:fixed;z-index:500;
  background:#040E04;border:1.5px solid rgba(127,255,106,.3);
  border-radius:8px;
  padding:0 12px 10px;box-shadow:0 8px 24px rgba(0,0,0,.7);
  font-family:'DM Mono',monospace;
  min-width:260px;max-width:340px;
  top:245px;left:697.767px;
}
.lcd-panier-popup.vis{display:block;}
.lpp-hdr{
  display:flex;justify-content:space-between;align-items:center;
  font-size:9px;color:rgba(127,255,106,.7);letter-spacing:2px;text-transform:uppercase;
  padding:7px 0 7px;
  margin:0 -12px;padding-left:12px;padding-right:8px;
  background:rgba(0,0,0,.5);
  border-bottom:1px solid rgba(127,255,106,.2);
  border-radius:8px 8px 0 0;
}
.lpp-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(127,255,106,.06);font-size:11px;}
.lpp-row:last-child{border-bottom:none;}
.lpp-qty{color:rgba(127,255,106,.5);min-width:22px;}
.lpp-name{flex:1;color:#7FFF6A;}
.lpp-price{color:#A8FF90;font-weight:700;}
.lpp-promo .lpp-name{color:#95D5B2;}
.lpp-promo .lpp-price{color:#52D48A;}
.lpp-total{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:#7FFF6A;padding:8px 0 2px;border-top:1px solid rgba(127,255,106,.3);margin-top:4px;letter-spacing:1px;text-shadow:0 0 10px rgba(127,255,106,.5);}


/* ══ CARTE DE FIDÉLITÉ — zone séparée ══ */
.fidel-sep{
  height:1px;background:linear-gradient(90deg,transparent,rgba(245,200,66,.3),transparent);
  margin:10px 0 8px;
}
.fidel-zone{
  background:rgba(245,200,66,.06);
  border:1.5px solid rgba(245,200,66,.25);
  border-radius:8px;
  padding:8px 10px;
  display:flex;flex-direction:column;gap:5px;
}
.fidel-title{
  font-size:10px;font-weight:700;color:#F5C842;
  text-transform:uppercase;letter-spacing:1px;
}
.fidel-list{display:flex;flex-direction:column;gap:3px}
.promo-fidel-item{background:rgba(245,200,66,.12)!important;border-color:rgba(245,200,66,.3)!important}
.btn-fidel{
  padding:7px 10px;
  background:linear-gradient(135deg,rgba(245,200,66,.18),rgba(245,200,66,.08));
  border:1.5px solid rgba(245,200,66,.4);
  border-radius:6px;
  color:#F5C842;
  font-size:12px;font-weight:700;
  cursor:pointer;text-align:left;
  transition:all .15s;
  font-family:'DM Sans',sans-serif;
}
.btn-fidel:hover{background:rgba(245,200,66,.25);border-color:#F5C842}

/* ══ BILLETS & PIÈCES AGRANDIS (fenêtre espèces) ══ */
.billets-row-xl{gap:8px!important}
.bbtn-xl{
  padding:11px 18px!important;
  font-size:16px!important;
}
.pieces-row-xl{gap:8px!important}
.pbtn2-xl.p001,.pbtn2-xl.p002{width:38px!important;height:38px!important;font-size:11px!important}
.pbtn2-xl.p005{width:40px!important;height:40px!important;font-size:12px!important}
.pbtn2-xl.p010,.pbtn2-xl.p020{width:42px!important;height:42px!important;font-size:12px!important}
.pbtn2-xl.p050{width:46px!important;height:46px!important;font-size:13px!important}
.pbtn2-xl.p1{width:52px!important;height:52px!important;font-size:14px!important}
.pbtn2-xl.p2{width:58px!important;height:58px!important;font-size:15px!important}

/* ══ QUESTION TICKET — message client ══ */
.q-client-parole{
  margin:12px 0 4px;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.q-parole-bubble{
  background:rgba(45,106,79,.15);
  border:1.5px solid rgba(149,213,178,.3);
  border-radius:16px 16px 16px 4px;
  padding:10px 16px;
  font-size:13px;
  color:#D8F3DC;
  font-style:italic;
  text-align:center;
  max-width:320px;
  line-height:1.4;
  animation:pose .3s ease;
}

/* ══ SECTION ERREURS SUR LE TICKET ══ */
.tk-erreurs-section{
  margin-top:10px;
  padding:8px 10px;
  background:#FFF5F5;
  border:1.5px solid #E88;
  border-radius:6px;
}
.tk-erreurs-title{
  font-size:10px;font-weight:700;color:#C00;text-transform:uppercase;letter-spacing:1px;
  margin-bottom:6px;text-align:center;border-bottom:1px dashed #E88;padding-bottom:4px;
}
.tk-erreur-ligne{
  font-size:9.5px;color:#B00;line-height:1.6;padding:2px 0;
  border-bottom:1px dotted #ECC;
}
.tk-erreur-ligne:last-child{border-bottom:none}
.tk-erreur-ok{font-size:9.5px;color:#2D6A4F;line-height:1.6;padding:2px 0}
.tk-score-recap{
  margin-top:8px;padding:6px 8px;
  background:#F5FFF8;border:1px solid #8DC;border-radius:4px;
  font-size:9.5px;color:#1A4A30;
  display:flex;justify-content:space-between;align-items:center;
}
.tk-score-val{font-size:14px;font-weight:900}
.erreur-panier-recap{
  width:100%;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  padding:8px 10px;
  margin:8px 0;
  max-height:140px;
  overflow-y:auto;
  text-align:left;
}

/* Alerte Total remis */
@keyframes shakeX{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
#alerte-total-remis{display:none}
#alerte-total-remis.show{display:flex!important;animation:shakeX .35s ease}

/* ══════════════════════════════════════
   ZONE ARGENT MANQUANT
══════════════════════════════════════ */
.manquant-box {
  background: rgba(255,107,53,.10);
  border: 2px solid rgba(255,107,53,.45);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 8px 0;
  animation: manquantIn .3s ease;
}
@keyframes manquantIn {
  from { opacity:0; transform:translateY(-6px); }
  to   { opacity:1; transform:translateY(0); }
}

.manquant-alerte {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.manquant-alerte-titre {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #FF6B35;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 2px;
}

.manquant-alerte-msg {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: rgba(255,160,100,.85);
  line-height: 1.4;
}

.manquant-saisie-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.manquant-saisie-lbl {
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  font-weight: 800;
  color: #FF6B35;
  text-transform: uppercase;
  letter-spacing: .8px;
}

.manquant-input {
  background: rgba(255,107,53,.12);
  border: 1.5px solid rgba(255,107,53,.45);
  border-radius: 7px;
  color: rgba(255,200,160,.95);
  font-family: 'DM Mono', monospace;
  font-size: 18px;
  font-weight: 600;
  padding: 6px 10px;
  width: 130px;
  outline: none;
  transition: border-color .2s, background .2s;
  text-align: right;
}
.manquant-input::placeholder { color: rgba(255,107,53,.35); }
.manquant-input:focus {
  border-color: rgba(255,107,53,.75);
  background: rgba(255,107,53,.18);
}

.manquant-hint {
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  font-weight: 600;
  min-height: 14px;
  transition: color .2s;
}

/* ── Infobulle custom "Total remis" ── */
.tooltip-remis{position:relative;display:flex;flex-direction:column;gap:2px;align-items:flex-end}
.tooltip-remis::before{
  content:'💡 Vérifie le comptage des espèces\A en saisissant le montant';
  white-space:pre;
  position:absolute;bottom:calc(100% + 9px);right:0;
  background:#0A1A0A;border:1px solid rgba(46,160,67,.55);
  color:rgba(160,240,160,.95);font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.2px;
  padding:7px 11px;border-radius:7px;
  box-shadow:0 4px 16px rgba(0,0,0,.6);
  pointer-events:none;opacity:0;transition:opacity .18s;z-index:900;
}
.tooltip-remis::after{
  content:'';position:absolute;bottom:calc(100% + 3px);right:18px;
  border:5px solid transparent;border-top-color:rgba(46,160,67,.55);
  pointer-events:none;opacity:0;transition:opacity .18s;z-index:900;
}
.tooltip-remis:hover::before,.tooltip-remis:hover::after{opacity:1}
