
:root{
  --red:#dc2f34;
  --blue:#59bdd8;
  --dark:#1b1b1b;
  --light:#f2f2f2;
  --muted:#9a9a9a;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  background:#fff;
  color:var(--dark);
}
.app{
  max-width:430px;
  min-height:100vh;
  margin:auto;
  background:#fff;
  position:relative;
  overflow:hidden;
  border-left:1px solid #eee;
  border-right:1px solid #eee;
}
.logo{
  font-weight:900;
  letter-spacing:1px;
  font-size:42px;
  color:#ef4b50;
  text-align:center;
  line-height:1;
}
.logo span{
  display:inline-block;
  width:58px;
  height:58px;
  border:8px solid #ef4b50;
  background:#65c5df;
  border-radius:50%;
  vertical-align:middle;
  margin:0 -3px;
}
.logo small{
  display:block;
  font-size:15px;
  letter-spacing:5px;
  margin-left:150px;
  margin-top:-5px;
}
.header{
  background:var(--red);
  color:white;
  padding:28px 28px 34px;
  border-bottom-left-radius:16px;
  border-bottom-right-radius:16px;
  position:relative;
}
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.back,.menu-btn,.icon-btn{
  border:0;
  background:transparent;
  color:inherit;
  font-size:30px;
  width:auto;
  padding:5px;
  cursor:pointer;
}
.header .logo{
  background:white;
  border-radius:6px;
  padding:5px 12px;
  font-size:28px;
}
.header .logo span{
  width:38px;height:38px;border-width:5px;
}
.header .logo small{
  display:none;
}
.title{
  font-size:36px;
  font-weight:900;
  text-shadow:0 3px 2px rgba(0,0,0,.25);
  margin:26px 0 0;
  text-transform:uppercase;
}
.center{ text-align:center }
.screen{ padding:24px; }
.login-top{
  min-height:380px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.login-top h1{
  color:var(--red);
  font-size:38px;
  margin:30px 0 4px;
}
.login-top p{
  color:#a44444;
  font-size:25px;
  margin:0;
}
.login-card{
  background:var(--blue);
  border-radius:16px;
  padding:30px 32px;
  margin:0 32px;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}
input,select,textarea{
  width:100%;
  padding:15px 18px;
  border-radius:24px;
  border:2px solid transparent;
  margin:10px 0;
  font-size:16px;
  background:white;
  outline:none;
}
textarea{border-radius:16px;min-height:88px}
.form-red input,.form-red select,.form-red textarea{
  border-color:#df575b;
  border-radius:0;
  text-align:center;
}
button.primary{
  background:#ef4b50;
  color:#fff;
  border:0;
  border-radius:24px;
  padding:15px 18px;
  font-size:19px;
  font-weight:800;
  width:100%;
  cursor:pointer;
  margin-top:14px;
}
button.secondary{
  background:var(--blue);
  color:white;
  border:0;
  border-radius:24px;
  padding:14px;
  font-weight:800;
  cursor:pointer;
}
.link-row{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  margin:4px 0 10px;
}
a,.link{
  color:#267e99;
  cursor:pointer;
  text-decoration:underline;
}
.footer-red{
  background:#f83a31;
  height:150px;
  margin-top:-65px;
}
.dashboard-top{
  padding:22px 22px 0;
}
.dash-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.company{
  font-weight:900;
  color:#cc3438;
  text-transform:uppercase;
  font-size:16px;
}
.small-icon{
  width:36px;height:36px;border:0;background:white;font-size:28px;color:#c11;cursor:pointer;
}
.search{
  display:flex;
  gap:8px;
  align-items:center;
  padding:14px 70px 8px 70px;
}
.search input{
  margin:0;
  color:#777;
}
.progress{
  margin:10px auto 20px;
  width:150px;
  height:82px;
  border-radius:150px 150px 0 0;
  border:22px solid #5fc4de;
  border-bottom:0;
  position:relative;
}
.progress:before{
  content:"";
  position:absolute;
  left:-22px;
  top:-22px;
  width:72px;
  height:72px;
  border-radius:100% 0 0 0;
  border-top:22px solid #ef4b50;
  transform:rotate(-10deg);
}
.progress span{
  position:absolute;
  left:0;right:0;
  bottom:-34px;
  text-align:center;
  font-weight:900;
  font-size:22px;
}
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 30px;
  padding:15px 45px 35px;
}
.module{
  border:0;
  background:white;
  cursor:pointer;
  text-align:center;
  font-weight:900;
  font-size:14px;
}
.module .emoji{
  font-size:54px;
  height:75px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.form-page{
  padding:22px 42px;
}
.page-logo{
  font-size:32px;
  text-align:left;
  margin-bottom:35px;
}
.page-logo span{width:45px;height:45px;border-width:6px}
.page-logo small{display:none}
.form-title{
  text-align:center;
  font-size:23px;
  text-decoration:underline;
  font-weight:900;
  margin:18px 0;
  text-transform:uppercase;
}
.big-emoji{
  text-align:center;
  font-size:74px;
  margin:8px 0 16px;
}
.reminder{
  margin-top:55px;
  text-align:center;
  line-height:1.45;
}
.reminder b{color:#b72a2e}
.list{
  padding:20px;
}
.record{
  background:#fff;
  border:1px solid #eee;
  border-left:6px solid var(--red);
  border-radius:12px;
  padding:12px;
  margin-bottom:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.record small{color:#777}
.actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.actions button{
  flex:1;
  border:0;
  border-radius:12px;
  padding:10px;
  cursor:pointer;
}
.danger{background:#f05b5b;color:white}
.ok{background:#59bdd8;color:white}
.toast{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  background:#111;
  color:white;
  padding:12px 18px;
  border-radius:999px;
  font-size:14px;
  z-index:99;
}
.hidden{display:none}
@media (min-width:700px){
  body{background:#eaeaea}
  .app{box-shadow:0 0 24px rgba(0,0,0,.12)}
}


/* v13 DESIGN PRO ACTIF + ALERTES + IMPRESSION */
body{
  background: radial-gradient(circle at top, #ffffff 0%, #f1f6f8 42%, #e8eef2 100%);
}
.app{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfd 100%);
}
.header{
  background:linear-gradient(135deg,#d92830,#ff684d)!important;
  box-shadow:0 12px 30px rgba(217,40,48,.25);
}
.card,.record{
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 10px 24px rgba(20,35,45,.10)!important;
}
.screen input,.form-page input,.form-page textarea{
  transition:.18s ease;
  border-radius:16px!important;
  border:2px solid #e6eef2!important;
  background:#fff!important;
  text-align:left!important;
}
.screen input:focus,.form-page input:focus,.form-page textarea:focus{
  border-color:#59bdd8!important;
  box-shadow:0 0 0 4px rgba(89,189,216,.18);
  transform:translateY(-1px);
}
.alert{
  margin:12px 0;
  padding:13px 14px;
  border-radius:14px;
  font-weight:900;
  font-size:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.alert.neutral{background:#f1f1f1;color:#444;border-left:6px solid #aaa}
.alert.good,.mini-alert.good{background:#e9f9ef;color:#107a37;border-left:6px solid #22a652}
.alert.warning,.mini-alert.warning{background:#fff6df;color:#956100;border-left:6px solid #f2b705}
.alert.bad,.mini-alert.bad{background:#ffe9e9;color:#b71818;border-left:6px solid #e53935}
.mini-alert{
  margin-top:8px;
  padding:9px 10px;
  border-radius:10px;
  font-weight:900;
  font-size:12px;
}
.photo-box{
  display:block;
  background:linear-gradient(135deg,#dc2f34,#f36b4f);
  color:white;
  text-align:center;
  font-weight:900;
  border-radius:18px;
  padding:16px;
  margin:12px 0;
  box-shadow:0 8px 18px rgba(220,47,52,.22);
}
.photo-box input{display:none}
#photoPreview img{box-shadow:0 6px 18px rgba(0,0,0,.12)}
.print-btn{
  width:100%;
  margin-top:10px;
  border:0;
  border-radius:18px;
  padding:14px;
  color:#111;
  background:linear-gradient(135deg,#ffe45e,#ffbd2e);
  font-size:17px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(255,189,46,.28);
  cursor:pointer;
}
.print-small{
  background:#ffd247!important;
  color:#111!important;
  font-weight:900;
}
.module{
  border-radius:22px!important;
  padding:12px 6px!important;
  transition:.16s ease;
  box-shadow:0 8px 18px rgba(20,35,45,.08);
}
.module:active{transform:scale(.96)}
button.primary{
  background:linear-gradient(135deg,#dc2f34,#ff5a42)!important;
  box-shadow:0 8px 18px rgba(220,47,52,.22);
}
button.secondary{
  background:linear-gradient(135deg,#59bdd8,#36a6c5)!important;
}


/* v14 MODERN DESIGN + ALERTES TEMPÉRATURE HACCP */
:root{
  --brand-red:#e72f38;
  --brand-blue:#28a9d6;
  --ok:#0fa958;
  --bad:#e11d2e;
  --card:#ffffff;
}
.app{
  background:
    radial-gradient(circle at 20% 0%, rgba(40,169,214,.18), transparent 32%),
    radial-gradient(circle at 90% 10%, rgba(231,47,56,.13), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f5f9fb 100%)!important;
}
.header{
  background:linear-gradient(135deg,#c91822 0%,#ff4d42 52%,#ff7a4f 100%)!important;
  border-bottom-left-radius:28px!important;
  border-bottom-right-radius:28px!important;
}
.title{
  letter-spacing:.5px;
}
.logo{
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.10));
}
.grid{
  gap:18px!important;
  padding:15px 28px 35px!important;
}
.module{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.9)!important;
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.module .emoji{
  background:linear-gradient(135deg,#fff,#f0fbff);
  border-radius:22px;
  width:74px;
  height:74px!important;
  margin:auto;
  box-shadow:inset 0 0 0 1px rgba(40,169,214,.12);
}
.form-page{
  padding:22px 26px!important;
}
.form-title{
  background:linear-gradient(135deg,#111,#444);
  color:#fff;
  text-decoration:none!important;
  border-radius:18px;
  padding:13px;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.big-emoji{
  background:#fff;
  border-radius:24px;
  width:110px;
  margin:12px auto 18px!important;
  box-shadow:0 10px 24px rgba(20,35,45,.10);
}
.alert{
  border:0!important;
  border-radius:20px!important;
  padding:15px!important;
}
.alert.good{
  background:linear-gradient(135deg,#e8fff2,#c9f7dc)!important;
  color:#066b35!important;
  box-shadow:0 10px 22px rgba(15,169,88,.18)!important;
}
.alert.bad{
  background:linear-gradient(135deg,#ffe8ea,#ffd0d5)!important;
  color:#a30f1a!important;
  box-shadow:0 10px 22px rgba(225,29,46,.18)!important;
}
.temp-line{
  padding:10px;
  border-radius:14px;
  margin:6px 0;
  font-weight:900;
}
.temp-line.good{background:rgba(15,169,88,.12);color:#066b35}
.temp-line.bad{background:rgba(225,29,46,.12);color:#a30f1a}
button.primary,.print-btn,button.secondary{
  transition:.15s ease;
}
button.primary:active,.print-btn:active,button.secondary:active{
  transform:scale(.97);
}
.record{
  border-radius:20px!important;
  background:rgba(255,255,255,.95)!important;
}
.mini-alert.good{
  background:linear-gradient(135deg,#e8fff2,#c9f7dc)!important;
  color:#066b35!important;
}
.mini-alert.bad{
  background:linear-gradient(135deg,#ffe8ea,#ffd0d5)!important;
  color:#a30f1a!important;
}


/* v15 - DESIGN MODERNE + ALERTES POSITIF/NÉGATIF */
.app{
  background:
    radial-gradient(circle at 10% 4%, rgba(0,207,255,.22), transparent 28%),
    radial-gradient(circle at 95% 8%, rgba(255,75,66,.20), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f3f8fb 52%,#eef5f8 100%)!important;
}
.header{
  background:
    linear-gradient(135deg,#b71321 0%,#ef3340 48%,#ff7a45 100%)!important;
  box-shadow:0 18px 38px rgba(183,19,33,.28)!important;
  border-bottom-left-radius:34px!important;
  border-bottom-right-radius:34px!important;
}
.form-page{
  padding:22px!important;
}
.form-title{
  background:
    linear-gradient(135deg,#101828 0%,#202b3f 100%)!important;
  color:white!important;
  text-decoration:none!important;
  border-radius:22px!important;
  padding:16px!important;
  box-shadow:0 14px 30px rgba(16,24,40,.22)!important;
}
.big-emoji{
  width:118px!important;
  height:118px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#ffffff,#effbff)!important;
  border-radius:32px!important;
  box-shadow:0 16px 32px rgba(18,38,63,.14)!important;
}
.modern-select,
.form-page input,
.form-page textarea{
  border-radius:18px!important;
  border:2px solid rgba(40,169,214,.18)!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 8px 18px rgba(18,38,63,.06)!important;
  font-weight:700;
}
.modern-select{
  width:100%;
  padding:15px 18px;
  margin:10px 0;
  font-size:16px;
  color:#1d2939;
  outline:none;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #ef3340 50%),
    linear-gradient(135deg, #ef3340 50%, transparent 50%)!important;
  background-position:
    calc(100% - 22px) calc(1em + 8px),
    calc(100% - 15px) calc(1em + 8px)!important;
  background-size:7px 7px,7px 7px!important;
  background-repeat:no-repeat!important;
}
.form-page input:focus,
.form-page textarea:focus,
.modern-select:focus{
  border-color:#18a8d8!important;
  box-shadow:0 0 0 5px rgba(24,168,216,.18), 0 10px 22px rgba(18,38,63,.10)!important;
}
.temp-alert{
  padding:10px!important;
  border-radius:24px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.temp-card{
  display:flex;
  gap:13px;
  align-items:flex-start;
  border-radius:22px;
  padding:15px;
  margin:10px 0;
  box-shadow:0 14px 30px rgba(18,38,63,.12);
}
.temp-card.good{
  background:linear-gradient(135deg,#dcffeb 0%,#bdf5d4 100%);
  color:#065f33;
  border:2px solid rgba(15,169,88,.25);
}
.temp-card.bad{
  background:linear-gradient(135deg,#ffe1e5 0%,#ffc3ca 100%);
  color:#96121e;
  border:2px solid rgba(225,29,46,.25);
}
.temp-icon{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:50%;
  background:rgba(255,255,255,.75);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);
}
.temp-title{
  font-size:16px;
  font-weight:1000;
  margin-bottom:4px;
}
.temp-message{
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.alert.good{
  background:linear-gradient(135deg,#dcffeb,#bdf5d4)!important;
  color:#065f33!important;
}
.alert.bad{
  background:linear-gradient(135deg,#ffe1e5,#ffc3ca)!important;
  color:#96121e!important;
}
button.primary{
  border-radius:20px!important;
  padding:16px!important;
  background:linear-gradient(135deg,#ef3340,#ff7048)!important;
  box-shadow:0 14px 26px rgba(239,51,64,.26)!important;
  letter-spacing:.3px;
}
button.secondary{
  border-radius:20px!important;
  background:linear-gradient(135deg,#28a9d6,#1d8fb8)!important;
}
.print-btn{
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffd84d,#ffb52e)!important;
  box-shadow:0 14px 26px rgba(255,181,46,.24)!important;
}
.record{
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 14px 30px rgba(18,38,63,.10)!important;
}
.mini-alert.good{
  background:linear-gradient(135deg,#dcffeb,#bdf5d4)!important;
  color:#065f33!important;
  border-left:0!important;
  border-radius:16px!important;
}
.mini-alert.bad{
  background:linear-gradient(135deg,#ffe1e5,#ffc3ca)!important;
  color:#96121e!important;
  border-left:0!important;
  border-radius:16px!important;
}


/* v16 - Hover/touch couleurs + messages dates */
.field-wrap{
  margin:10px 0 14px;
}
.field-wrap input,
.field-wrap select{
  margin-bottom:4px!important;
}
.field-help{
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  color:#526070;
  background:rgba(40,169,214,.08);
  border-left:4px solid #28a9d6;
  padding:8px 10px;
  border-radius:10px;
  margin-top:4px;
}
.date-info-card{
  background:linear-gradient(135deg,#eef9ff,#dff4ff);
  border:1px solid rgba(40,169,214,.22);
  color:#155d75;
  border-radius:18px;
  padding:13px 14px;
  margin:12px 0;
  font-size:13px;
  font-weight:850;
  box-shadow:0 8px 20px rgba(40,169,214,.12);
}

/* Hover desktop + active mobile */
.module:hover{
  background:linear-gradient(135deg,#ffffff,#e9f9ff)!important;
  box-shadow:0 16px 34px rgba(40,169,214,.22)!important;
  transform:translateY(-4px);
  color:#0b7194!important;
}
.module:hover .emoji{
  background:linear-gradient(135deg,#28a9d6,#78ddff)!important;
  color:white!important;
  transform:scale(1.06) rotate(-2deg);
}
.module:active{
  background:linear-gradient(135deg,#ffe9ea,#ffffff)!important;
  box-shadow:0 10px 22px rgba(231,47,56,.24)!important;
  transform:scale(.96)!important;
}
button.primary:hover{
  background:linear-gradient(135deg,#b90f1c,#ff493d)!important;
  box-shadow:0 18px 34px rgba(239,51,64,.35)!important;
  transform:translateY(-2px);
}
button.primary:active{
  background:linear-gradient(135deg,#8f0d16,#e72f38)!important;
  transform:scale(.97)!important;
}
button.secondary:hover{
  background:linear-gradient(135deg,#117ea4,#38c6f0)!important;
  box-shadow:0 16px 30px rgba(40,169,214,.30)!important;
  transform:translateY(-2px);
}
button.secondary:active{
  background:linear-gradient(135deg,#0b6786,#28a9d6)!important;
  transform:scale(.97)!important;
}
.print-btn:hover,.print-small:hover{
  background:linear-gradient(135deg,#ffb000,#ffe063)!important;
  box-shadow:0 16px 30px rgba(255,181,46,.35)!important;
  transform:translateY(-2px);
}
.print-btn:active,.print-small:active{
  background:linear-gradient(135deg,#e89900,#ffc43b)!important;
  transform:scale(.97)!important;
}
.back:hover,.menu-btn:hover,.small-icon:hover,.icon-btn:hover{
  color:#ffe45e!important;
  transform:scale(1.08);
}
.record:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(18,38,63,.16)!important;
}

/* Design plus graphique */
.dashboard-top{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.65));
  border-bottom-left-radius:28px;
  border-bottom-right-radius:28px;
  margin-bottom:8px;
}
.progress{
  position:relative;
  filter:drop-shadow(0 10px 18px rgba(40,169,214,.22));
}
.progress:after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  background:#ef3340;
  border:4px solid #fff;
  border-radius:50%;
  right:12px;
  top:-25px;
  box-shadow:0 5px 10px rgba(239,51,64,.28);
}
.form-page:before{
  content:"";
  display:block;
  height:6px;
  width:90px;
  margin:0 auto 18px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef3340,#ffb52e,#28a9d6);
}
.temp-card.good:hover{
  box-shadow:0 18px 38px rgba(15,169,88,.24);
  transform:translateY(-2px);
}
.temp-card.bad:hover{
  box-shadow:0 18px 38px rgba(225,29,46,.24);
  transform:translateY(-2px);
}
.temp-card{
  transition:.16s ease;
}
.modern-select:hover,
.form-page input:hover,
.form-page textarea:hover{
  border-color:#28a9d6!important;
  box-shadow:0 12px 24px rgba(40,169,214,.12)!important;
}


/* v17 - COULEUR TEMPÉRATURE INSTANTANÉE SUR LE CHAMP */
.form-page input.live-good,
.form-page select.live-good,
.modern-select.live-good{
  background:linear-gradient(135deg,#dcffeb,#bdf5d4)!important;
  border:3px solid #0fa958!important;
  color:#064e2b!important;
  box-shadow:0 0 0 5px rgba(15,169,88,.18), 0 14px 28px rgba(15,169,88,.20)!important;
}

.form-page input.live-bad,
.form-page select.live-bad,
.modern-select.live-bad{
  background:linear-gradient(135deg,#ffe1e5,#ffc3ca)!important;
  border:3px solid #e11d2e!important;
  color:#8f101b!important;
  box-shadow:0 0 0 5px rgba(225,29,46,.18), 0 14px 28px rgba(225,29,46,.20)!important;
}

.field-wrap.field-good::after{
  content:"✅ Conforme";
  display:block;
  margin-top:6px;
  padding:8px 10px;
  border-radius:12px;
  color:#064e2b;
  background:#dcffeb;
  font-weight:1000;
  font-size:12px;
}

.field-wrap.field-bad::after{
  content:"⚠️ Attention à la température";
  display:block;
  margin-top:6px;
  padding:8px 10px;
  border-radius:12px;
  color:#8f101b;
  background:#ffe1e5;
  font-weight:1000;
  font-size:12px;
}

.temp-alert.good{
  background:linear-gradient(135deg,#dcffeb,#bdf5d4)!important;
  border:3px solid #0fa958!important;
}

.temp-alert.bad{
  background:linear-gradient(135deg,#ffe1e5,#ffc3ca)!important;
  border:3px solid #e11d2e!important;
}

/* neutralisation des hover qui écrasaient les couleurs */
.form-page input.live-good:hover,
.form-page select.live-good:hover,
.modern-select.live-good:hover{
  background:linear-gradient(135deg,#dcffeb,#bdf5d4)!important;
  border-color:#0fa958!important;
}

.form-page input.live-bad:hover,
.form-page select.live-bad:hover,
.modern-select.live-bad:hover{
  background:linear-gradient(135deg,#ffe1e5,#ffc3ca)!important;
  border-color:#e11d2e!important;
}


/* v18 FORCE COULEUR TEMPÉRATURE - PRIORITÉ MAX */
input.temperature-green,
.form-page input.temperature-green,
.field-wrap input.temperature-green,
select.temperature-green,
.form-page select.temperature-green,
.modern-select.temperature-green{
  background:#00c853 !important;
  background-image:none !important;
  color:#ffffff !important;
  border:4px solid #008c3a !important;
  box-shadow:0 0 0 6px rgba(0,200,83,.22), 0 14px 30px rgba(0,200,83,.30) !important;
  font-weight:1000 !important;
}

input.temperature-red,
.form-page input.temperature-red,
.field-wrap input.temperature-red,
select.temperature-red,
.form-page select.temperature-red,
.modern-select.temperature-red{
  background:#e60023 !important;
  background-image:none !important;
  color:#ffffff !important;
  border:4px solid #990018 !important;
  box-shadow:0 0 0 6px rgba(230,0,35,.22), 0 14px 30px rgba(230,0,35,.30) !important;
  font-weight:1000 !important;
}

input.temperature-green::placeholder,
input.temperature-red::placeholder{
  color:rgba(255,255,255,.85) !important;
}

.temperature-wrap-green .field-help{
  background:#d9ffe8 !important;
  color:#006b2d !important;
  border-left-color:#00c853 !important;
}

.temperature-wrap-red .field-help{
  background:#ffe0e5 !important;
  color:#990018 !important;
  border-left-color:#e60023 !important;
}

.temperature-wrap-green::after{
  content:"✅ Conforme";
  display:block;
  margin-top:7px;
  background:#00c853;
  color:white;
  padding:9px 12px;
  border-radius:13px;
  font-weight:1000;
  text-align:center;
}

.temperature-wrap-red::after{
  content:"⚠️ Attention à la température";
  display:block;
  margin-top:7px;
  background:#e60023;
  color:white;
  padding:9px 12px;
  border-radius:13px;
  font-weight:1000;
  text-align:center;
}

.temp-ok-box{
  background:#00c853 !important;
  color:white !important;
  padding:12px;
  border-radius:14px;
  font-weight:1000;
  margin:7px 0;
}

.temp-bad-box{
  background:#e60023 !important;
  color:white !important;
  padding:12px;
  border-radius:14px;
  font-weight:1000;
  margin:7px 0;
}

#versionBadge{
  position:fixed;
  top:8px;
  right:8px;
  background:#111;
  color:#fff;
  z-index:9999;
  font-size:11px;
  padding:5px 8px;
  border-radius:999px;
  opacity:.85;
}


/* v19 - Photo mobile non bloquante + DLC explicite */
.photo-status{
  padding:12px;
  border-radius:14px;
  font-weight:1000;
  text-align:center;
  margin:8px 0;
}
.photo-status.loading{
  background:#fff7d6;
  color:#8a5a00;
  border:2px solid #ffd24d;
}
.photo-status.ready{
  background:#dcffeb;
  color:#065f33;
  border:2px solid #16a34a;
}
.photo-status.error{
  background:#ffe1e5;
  color:#96121e;
  border:2px solid #e60023;
}
input[data-field="DLC"]{
  border-color:#ffb52e!important;
  background:linear-gradient(135deg,#fffaf0,#fff3d6)!important;
}
input[data-field="DLC"]:focus{
  box-shadow:0 0 0 5px rgba(255,181,46,.22)!important;
}


/* v20 - Photo mobile vraiment non bloquante */
.photo-status{
  padding:12px;
  border-radius:14px;
  font-weight:1000;
  text-align:center;
  margin:8px 0;
}
.photo-status.loading{
  background:#fff4cc!important;
  color:#7a5200!important;
  border:2px solid #ffcc33!important;
}
.photo-status.ready{
  background:#dcffeb!important;
  color:#065f33!important;
  border:2px solid #16a34a!important;
}
.photo-status.error{
  background:#ffe1e5!important;
  color:#96121e!important;
  border:2px solid #e60023!important;
}
#versionBadge::after{
  content:" / v20 photo non-bloquante";
}


/* v21 - Loading photo obligatoire */
button.is-loading{
  opacity:.75!important;
  pointer-events:none!important;
  filter:saturate(.8);
}

#photoSavingOverlay{
  position:fixed;
  inset:0;
  background:rgba(12,18,28,.58);
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(5px);
}

.photo-saving-card{
  width:82%;
  max-width:320px;
  background:white;
  border-radius:24px;
  padding:28px 22px;
  text-align:center;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  font-weight:1000;
  color:#111827;
}

.spinner{
  width:54px;
  height:54px;
  border-radius:50%;
  border:6px solid #e5e7eb;
  border-top-color:#e60023;
  margin:0 auto 18px;
  animation:spinV21 .8s linear infinite;
}

@keyframes spinV21{
  to{transform:rotate(360deg)}
}

#photoSavingText{
  font-size:16px;
  line-height:1.35;
}


/* v22 - photo simple img1/img2 + loading visible */
button.is-loading{
  opacity:.75!important;
  pointer-events:none!important;
}

#photoSavingOverlay{
  position:fixed;
  inset:0;
  background:rgba(12,18,28,.65);
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(6px);
}

.photo-saving-card{
  width:84%;
  max-width:330px;
  background:#fff;
  border-radius:26px;
  padding:30px 22px;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  font-weight:1000;
  color:#101828;
}

.spinner{
  width:58px;
  height:58px;
  border-radius:50%;
  border:7px solid #e5e7eb;
  border-top-color:#e60023;
  margin:0 auto 18px;
  animation:spinV22 .75s linear infinite;
}

@keyframes spinV22{to{transform:rotate(360deg)}}

#photoSavingText{
  font-size:17px;
  line-height:1.35;
}


/* v24 upload serveur réel OVH */
.hidden-camera-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
}

.camera-btn-v24{
  width:96px;
  height:96px;
  border-radius:50%;
  background:linear-gradient(135deg,#e60023,#ff5252);
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:44px;
  margin:18px auto;
  box-shadow:0 15px 35px rgba(230,0,35,.35);
  cursor:pointer;
}

#uploadOverlayV24{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.68);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999999;
  backdrop-filter:blur(6px);
}

.upload-card-v24{
  width:84%;
  max-width:330px;
  background:#fff;
  border-radius:26px;
  padding:30px 22px;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  color:#111;
  font-weight:1000;
}

.upload-spinner-v24{
  width:60px;
  height:60px;
  border-radius:50%;
  border:7px solid #e5e7eb;
  border-top-color:#e60023;
  margin:0 auto 18px;
  animation:spinUploadV24 .8s linear infinite;
}

@keyframes spinUploadV24{to{transform:rotate(360deg)}}

button.is-loading{
  opacity:.7!important;
  pointer-events:none!important;
}

.upload-test-floating{
  position:fixed;
  left:10px;
  bottom:10px;
  z-index:9999;
  width:auto!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  font-size:12px!important;
  background:#111!important;
  color:#fff!important;
}

.upload-test-floating-v26{
  position:fixed!important;
  right:10px!important;
  bottom:10px!important;
  z-index:10000!important;
  width:auto!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  font-size:12px!important;
  background:#e60023!important;
  color:white!important;
}
.photo-status.ready{
  background:#dcffeb!important;
  color:#065f33!important;
  border:2px solid #16a34a!important;
}

.history-photo-v27{
  width:100%!important;
  display:block;
  border-radius:16px!important;
  border:2px solid #16a34a!important;
  background:#f2f2f2!important;
  min-height:120px!important;
  object-fit:cover!important;
  margin-top:8px!important;
}
.photo-status.error{
  background:#ffe1e5!important;
  color:#96121e!important;
  border:2px solid #e60023!important;
  padding:10px!important;
  border-radius:12px!important;
  font-weight:900!important;
}


/* ===== V28 STABLE ===== */

.hidden-camera-input-v28{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
}

.camera-btn-v28{
  width:130px;
  height:130px;
  border-radius:30px;
  background:linear-gradient(135deg,#e60023,#ff6b57);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:20px auto;
  color:white;
  font-weight:900;
  box-shadow:0 18px 40px rgba(230,0,35,.30);
}

.camera-btn-v28 span{
  font-size:50px;
}

.camera-btn-v28 small{
  margin-top:6px;
  font-size:12px;
}

#sideMenuV28{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}

.side-backdrop-v28{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}

.side-panel-v28{
  position:absolute;
  right:0;
  top:0;
  width:82%;
  max-width:340px;
  height:100%;
  background:white;
  padding:22px;
  box-sizing:border-box;
  border-top-left-radius:30px;
  border-bottom-left-radius:30px;
  box-shadow:-10px 0 40px rgba(0,0,0,.25);
}

.side-close-v28{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:white!important;
  padding:0!important;
  font-size:24px!important;
  float:right;
}

.side-title-v28{
  margin-top:50px;
  font-size:30px;
  font-weight:1000;
  color:#e60023;
}

.side-card-v28{
  margin-top:25px;
  background:#f4f7fb;
  padding:18px;
  border-radius:20px;
}

.side-logout-v28{
  margin-top:25px;
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
}



/* ===== V29 ===== */

.camera-v29{
  width:130px;
  height:130px;
  margin:20px auto;
  border-radius:30px;
  background:linear-gradient(135deg,#e60023,#ff725e);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:white;
  box-shadow:0 18px 40px rgba(230,0,35,.35);
}

.camera-icon-v29{
  font-size:52px;
}

.camera-text-v29{
  margin-top:8px;
  font-size:12px;
  font-weight:900;
}

#menuV29{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}

.menu-backdrop-v29{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}

.menu-panel-v29{
  position:absolute;
  right:0;
  top:0;
  width:82%;
  max-width:340px;
  height:100%;
  background:white;
  border-top-left-radius:30px;
  border-bottom-left-radius:30px;
  padding:22px;
  box-sizing:border-box;
  box-shadow:-10px 0 40px rgba(0,0,0,.25);
}

.menu-close-v29{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:white!important;
  font-size:24px!important;
  padding:0!important;
  float:right;
}

.menu-title-v29{
  margin-top:55px;
  font-size:30px;
  font-weight:1000;
  color:#e60023;
}

.menu-card-v29{
  margin-top:25px;
  background:#f4f7fb;
  border-radius:20px;
  padding:18px;
}

.menu-label-v29{
  font-weight:1000;
}

.menu-logout-v29{
  margin-top:25px;
  background:linear-gradient(135deg,#e60023,#ff725e)!important;
}



/* ===== V30 ===== */

.camera-v30{
  width:130px;
  height:130px;
  margin:20px auto;
  border-radius:30px;
  background:linear-gradient(135deg,#e60023,#ff6b57);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:white;
  box-shadow:0 18px 40px rgba(230,0,35,.35);
}

.camera-icon-v30{
  font-size:52px;
}

.camera-text-v30{
  margin-top:8px;
  font-size:12px;
  font-weight:1000;
}

#menuV30{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}

.menu-overlay-v30{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}

.menu-panel-v30{
  position:absolute;
  top:0;
  right:0;
  width:82%;
  max-width:340px;
  height:100%;
  background:white;
  border-top-left-radius:30px;
  border-bottom-left-radius:30px;
  padding:22px;
  box-sizing:border-box;
  box-shadow:-10px 0 40px rgba(0,0,0,.25);
}

.menu-close-v30{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:white!important;
  padding:0!important;
  font-size:24px!important;
  float:right;
}

.menu-title-v30{
  margin-top:55px;
  font-size:30px;
  font-weight:1000;
  color:#e60023;
}

.menu-card-v30{
  margin-top:25px;
  background:#f4f7fb;
  border-radius:20px;
  padding:18px;
}

.menu-label-v30{
  font-weight:1000;
}

.menu-logout-v30{
  margin-top:25px;
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
}


/* ===== V34 SYNC BUTTON ===== */
#syncBoxV34{
  margin:16px 22px;
  padding:16px;
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border-radius:22px;
  box-shadow:0 12px 28px rgba(18,38,63,.10);
  border:1px solid rgba(40,169,214,.18);
}
#syncBtnV34{
  width:100%;
  border:none;
  border-radius:18px;
  padding:15px;
  background:linear-gradient(135deg,#1570ef,#28a9d6);
  color:white;
  font-weight:1000;
  font-size:17px;
}
#syncBtnV34:disabled{
  opacity:.7;
}
#syncStatusV34{
  margin-top:10px;
  color:#344054;
  font-size:13px;
  font-weight:800;
  text-align:center;
}

/* ===== V35 CLOUD -> LOCAL ===== */
#pullBtnV35,
#syncBothBtnV35{
  width:100%;
  border:none;
  border-radius:18px;
  padding:14px;
  margin-top:10px;
  background:linear-gradient(135deg,#12b76a,#039855);
  color:white;
  font-weight:1000;
  font-size:16px;
}
#syncBothBtnV35{
  background:linear-gradient(135deg,#7f56d9,#1570ef);
}
#pullBtnV35:disabled,
#syncBothBtnV35:disabled{
  opacity:.7;
}

/* ===== V36 CONFIG RESTAURANT ===== */
#restaurantConfigBtnV36{
  width:100%;
  border:none;
  border-radius:18px;
  padding:14px;
  margin-top:10px;
  background:linear-gradient(135deg,#344054,#111827);
  color:white;
  font-weight:1000;
  font-size:15px;
}

/* ===== V37 SIDE MENU SYNC ===== */
#syncBoxV34{display:none!important;}
.side-sync-box-v37{
  margin-top:18px;
  background:linear-gradient(135deg,#f8fbff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}
.side-sync-title-v37{
  font-weight:1000;
  color:#111827;
  margin-bottom:8px;
}
.side-sync-status-v37{
  font-size:12px;
  line-height:1.45;
  color:#344054;
  font-weight:800;
  margin-bottom:10px;
}
.side-sync-box-v37 button{
  width:100%!important;
  margin-top:8px!important;
  padding:12px!important;
  border:none!important;
  border-radius:14px!important;
  color:white!important;
  font-weight:1000!important;
  font-size:13px!important;
}
.side-sync-btn-v37{background:linear-gradient(135deg,#1570ef,#28a9d6)!important;}
.side-pull-btn-v37{background:linear-gradient(135deg,#12b76a,#039855)!important;}
.side-both-btn-v37{background:linear-gradient(135deg,#7f56d9,#1570ef)!important;}
.side-config-btn-v37{background:linear-gradient(135deg,#344054,#111827)!important;}


/* ===== V38 FORCE SIDE SYNC VISIBLE ===== */
#syncPanelV38{
  margin:18px 0;
  padding:15px;
  border-radius:20px;
  background:linear-gradient(135deg,#f8fbff,#eaf8ff);
  border:1px solid rgba(40,169,214,.25);
  box-shadow:0 10px 24px rgba(18,38,63,.10);
}
.sync-title-v38{
  font-weight:1000;
  color:#111827;
  margin-bottom:8px;
  font-size:16px;
}
.sync-status-v38{
  font-size:12px;
  line-height:1.45;
  color:#344054;
  font-weight:800;
  margin-bottom:10px;
}
#syncPanelV38 button{
  width:100%!important;
  margin-top:8px!important;
  padding:12px!important;
  border:none!important;
  border-radius:14px!important;
  color:white!important;
  font-weight:1000!important;
  font-size:13px!important;
}
.sync-cloud-v38{background:linear-gradient(135deg,#1570ef,#28a9d6)!important;}
.sync-pull-v38{background:linear-gradient(135deg,#12b76a,#039855)!important;}
.sync-both-v38{background:linear-gradient(135deg,#7f56d9,#1570ef)!important;}
.sync-config-v38{background:linear-gradient(135deg,#344054,#111827)!important;}

#menuV38{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}
.menu-backdrop-v38{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}
.menu-panel-v38{
  position:absolute;
  right:0;
  top:0;
  width:82%;
  max-width:340px;
  height:100%;
  overflow:auto;
  background:white;
  padding:22px;
  box-sizing:border-box;
  border-top-left-radius:30px;
  border-bottom-left-radius:30px;
  box-shadow:-10px 0 40px rgba(0,0,0,.25);
}
.menu-close-v38{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#111!important;
  color:white!important;
  padding:0!important;
  font-size:24px!important;
  float:right;
}
.menu-info-v38{
  margin:20px 0;
  padding:16px;
  border-radius:18px;
  background:#f4f7fb;
}
.menu-logout-v38{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
}

/* ===== V39 MENU MOBILE PROPRE ===== */
#syncBoxV34,#syncPanelV38,#syncPanelV37{display:none!important;}

#menuV39{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}
.menu-backdrop-v39{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
}
.menu-panel-v39{
  position:absolute;
  top:0;
  right:0;
  width:88%;
  max-width:360px;
  height:100%;
  background:#f8fafc;
  border-top-left-radius:28px;
  border-bottom-left-radius:28px;
  padding:18px;
  box-sizing:border-box;
  overflow-y:auto;
  box-shadow:-12px 0 42px rgba(0,0,0,.25);
}
.menu-header-v39{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.menu-close-v39{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
  background:#111827!important;
  color:#fff!important;
  border:0!important;
  padding:0!important;
  font-size:24px!important;
}
.menu-brand-v39{
  font-size:24px;
  font-weight:1000;
  color:#e60023;
  text-align:right;
  line-height:1;
}
.menu-brand-v39 span{color:#28a9d6;}
.profile-card-v39,.sync-panel-v39{
  background:#fff;
  border-radius:22px;
  padding:16px;
  box-shadow:0 10px 26px rgba(18,38,63,.10);
  margin-bottom:14px;
}
.profile-name-v39{
  font-size:20px;
  font-weight:1000;
  color:#e60023;
  margin-bottom:12px;
}
.profile-row-v39{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #eef2f6;
  padding:8px 0;
  font-size:13px;
}
.profile-row-v39 span{color:#667085;font-weight:800;}
.profile-row-v39 b{
  color:#101828;
  text-align:right;
  word-break:break-word;
}
.sync-title-v39{
  font-size:17px;
  font-weight:1000;
  margin-bottom:10px;
}
.sync-line-v39{
  display:flex;
  justify-content:space-between;
  font-size:13px;
  padding:5px 0;
}
.sync-grid-v39{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.sync-panel-v39 button{
  border:0!important;
  border-radius:14px!important;
  padding:12px!important;
  color:white!important;
  font-weight:1000!important;
  font-size:13px!important;
}
.sync-grid-v39 button:first-child{background:linear-gradient(135deg,#1570ef,#28a9d6)!important;}
.sync-grid-v39 button:last-child{background:linear-gradient(135deg,#12b76a,#039855)!important;}
.sync-full-v39{
  width:100%!important;
  margin-top:8px!important;
  background:linear-gradient(135deg,#7f56d9,#1570ef)!important;
}
.edit-profile-v39{
  width:100%!important;
  margin-top:8px!important;
  background:linear-gradient(135deg,#344054,#111827)!important;
}
.logout-v39{
  width:100%!important;
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
  border:0!important;
  border-radius:18px!important;
  padding:14px!important;
  color:white!important;
  font-weight:1000!important;
  margin-bottom:20px!important;
}
@media(max-width:420px){
  .menu-panel-v39{
    width:92%;
    padding:14px;
    border-top-left-radius:22px;
    border-bottom-left-radius:22px;
  }
  .profile-row-v39{
    flex-direction:column;
    gap:3px;
  }
  .profile-row-v39 b{text-align:left;}
}

/* ===== V40 OVH LOGIN + REMOVE EDIT COORDS ===== */
.edit-profile-v39,
.side-config-btn-v37,
.sync-config-v38{
  display:none!important;
}


/* ===== V54 MODALE CONFIRMATION MODERNE ===== */
#confirmV54{
  position:fixed;
  inset:0;
  z-index:999998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(16,24,40,.58);
  backdrop-filter:blur(7px);
  opacity:0;
  transition:.18s ease;
}

#confirmV54.show{
  opacity:1;
}

.confirm-card-v54{
  width:min(92vw,390px);
  background:white;
  color:#101828;
  border-radius:28px;
  padding:26px 22px;
  box-shadow:0 30px 80px rgba(0,0,0,.30);
  text-align:center;
  transform:scale(.96);
  animation:popV54 .2s ease forwards;
}

.confirm-icon-v54{
  width:66px;
  height:66px;
  margin:0 auto 12px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff4cc,#ffe08a);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
}

.confirm-card-v54 h3{
  margin:0 0 8px;
  font-size:22px;
}

.confirm-card-v54 p{
  margin:0;
  color:#475467;
  line-height:1.45;
  font-weight:700;
}

.confirm-actions-v54{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px;
}

.confirm-actions-v54 button{
  border:0;
  border-radius:16px;
  padding:13px;
  font-weight:1000;
}

.confirm-cancel-v54{
  background:#eef2f6!important;
  color:#344054!important;
}

.confirm-ok-v54{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
  color:white!important;
}

@keyframes popV54{
  to{transform:scale(1)}
}

@media(max-width:420px){
  .confirm-actions-v54{
    grid-template-columns:1fr;
  }
}

/* ===== V55 SYNC RESTORE PANEL ===== */
#syncPanelV55{
  margin:14px 0;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(135deg,#f8fbff,#eaf8ff);
  border:1px solid rgba(40,169,214,.25);
  box-shadow:0 10px 24px rgba(18,38,63,.10);
}
.sync-title-v55{
  font-weight:1000;
  color:#101828;
  margin-bottom:8px;
}
.sync-status-v55{
  background:white;
  border-radius:14px;
  padding:10px;
  font-size:12px;
  color:#344054;
  font-weight:800;
  line-height:1.45;
  margin-bottom:10px;
}
.sync-grid-v55{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
#syncPanelV55 button{
  border:0!important;
  border-radius:14px!important;
  padding:12px!important;
  color:white!important;
  font-weight:1000!important;
  font-size:13px!important;
}
.sync-btn-v55.send{background:linear-gradient(135deg,#1570ef,#28a9d6)!important;}
.sync-btn-v55.pull{background:linear-gradient(135deg,#12b76a,#039855)!important;}
.sync-btn-v55.full{
  margin-top:8px!important;
  width:100%!important;
  background:linear-gradient(135deg,#7f56d9,#1570ef)!important;
}

/* ===== V56 SYNC SOURCE DIAGNOSTIC ===== */
#syncStatusV55 div,#syncStatusV56 div{
  line-height:1.45;
}

/* ===== V57 SYNC STABLE ===== */
#syncStatusV55,#syncStatusV56,#syncStatusV57{
  min-height:74px;
}

/* ===== V58 PANEL SYNC STABLE ===== */
#syncPanelV55,#syncPanelV56,#syncPanelV57,#syncPanelV38,#syncPanelV37,#syncPanelV39,#syncBoxV34{
  display:none!important;
}

#syncPanelV58{
  margin:14px 0;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(135deg,#f8fbff,#eaf8ff);
  border:1px solid rgba(40,169,214,.25);
  box-shadow:0 10px 24px rgba(18,38,63,.10);
}

.sync-title-v58{
  font-weight:1000;
  color:#101828;
  margin-bottom:8px;
}

.sync-status-v58{
  background:white;
  border-radius:14px;
  padding:10px;
  font-size:12px;
  color:#344054;
  font-weight:800;
  line-height:1.45;
  margin-bottom:10px;
  min-height:66px;
}

.sync-grid-v58{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

#syncPanelV58 button{
  border:0!important;
  border-radius:14px!important;
  padding:12px!important;
  color:white!important;
  font-weight:1000!important;
  font-size:13px!important;
}

.sync-btn-v58.send{background:linear-gradient(135deg,#1570ef,#28a9d6)!important;}
.sync-btn-v58.pull{background:linear-gradient(135deg,#12b76a,#039855)!important;}
.sync-btn-v58.full{
  margin-top:8px!important;
  width:100%!important;
  background:linear-gradient(135deg,#7f56d9,#1570ef)!important;
}

/* ===== V59 PREMIUM USER UI ===== */
body{
  transition:background .25s ease,color .25s ease;
}

body.dark-v59{
  background:#0b1220!important;
  color:#e5e7eb!important;
}

body.dark-v59 input,
body.dark-v59 textarea,
body.dark-v59 .card,
body.dark-v59 .module,
body.dark-v59 .premium-hero-v59,
body.dark-v59 .chart-card-v59,
body.dark-v59 .premium-stat{
  background:#111827!important;
  color:#e5e7eb!important;
  border-color:#243247!important;
}

#premiumDashV59{
  margin:18px;
  animation:fadeUpV59 .3s ease both;
}

.premium-hero-v59{
  background:
    radial-gradient(circle at 15% 5%, rgba(255,255,255,.20), transparent 28%),
    linear-gradient(135deg,#e60023 0%,#ff6b57 45%,#28a9d6 100%);
  color:white;
  border-radius:30px;
  padding:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  box-shadow:0 20px 48px rgba(230,0,35,.25);
  overflow:hidden;
  position:relative;
}

.premium-hero-v59 h2{
  margin:6px 0;
  font-size:25px;
  letter-spacing:-.6px;
}

.premium-hero-v59 p{
  margin:0;
  font-weight:700;
  opacity:.92;
  font-size:13px;
}

.eyebrow-v59{
  font-size:11px;
  font-weight:1000;
  opacity:.85;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.premium-hero-v59 button{
  width:52px!important;
  height:52px!important;
  border-radius:18px!important;
  border:0!important;
  background:rgba(255,255,255,.18)!important;
  color:white!important;
  font-size:22px!important;
  backdrop-filter:blur(8px);
}

.premium-stats-v59{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}

.premium-stat{
  background:white;
  border-radius:22px;
  padding:14px;
  box-shadow:0 12px 28px rgba(16,24,40,.08);
  border:1px solid rgba(255,255,255,.8);
  position:relative;
  overflow:hidden;
}

.premium-stat:after{
  content:"";
  position:absolute;
  right:-32px;
  top:-32px;
  width:82px;
  height:82px;
  border-radius:50%;
  opacity:.14;
}

.premium-stat.red:after{background:#e60023}
.premium-stat.blue:after{background:#1570ef}
.premium-stat.orange:after{background:#f79009}
.premium-stat.green:after{background:#12b76a}

.premium-stat span{
  font-size:24px;
  display:block;
  margin-bottom:8px;
}

.premium-stat b{
  display:block;
  font-size:25px;
  letter-spacing:-.8px;
}

.premium-stat small{
  color:#667085;
  font-weight:900;
  font-size:11px;
}

.premium-actions-v59{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:12px;
}

.premium-actions-v59 button{
  border:0!important;
  border-radius:17px!important;
  padding:13px 8px!important;
  color:white!important;
  font-weight:1000!important;
  background:linear-gradient(135deg,#111827,#344054)!important;
  box-shadow:0 10px 22px rgba(16,24,40,.14);
}

.chart-card-v59{
  margin-top:12px;
  background:white;
  border-radius:24px;
  padding:15px;
  box-shadow:0 12px 28px rgba(16,24,40,.08);
}

.chart-title-v59{
  font-weight:1000;
  margin-bottom:8px;
}

#tempChartV59{
  width:100%;
  height:170px;
}

@keyframes fadeUpV59{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:520px){
  #premiumDashV59{margin:12px}
  .premium-stats-v59{grid-template-columns:repeat(2,1fr)}
  .premium-actions-v59{grid-template-columns:1fr}
  .premium-hero-v59{border-radius:24px;padding:18px}
  .premium-hero-v59 h2{font-size:21px}
}

/* ===== V60 AVANCÉ MODAL + DELETE FIX ===== */
#advancedBtnV60{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:99990;
  width:78px!important;
  height:78px!important;
  border-radius:26px!important;
  border:0!important;
  background:linear-gradient(135deg,#7f56d9,#1570ef)!important;
  color:white!important;
  box-shadow:0 18px 42px rgba(21,112,239,.30);
  font-size:26px!important;
  font-weight:1000!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
}

#advancedBtnV60 small{
  font-size:10px;
  font-weight:1000;
}

#advancedModalV60{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
}

#advancedModalV60.show .advanced-panel-v60{
  transform:translateY(0);
}

#advancedModalV60.show .advanced-backdrop-v60{
  opacity:1;
}

.advanced-backdrop-v60{
  position:absolute;
  inset:0;
  background:rgba(16,24,40,.55);
  backdrop-filter:blur(7px);
  opacity:0;
  transition:.18s ease;
}

.advanced-panel-v60{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  max-height:88vh;
  overflow:auto;
  background:#f4f7fb;
  border-top-left-radius:32px;
  border-top-right-radius:32px;
  padding:18px;
  box-shadow:0 -24px 70px rgba(0,0,0,.28);
  transform:translateY(100%);
  transition:.24s cubic-bezier(.2,.8,.2,1);
}

.advanced-close-v60{
  position:sticky;
  top:0;
  float:right;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  border:0!important;
  background:#111827!important;
  color:white!important;
  font-size:24px!important;
  z-index:2;
}

.advanced-hero-v60{
  margin-top:34px;
}

#confirmV60{
  position:fixed;
  inset:0;
  z-index:999998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(16,24,40,.58);
  backdrop-filter:blur(7px);
  opacity:0;
  transition:.18s ease;
}

#confirmV60.show{opacity:1;}

.confirm-card-v60{
  width:min(92vw,390px);
  background:white;
  color:#101828;
  border-radius:28px;
  padding:26px 22px;
  box-shadow:0 30px 80px rgba(0,0,0,.30);
  text-align:center;
  transform:scale(.96);
  animation:popV60 .2s ease forwards;
}

.confirm-icon-v60{
  width:66px;
  height:66px;
  margin:0 auto 12px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff4cc,#ffe08a);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
}

.confirm-actions-v60{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px;
}

.confirm-actions-v60 button{
  border:0;
  border-radius:16px;
  padding:13px;
  font-weight:1000;
}

#confirmCancelV60{
  background:#eef2f6!important;
  color:#344054!important;
}

#confirmOkV60{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
  color:white!important;
}

@keyframes popV60{
  to{transform:scale(1)}
}

@media(max-width:520px){
  #advancedBtnV60{
    width:72px!important;
    height:72px!important;
    border-radius:24px!important;
  }
  .advanced-panel-v60{
    max-height:90vh;
    padding:14px;
  }
}


/* ===== V61 AVANCÉ RESPONSIVE FIX ===== */

#advancedModalV60{
  overscroll-behavior:contain;
}

.advanced-panel-v60{
  width:100%;
  max-width:760px;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%, 100%);
  padding:18px;
  box-sizing:border-box;
}

#advancedModalV60.show .advanced-panel-v60{
  transform:translate(-50%, 0);
}

#advancedContentV60{
  width:100%;
  max-width:100%;
  overflow:hidden;
  padding-bottom:20px;
}

#advancedContentV60 .premium-hero-v59{
  width:100%;
  box-sizing:border-box;
  margin-top:40px;
  border-radius:26px;
  padding:20px;
}

#advancedContentV60 .premium-hero-v59 h2{
  font-size:clamp(20px, 5vw, 28px);
  line-height:1.08;
}

#advancedContentV60 .premium-hero-v59 p{
  font-size:13px;
  line-height:1.35;
}

#advancedContentV60 .premium-stats-v59{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

#advancedContentV60 .premium-stat{
  min-width:0;
  padding:14px 10px;
  border-radius:20px;
}

#advancedContentV60 .premium-stat span{
  font-size:24px;
}

#advancedContentV60 .premium-stat b{
  font-size:clamp(20px, 5vw, 28px);
}

#advancedContentV60 .premium-stat small{
  font-size:10px;
  line-height:1.2;
}

#advancedContentV60 .premium-actions-v59{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

#advancedContentV60 .premium-actions-v59 button{
  min-width:0;
  white-space:normal;
  line-height:1.2;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

#advancedContentV60 .chart-card-v59{
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
}

#advancedContentV60 canvas{
  max-width:100%;
  width:100%!important;
}

.advanced-close-v60{
  z-index:5;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

@media(max-width:700px){
  .advanced-panel-v60{
    max-width:none;
    width:100%;
    height:92vh;
    max-height:92vh;
    left:0!important;
    right:0!important;
    bottom:0;
    transform:translateY(100%);
    border-top-left-radius:28px;
    border-top-right-radius:28px;
    padding:14px;
  }

  #advancedModalV60.show .advanced-panel-v60{
    transform:translateY(0);
  }

  #advancedContentV60 .premium-hero-v59{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-top:48px;
    padding:18px;
    border-radius:24px;
  }

  #advancedContentV60 .premium-hero-v59 button{
    position:absolute;
    top:18px;
    right:18px;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }

  #advancedContentV60 .premium-stats-v59{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  #advancedContentV60 .premium-actions-v59{
    grid-template-columns:1fr;
  }

  #advancedContentV60 .premium-actions-v59 button{
    min-height:50px;
    font-size:14px!important;
  }
}

@media(max-width:390px){
  .advanced-panel-v60{
    padding:12px;
    height:94vh;
    max-height:94vh;
  }

  #advancedContentV60 .premium-stats-v59{
    grid-template-columns:1fr;
  }

  #advancedContentV60 .premium-stat{
    display:flex;
    align-items:center;
    gap:12px;
  }

  #advancedContentV60 .premium-stat span{
    margin:0;
  }

  #advancedContentV60 .premium-stat b{
    min-width:42px;
  }
}

@media(orientation:landscape) and (max-height:520px){
  .advanced-panel-v60{
    height:96vh;
    max-height:96vh;
  }

  #advancedContentV60 .premium-hero-v59{
    margin-top:36px;
  }

  #advancedContentV60 .premium-stats-v59{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
}

/* ===== V68 direct source fixes ===== */
.product-type-source-v68{
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  margin:12px 0 16px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}

.field-label-v68{
  font-weight:1000;
  color:#101828;
  margin-bottom:10px;
}

.product-type-buttons-v68{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.product-type-btn-v68{
  border:0!important;
  border-radius:16px!important;
  padding:14px!important;
  background:#eef2f6!important;
  color:#344054!important;
  font-weight:1000!important;
}

.product-type-btn-v68.active{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
  color:white!important;
  box-shadow:0 12px 24px rgba(230,0,35,.22);
}

.toast-v68.good{
  background:linear-gradient(135deg,#065f33,#12b76a)!important;
  color:white!important;
}

.toast-v68.bad{
  background:linear-gradient(135deg,#96121e,#e60023)!important;
  color:white!important;
}

/* ===== V69 product type clickable fix ===== */
.product-type-btn-v68{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative;
  z-index:2;
}
.product-type-buttons-v68{
  position:relative;
  z-index:2;
}

/* ===== V70 Pavé température ===== */
.temp-input-v70{
  border-color:#28a9d6!important;
  box-shadow:0 0 0 4px rgba(40,169,214,.12)!important;
}

#tempKeypadV70{
  position:fixed;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:999999;
  max-width:460px;
  margin:auto;
  background:#fff;
  border-radius:28px;
  padding:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.32);
  transform:translateY(120%);
  opacity:0;
  transition:.22s cubic-bezier(.2,.8,.2,1);
}

#tempKeypadV70.show{
  transform:translateY(0);
  opacity:1;
}

.temp-pad-header-v70{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}

.temp-pad-header-v70 strong{
  font-size:17px;
  color:#101828;
}

.temp-pad-header-v70 button{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  border:0!important;
  background:#111827!important;
  color:#fff!important;
  font-size:22px!important;
  padding:0!important;
}

.temp-pad-display-v70{
  background:#f4f7fb;
  border-radius:18px;
  padding:14px;
  text-align:center;
  font-size:26px;
  font-weight:1000;
  color:#e60023;
  margin-bottom:12px;
}

.temp-pad-grid-v70{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.temp-pad-grid-v70 button{
  border:0!important;
  border-radius:18px!important;
  padding:16px 0!important;
  background:#eef2f6!important;
  color:#101828!important;
  font-size:21px!important;
  font-weight:1000!important;
}

.temp-pad-grid-v70 button[data-key="-"]{
  background:linear-gradient(135deg,#1570ef,#28a9d6)!important;
  color:white!important;
}

.temp-pad-grid-v70 button[data-key="⌫"]{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;
  color:white!important;
}

.temp-pad-grid-v70 button[data-key="OK"]{
  background:linear-gradient(135deg,#12b76a,#039855)!important;
  color:white!important;
}

@media(max-width:420px){
  #tempKeypadV70{
    left:8px;
    right:8px;
    bottom:8px;
    border-radius:24px;
  }

  .temp-pad-grid-v70 button{
    padding:14px 0!important;
    font-size:20px!important;
  }
}

/* ===== V75 photo field safe ===== */
.photo-field-v75{
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  margin:12px 0 16px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}

.field-label-v75{
  display:block;
  font-weight:1000;
  color:#101828;
  margin-bottom:10px;
}

.camera-button-v75{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  border-radius:18px;
  padding:14px;
  background:linear-gradient(135deg,#1570ef,#28a9d6);
  color:white;
  font-weight:1000;
  cursor:pointer;
  text-align:center;
}

.camera-button-v75 input{
  display:none!important;
}

.photo-preview-v75{
  margin-top:14px;
}

.photo-preview-v75 img{
  width:100%;
  max-height:280px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 12px 28px rgba(16,24,40,.18);
}


.history-group-v80{
  margin-bottom:22px;
}

.history-group-title-v80{
  position:sticky;
  top:0;
  z-index:5;
  background:linear-gradient(135deg,#111827,#1f2937);
  color:#fff;
  padding:12px 16px;
  border-radius:14px;
  margin-bottom:12px;
  font-weight:800;
  font-size:15px;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

/* ===== V81 DLC auto + boutons contrôle huile ===== */
.huile-choice-v81,.auto-dlc-v81{
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  margin:12px 0 16px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}
.field-label-v81{font-weight:1000;color:#101828;margin-bottom:10px;}
.choice-grid-v81{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.choice-btn-v81{
  border:0!important;border-radius:16px!important;padding:14px!important;
  background:#eef2f6!important;color:#344054!important;font-weight:1000!important;
}
.choice-btn-v81.active.good{
  background:linear-gradient(135deg,#12b76a,#039855)!important;color:white!important;
  box-shadow:0 12px 24px rgba(18,183,106,.22);
}
.choice-btn-v81.active.bad{
  background:linear-gradient(135deg,#e60023,#ff6b57)!important;color:white!important;
  box-shadow:0 12px 24px rgba(230,0,35,.22);
}
.auto-dlc-v81 input[readonly]{
  background:#f8fbff!important;border:2px solid #28a9d6!important;
  color:#101828!important;font-weight:900!important;
}

/* V83 DLC visible */
.record b:first-child{letter-spacing:.1px}

/* V85 back button premium */
.back{
border:0!important;
width:46px!important;
height:46px!important;
border-radius:16px!important;
background:linear-gradient(135deg,#111827,#374151)!important;
color:#fff!important;
font-size:22px!important;
font-weight:900!important;
display:flex!important;
align-items:center!important;
justify-content:center!important;
box-shadow:0 10px 24px rgba(17,24,39,.22)!important;
transition:all .18s ease!important;
}
.back:active{
transform:scale(.92)!important;
}


/* ===== V86 correction bouton retour + labels champs ===== */
.smart-field-label-v86{
  display:block;
  font-weight:900;
  color:#101828;
  margin:8px 0 7px;
  font-size:13px;
}

.form-page .back.back-form-v86{
  width:auto!important;
  min-width:112px!important;
  height:44px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#111827,#374151)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:1000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  box-shadow:0 10px 24px rgba(17,24,39,.22)!important;
  border:0!important;
  margin-bottom:10px!important;
}

.header .back{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  border-radius:14px!important;
  font-size:22px!important;
}

.form-page .back.back-form-v86:active{
  transform:scale(.96)!important;
}

/* ===== V87 UI premium ===== */
.form-top-v87{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.logo-form-right-v87{margin-left:auto!important;transform:scale(.9)}
.login-premium-v87{min-height:100vh;background:#0f172a!important}
.login-bg-v87{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 20% 15%,rgba(230,0,35,.35),transparent 28%),radial-gradient(circle at 80% 20%,rgba(40,169,214,.32),transparent 30%),linear-gradient(135deg,#0f172a,#111827 55%,#1f2937)}
.login-card-v87{width:min(94vw,430px);background:rgba(255,255,255,.96);border-radius:32px;padding:28px 22px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.login-logo-v87{display:flex;justify-content:center;margin-bottom:12px}.login-badge-v87{display:inline-flex;background:#eef9ff;color:#1570ef;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:1000;margin-bottom:10px}
.login-card-v87 h1{margin:6px 0;font-size:30px;color:#101828}.login-card-v87 p{margin:0 0 18px;color:#667085;font-weight:700}
.input-wrap-v87{display:flex;align-items:center;gap:10px;background:#f8fbff;border:1px solid rgba(16,24,40,.08);border-radius:18px;padding:0 12px;margin:10px 0}
.input-wrap-v87 input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:16px 0!important}
.login-options-v87{display:flex;justify-content:space-between;gap:10px;margin:12px 0 18px;font-size:12px;font-weight:800;color:#475467}.login-options-v87 span{color:#e60023;cursor:pointer}
.login-main-btn-v87{width:100%;border:0;border-radius:18px;padding:16px;color:#fff;font-size:16px;font-weight:1000;background:linear-gradient(135deg,#e60023,#ff6b57);box-shadow:0 14px 30px rgba(230,0,35,.25)}
.login-footer-v87{text-align:center;margin-top:18px;color:#667085;font-size:12px;font-weight:900}
.pdf-field-v87{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid rgba(40,169,214,.22);border-radius:20px;padding:14px;margin:12px 0 16px}
.pdf-upload-btn-v87{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,#7f56d9,#1570ef);color:white;font-weight:1000;cursor:pointer}.pdf-upload-btn-v87 input{display:none!important}
.pdf-chip-v87{margin-top:10px;background:#ecfdf3;color:#027a48;border-radius:14px;padding:10px;font-weight:900}.pdf-link-v87{display:inline-flex;padding:10px 12px;border-radius:14px;background:#f4f3ff;color:#5925dc;font-weight:1000;text-decoration:none}
.install-admin-v87{width:100%;border:0;border-radius:18px;padding:15px;color:#fff;font-weight:1000;background:linear-gradient(135deg,#1570ef,#28a9d6);box-shadow:0 12px 26px rgba(21,112,239,.22);margin-bottom:18px}

/* V88 login */
.login-screen-v88{min-height:100vh;background:#fff!important}
.login-wrapper-v88{min-height:100vh;display:flex;flex-direction:column}
.login-top-v88{flex:1;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 24px;border-bottom-left-radius:34px;border-bottom-right-radius:34px;position:relative;z-index:2}
.login-logo-big-v88{margin-bottom:24px}
.login-logo-img-v88{width:180px!important;max-width:70vw!important}
.login-title-v88{font-size:62px;font-weight:1000;color:#f24d4d;letter-spacing:2px;line-height:1}
.login-subtitle-v88{margin-top:8px;font-size:26px;letter-spacing:2px;color:#8b3a3a}
.login-bottom-v88{background:#ff3f3f;padding:0 22px 34px;margin-top:-12px;flex:1;display:flex;align-items:flex-start;justify-content:center}
.login-card-v88{width:100%;max-width:390px;background:#58c2e5;border-radius:26px;padding:26px 18px 22px;box-shadow:0 20px 50px rgba(0,0,0,.18);margin-top:-12px}
.input-v88{display:flex;align-items:center;gap:10px;background:#f5efef;border-radius:999px;padding:0 16px;margin-bottom:18px;height:52px}
.input-v88 span{opacity:.6}
.input-v88 input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;color:#555!important;font-weight:800!important}
.login-row-v88{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 4px 18px;font-size:11px;color:#fff;font-weight:700}
.login-row-v88 span{cursor:pointer}
.login-btn-v88{width:100%;height:56px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff5b5b,#f24d4d);color:#fff;font-size:18px;font-weight:1000;box-shadow:0 10px 25px rgba(242,77,77,.35)}
.login-register-v88{text-align:center;margin-top:22px;color:#2d2d2d;font-size:14px;font-weight:700}
.login-register-v88 span{color:#344054;text-decoration:underline;cursor:pointer;font-weight:1000}

/* V89 bouton etiquette */
.label-print-v89{
  border:0!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  background:linear-gradient(135deg,#7f56d9,#1570ef)!important;
  color:white!important;
  font-weight:1000!important;
}

/* ===== V90 étiquette 60x30 ===== */
.label-print-v89{
  background:linear-gradient(135deg,#111827,#374151)!important;
}

/* ===== V91 PNG direct sans A4 ===== */
.label-print-v89::after{
  content:"";
}

/* ===== V92 partage MUNBYN ===== */
#munbynShareModalV92{position:fixed;inset:0;z-index:999999;background:rgba(16,24,40,.62);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}
.munbyn-card-v92{width:min(94vw,420px);background:white;border-radius:26px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.32);text-align:center}
.munbyn-title-v92{font-size:20px;font-weight:1000;color:#101828;margin-bottom:10px}
.munbyn-card-v92 p{color:#475467;font-weight:700;font-size:14px;line-height:1.35}
.munbyn-preview-v92{width:100%;border:1px solid #ddd;border-radius:14px;margin:12px 0}
.munbyn-actions-v92{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.munbyn-actions-v92 button,.munbyn-btn-v92{border:0;border-radius:16px;padding:13px;font-weight:1000;text-decoration:none;background:#eef2f6;color:#344054}
.munbyn-btn-v92{background:linear-gradient(135deg,#7f56d9,#1570ef);color:white}
.label-print-v89{background:linear-gradient(135deg,#7f56d9,#1570ef)!important}

/* V98 etiquette detaillee stable */
.label-print-v89{
  background:linear-gradient(135deg,#111827,#1570ef)!important;
}

/* ===== V102 photo unique galerie/camera OK ===== */
.camera-v29,
.camera-btn-v28,
#uploadTestBtnV25,
#postUploadTestBtnV26,
.upload-test-floating,
.upload-test-floating-v26{
  display:none!important;
}

.photo-clean-v102{
  background:linear-gradient(135deg,#ffffff,#f7fcff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:22px;
  padding:16px;
  margin:14px 0 18px;
  box-shadow:0 12px 30px rgba(16,24,40,.08);
}

.photo-title-v102{
  font-size:18px;
  font-weight:1000;
  color:#101828;
  margin-bottom:12px;
}

.photo-blue-v102{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  border-radius:18px;
  padding:15px;
  background:linear-gradient(135deg,#1570ef,#28a9d6);
  color:white;
  font-weight:1000;
  cursor:pointer;
  text-align:center;
}

.photo-blue-v102 input{
  display:none!important;
}

.photo-preview-clean-v102{
  margin-top:12px;
}

.photo-preview-clean-v102 img{
  width:100%;
  max-height:280px;
  object-fit:cover;
  border-radius:16px;
  border:2px solid #12b76a;
}

/* ===== V104 boutons Matin / Soir / Maintenant ===== */
.temp-period-v104{
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  margin:12px 0 16px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}

.field-label-v104{
  font-weight:1000;
  color:#101828;
  margin-bottom:10px;
}

.period-buttons-v104{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}

.period-btn-v104{
  border:0!important;
  border-radius:15px!important;
  padding:13px 8px!important;
  background:#eef2f6!important;
  color:#344054!important;
  font-weight:1000!important;
  font-size:13px!important;
}

.period-btn-v104.active{
  background:linear-gradient(135deg,#1570ef,#28a9d6)!important;
  color:white!important;
  box-shadow:0 10px 22px rgba(21,112,239,.22);
}

.period-value-v104{
  margin-top:10px;
  background:#f8fbff;
  border-radius:12px;
  padding:9px;
  color:#475467;
  font-weight:900;
  font-size:13px;
}

@media(max-width:390px){
  .period-buttons-v104{
    grid-template-columns:1fr;
  }
}

/* ===== V105 température single block ===== */
.temp-single-block-v105{
  background:linear-gradient(135deg,#ffffff,#eef9ff);
  border:1px solid rgba(40,169,214,.22);
  border-radius:20px;
  padding:14px;
  margin:12px 0 16px;
  box-shadow:0 10px 24px rgba(18,38,63,.08);
}

.field-label-v105{
  font-weight:1000;
  color:#101828;
  margin-bottom:10px;
}

.period-buttons-v105{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.period-btn-v105{
  border:0!important;
  border-radius:15px!important;
  padding:14px!important;
  background:#eef2f6!important;
  color:#344054!important;
  font-weight:1000!important;
}

.period-btn-v105.active{
  background:linear-gradient(135deg,#1570ef,#28a9d6)!important;
  color:white!important;
  box-shadow:0 10px 22px rgba(21,112,239,.22);
}

.period-value-v105{
  margin-top:10px;
  background:#f8fbff;
  border-radius:12px;
  padding:9px;
  color:#475467;
  font-weight:900;
  font-size:13px;
}


/* ===== V107 ADMIN PREMIUM CSS ===== */
.admin-premium-v107{background:#f4f7fb!important;min-height:100vh}
.admin-shell-v107{max-width:1180px;margin:0 auto;padding:18px}
.admin-hero-v107{background:linear-gradient(135deg,#101828,#1d2939 55%,#1570ef);color:#fff;border-radius:28px;padding:24px;display:flex;justify-content:space-between;gap:18px;box-shadow:0 24px 60px rgba(16,24,40,.22)}
.admin-hero-v107 span{display:inline-flex;background:rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:1000}
.admin-hero-v107 h1{font-size:34px;margin:8px 0 6px}.admin-hero-v107 p{margin:0;color:rgba(255,255,255,.75);font-weight:800}
.admin-hero-actions-v107{display:flex;gap:10px;flex-wrap:wrap}.admin-hero-actions-v107 button{border:0;border-radius:16px;padding:12px 14px;font-weight:1000;background:#fff;color:#101828}
.admin-stats-v107{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.admin-stats-v107 div{background:#fff;border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(16,24,40,.08)}.admin-stats-v107 small{color:#667085;font-weight:900}.admin-stats-v107 b{display:block;font-size:32px;margin-top:6px;color:#101828}
.admin-panel-v107{background:#fff;border-radius:28px;padding:20px;margin-bottom:18px;box-shadow:0 16px 45px rgba(16,24,40,.08)}.admin-panel-v107 h2{margin:0 0 8px;color:#101828}
.admin-form-v107{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-form-v107 input,.admin-tools-v107 input,.admin-tools-v107 select{border:1px solid rgba(16,24,40,.10)!important;background:#f8fbff!important;border-radius:16px!important;padding:14px!important;font-weight:800!important;box-shadow:none!important}
.admin-create-v107{margin-top:14px;width:100%;border:0;border-radius:18px;padding:15px;font-weight:1000;color:white;background:linear-gradient(135deg,#e60023,#ff6b57)}
.admin-toolbar-v107{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-toolbar-v107 p{margin:0;color:#667085;font-weight:800}.admin-tools-v107{display:grid;grid-template-columns:minmax(210px,1fr) 150px 90px;gap:10px}.admin-tools-v107 button{border:0;border-radius:16px;font-weight:1000}
.admin-list-v107{display:grid;gap:12px}.admin-card-restaurant-v107{display:flex;gap:14px;background:linear-gradient(135deg,#fff,#f9fbff);border:1px solid rgba(16,24,40,.08);border-radius:22px;padding:16px}.admin-avatar-v107{width:52px;height:52px;min-width:52px;border-radius:18px;background:linear-gradient(135deg,#1570ef,#28a9d6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:1000}.admin-info-v107{flex:1;min-width:0}
.admin-title-v107{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-title-v107 b{font-size:18px;color:#101828}.admin-title-v107 span{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:1000}.admin-title-v107 .active{background:#ecfdf3;color:#027a48}.admin-title-v107 .inactive{background:#fff1f3;color:#c01048}
.admin-meta-v107{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;color:#475467;font-size:13px;font-weight:800;margin-top:8px}.admin-meta-v107 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pass-v107{margin-top:10px;background:#f2f4f7;border-radius:14px;padding:9px 11px;font-size:13px;font-weight:800}.admin-actions-v107{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.admin-actions-v107 button{border:0;border-radius:15px;padding:11px 14px;font-weight:1000;background:#eef4ff;color:#1570ef}.admin-actions-v107 .danger{background:#fff1f3;color:#e60023}
.admin-pagination-v107{margin-top:16px;display:flex;justify-content:center;align-items:center;gap:10px}.admin-pagination-v107 button{border:0;border-radius:14px;padding:11px 14px;background:#101828;color:#fff;font-weight:1000}.admin-pagination-v107 button:disabled{opacity:.35}.admin-pagination-v107 span{font-weight:1000}.admin-empty-v107{text-align:center;padding:30px;background:#f8fbff;border-radius:22px;color:#475467;font-weight:900}
@media(max-width:760px){.admin-shell-v107{padding:12px}.admin-hero-v107,.admin-toolbar-v107{flex-direction:column}.admin-stats-v107{grid-template-columns:repeat(2,1fr)}.admin-form-v107,.admin-meta-v107{grid-template-columns:1fr}.admin-tools-v107{grid-template-columns:1fr}.admin-card-restaurant-v107{flex-direction:column}.admin-actions-v107{flex-direction:column}.admin-actions-v107 button{width:100%}}
