*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --green:#009640;
  --green-dark:#007d35;
  --green-soft:#e8f7ee;
  --text:#1f2933;
  --muted:#737373;
  --input:#e9e9e9;
  --bg:#ffffff;
  --line:#e4e4e4;
  --shadow:0 14px 35px rgba(31,45,61,.08);
}
html,body{
  width:100%;
  min-height:100%;
  margin:0;
  background:#fff;
  font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
  color:var(--text);
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  overscroll-behavior:none;
}
body{
  overflow-x:hidden;
}
body.appInputDialogOpen{
  overflow:hidden !important;
  touch-action:none;
  overscroll-behavior:none;
}
button,input,select,textarea{
  font-family:'Source Sans Pro', Arial, Helvetica, sans-serif;
}
input,textarea,select{font-size:16px}
.app{
  width:100%;
  max-width:620px;
  min-height:100vh;
  margin:0 auto;
  background:#fff;
  position:relative;
}
.loginPage{
  min-height:100vh;
  background:#fff;
  position:relative;
  overflow:hidden;
  padding:42px 13px 86px;
}
.loginBg{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:500px;
  background:url('../images/background_linhas.png') top center no-repeat;
  opacity:1;
  z-index:0;
  pointer-events:none;
}
.loginContent{
  position:relative;
  z-index:1;
}
.loginLogo{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:80px;
  margin-bottom:80px;
}
.loginLogo img{
  width:460px;
  max-width:86%;
  height:auto;
  display:block;
}
.loginForm{
  width:100%;
}
.loginInput{
  width:100%;
  height:53px;
  background:var(--input);
  border:0;
  border-radius:10px;
  padding:0 12px;
  outline:none;
  color:#333;
  margin-bottom:14px;
  font-size:16px;
}
.loginInput::placeholder{
  color:#555;
}
.loginBtn{
  width:100%;
  height:54px;
  background:var(--green);
  color:#fff;
  border:0;
  border-radius:10px;
  font-weight:700;
  font-size:22px;
  cursor:pointer;
}
.loginBtn:active{
  background:var(--green-dark);
  transform:scale(.995);
}
.loginFooter{
  position:absolute;
  left:13px;
  right:13px;
  bottom:24px;
  z-index:2;
  text-align:center;
  color:#737373;
  font-size:16px;
  line-height:1.45;
}
.loginFooter a{
  color:#737373;
}
.loginFooterLogo{
  display:block;
  margin:8px auto 0;
  max-width:205px;
  height:auto;
}
.apiConfigBox{
  margin-top:18px;
  background:rgba(255,255,255,.92);
  border:1px solid #d6e2ec;
  border-radius:14px;
  padding:16px 14px 14px;
  box-shadow:0 8px 22px rgba(13,92,151,.08);
}

.apiConfigBox h1{
  font-size:22px;
  line-height:1.15;
  margin:0 0 8px;
  color:#152d3f;
  font-weight:700;
  letter-spacing:-.2px;
}

.apiConfigBox p{
  font-size:13px;
  line-height:1.45;
  color:#5f7182;
  margin:0 0 15px;
}

.configField{
  width:100%;
  margin-bottom:12px;
}

.configField label{
  display:block;
  width:100%;
  font-size:15px;
  line-height:1.25;
  color:#263846;
  font-weight:600;
  margin:0 0 6px;
}

.configField input,
.configInput{
  width:100%;
  height:44px;
  background:#fff;
  border:1px solid #d8dfe5;
  border-radius:10px;
  padding:0 12px;
  outline:none;
  color:#333;
  font-size:16px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.configField input:focus,
.configInput:focus{
  border-color:#8fb8d8;
  box-shadow:0 0 0 3px rgba(13,92,151,.10), inset 0 1px 2px rgba(0,0,0,.04);
  background:#fff;
}

.configField input::placeholder,
.configInput::placeholder{
  color:#8a99a8;
}

.configBtn{
  width:100%;
  height:49px;
  background:var(--green);
  color:#fff;
  border:0;
  border-radius:10px;
  font-weight:700;
  font-size:17px;
  box-shadow:0 7px 16px rgba(0,150,64,.22);
}

.configBtn:active{
  background:var(--green-dark);
  transform:scale(.995);
}
.configLink{
  display:block;
  text-align:center;
  margin-top:14px;
  color:#737373;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 4px 16px rgba(0,0,0,.07);
}
.toprow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logoSmall{font-size:22px;font-weight:700;color:#111}
.logoSmall b{color:var(--green)}
.userBox{text-align:right;font-size:11px;line-height:1.25;font-weight:700;color:#333}
.userBox span{display:block;color:var(--green);font-weight:700;margin-top:3px}
.content{padding:16px;background:#eef3f8;min-height:calc(100vh - 64px)}
.title{font-size:26px;font-weight:700;margin:0;color:#1e2c39;letter-spacing:-.4px}
.sub{font-size:13px;line-height:1.5;color:#708092;margin-top:6px}
.card{background:#fff;border:1px solid #dce5ee;border-radius:22px;padding:15px;box-shadow:var(--shadow);margin-bottom:12px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700}
.ok{background:#e9f8ef;color:#1f9d57}
.info{background:#e9f3fb;color:#0d5c97}
.wait{background:#fff6df;color:#c68a00}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.kpi{background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:12px}
.kpi small{display:block;font-size:10px;text-transform:uppercase;font-weight:700;color:#7c8da0}
.kpi strong{display:block;margin-top:4px;font-size:22px;letter-spacing:-.4px}
.listItem{padding:12px;border:1px solid #dce5ee;border-radius:16px;background:#fff;margin-top:10px}
.listItem strong{display:block;font-size:14px}
.listItem span{display:block;color:#708092;font-size:12px;margin-top:4px;line-height:1.45}
.footer{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:620px;height:74px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);z-index:40;box-shadow:0 -8px 24px rgba(0,0,0,.11)}
.navbtn{border:0;background:none;color:#747474;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.navbtn .ico{font-size:20px;line-height:1;color:var(--green)}
.navbtn .txt{font-size:11px;font-weight:700}
.navbtn.active .ico,.navbtn.active .txt{color:var(--green-dark)}
.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--green);font-size:15px;font-weight:700;background:#fff}
#toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);max-width:420px;width:calc(100% - 32px);background:#1f2937;color:#fff;padding:13px 14px;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.25);font-size:13px;font-weight:700;z-index:100;opacity:0;pointer-events:none;transition:.22s}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hidden{display:none!important}
@media (max-height:760px){
  .loginPage{padding-top:28px}
  .loginLogo{margin-bottom:70px}
  .loginLogo img{max-width:78%}
  .loginFooter{font-size:13px;bottom:14px}
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea{
  background:#fff;
  border:1px solid #d8dfe5;
  border-radius:10px;
  color:#333;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus{
  border-color:#8fb8d8;
  box-shadow:0 0 0 3px rgba(13,92,151,.10), inset 0 1px 2px rgba(0,0,0,.04);
}
.pwaStatusBox{
  margin-top:12px;
  background:rgba(255,255,255,.92);
  border:1px solid #d6e2ec;
  border-radius:14px;
  padding:13px;
  box-shadow:0 8px 22px rgba(13,92,151,.06);
}
.pwaStatusBoxInternal{
  margin-top:14px;
  margin-bottom:14px;
}
.pwaStatusTitle{
  font-size:14px;
  font-weight:700;
  color:#152d3f;
  margin-bottom:10px;
}
.pwaStatusGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.pwaStatusItem{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:11px;
  padding:9px 10px;
  min-height:58px;
}
.pwaStatusItem span{
  display:block;
  font-size:11px;
  line-height:1.1;
  color:#708092;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.pwaStatusItem strong{
  display:block;
  margin-top:5px;
  font-size:14px;
  line-height:1.2;
  color:#263846;
  font-weight:700;
}
.pwaStatusItem strong.okText{color:#009640}
.pwaStatusItem strong.waitText{color:#c68a00}
.pwaStatusItem strong.errorText{color:#c0392b}
@media (max-width:380px){
  .pwaStatusGrid{grid-template-columns:1fr}
}
.apiFooterUrl{
  width:100%;
  max-width:100%;
  margin-bottom:8px;
  padding:7px 9px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(216,223,229,.9);
  border-radius:10px;
  color:#5f7182;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.apiFooterUrl span{
  color:#263846;
  font-weight:700;
}
.apiUrlCard{
  margin:0 0 14px;
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:16px;
  padding:12px;
  box-shadow:var(--shadow);
}
.apiUrlCard span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  color:#7c8da0;
  letter-spacing:.2px;
}
.apiUrlCard strong{
  display:block;
  margin-top:4px;
  color:#263846;
  font-size:13px;
  line-height:1.35;
  word-break:break-all;
}
.loginBtn:disabled,
.configBtn:disabled{
  opacity:.72;
  cursor:wait;
}


.menuSearchMock{
  width:100%;
  min-height:44px;
  margin-top:12px;
  border:1px solid #d8dfe5;
  border-radius:10px;
  background:#fff;
  color:#8a99a8;
  display:flex;
  align-items:center;
  padding:0 12px;
  font-size:16px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
}

.content{
  padding-bottom:96px;
}

.footer{
  grid-template-columns:repeat(5,1fr);
}

.navbtn .ico{
  font-size:19px;
}

.navbtn .txt{
  font-size:10px;
}

@media (max-width:360px){
  .navbtn .txt{font-size:9px}
  .navbtn .ico{font-size:18px}
}


.appTopbar{
  background:#fff;
  padding:10px 14px;
}

.appTopbar .toprow{
  min-height:44px;
}

.topMenuBtn{
  width:42px;
  height:42px;
  border:0;
  background:#f5f8f6;
  border-radius:13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
}

.topMenuBtn span{
  width:20px;
  height:2px;
  background:#009640;
  border-radius:99px;
  display:block;
}

.topLogoImg{
  height:36px;
  max-width:215px;
  object-fit:contain;
  display:block;
}

.topRightStatus{
  min-width:54px;
  display:flex;
  justify-content:flex-end;
}

.topRightStatus span{
  display:inline-flex;
  height:28px;
  align-items:center;
  padding:0 9px;
  background:#e8f7ee;
  color:#009640;
  border-radius:99px;
  font-size:11px;
  font-weight:700;
}

.sideMenuOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.32);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
  z-index:120;
}

.sideMenuPanel{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  width:82%;
  max-width:360px;
  background:#fff;
  z-index:121;
  transform:translateX(-104%);
  transition:transform .26s ease;
  box-shadow:18px 0 35px rgba(0,0,0,.18);
  padding:18px 16px 24px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.sideMenuOpen .sideMenuOverlay{
  opacity:1;
  pointer-events:auto;
}

.sideMenuOpen .sideMenuPanel{
  transform:translateX(0);
}

.sideMenuHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:16px;
  border-bottom:1px solid #e6edf2;
}

.sideMenuHeader img{
  height:38px;
  max-width:220px;
  object-fit:contain;
}

.sideMenuClose{
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#f4f7fa;
  color:#263846;
  font-size:28px;
  line-height:1;
}

.sideMenuUser{
  padding:16px 0 12px;
}

.sideMenuUser strong{
  display:block;
  font-size:18px;
  color:#152d3f;
  line-height:1.25;
}

.sideMenuUser span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:13px;
  line-height:1.35;
}

.sideMenuStatus{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:10px;
}

.sideMenuStatus div{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:13px;
  padding:10px;
}

.sideMenuStatus span,
.sideMenuApi span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  color:#7c8da0;
  letter-spacing:.2px;
}

.sideMenuStatus strong{
  display:block;
  margin-top:4px;
  color:#009640;
  font-size:15px;
}

.sideMenuApi{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:13px;
  padding:10px;
  margin-bottom:16px;
}

.sideMenuApi strong{
  display:block;
  margin-top:4px;
  color:#263846;
  font-size:12px;
  line-height:1.35;
  word-break:break-all;
}

.sideMenuNav{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sideMenuNav button{
  width:100%;
  min-height:52px;
  border:1px solid #e1e8ef;
  background:#fff;
  border-radius:15px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 13px;
  text-align:left;
  color:#263846;
  font-weight:700;
  box-shadow:0 6px 16px rgba(13,92,151,.04);
}

.sideMenuNav button i{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#e8f7ee;
  color:#009640;
  display:flex;
  align-items:center;
  justify-content:center;
  font-style:normal;
  font-size:18px;
  flex:0 0 auto;
}

.sideMenuNav button span{
  flex:1;
  font-size:15px;
}

.syncHeroCard{
  margin-top:14px;
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:20px;
  padding:15px;
  box-shadow:var(--shadow);
  display:flex;
  gap:13px;
  align-items:flex-start;
}

.syncHeroIcon{
  width:48px;
  height:48px;
  border-radius:16px;
  background:#e8f7ee;
  color:#009640;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:700;
  flex:0 0 auto;
}

.syncHeroCard strong{
  display:block;
  color:#152d3f;
  font-size:16px;
  line-height:1.25;
}

.syncHeroCard span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:13px;
  line-height:1.45;
}

.syncGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
}

.syncBox{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:17px;
  padding:13px;
  box-shadow:var(--shadow);
}

.syncBox small{
  display:block;
  color:#7c8da0;
  text-transform:uppercase;
  font-weight:700;
  font-size:10px;
}

.syncBox strong{
  display:block;
  margin-top:4px;
  color:#152d3f;
  font-size:26px;
  line-height:1;
}

.syncBox span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:12px;
}

@media (max-width:380px){
  .topLogoImg{
    max-width:180px;
    height:32px;
  }

  .topRightStatus span{
    font-size:10px;
    padding:0 7px;
  }

  .sideMenuPanel{
    width:86%;
  }
}


/* Correções menu/topo v2 */
.appTopbar{
  z-index:60;
}

.topMenuBtn{
  cursor:pointer;
}

.content{
  padding-bottom:104px;
}

#sideMenuSlot{
  position:relative;
  z-index:120;
}

.sideMenuPanel,
.sideMenuOverlay{
  will-change:transform, opacity;
}

.footer{
  z-index:80;
}

/* Em telas grandes, mantém a prévia com largura mobile/tablet sem estourar layout */
@media (min-width:700px){
  body{
    background:#eef3f8;
  }
  .app{
    max-width:460px;
    box-shadow:0 0 0 1px rgba(0,0,0,.05);
  }
  .footer{
    max-width:460px;
  }
}


/* Tela de sincronização de dados */
.syncMainCard{
  margin-top:14px;
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:20px;
  padding:15px;
  box-shadow:var(--shadow);
}

.syncMainHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.syncMainHeader strong{
  display:block;
  font-size:17px;
  color:#152d3f;
  line-height:1.25;
}

.syncMainHeader span{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#708092;
  line-height:1.4;
}

.syncTotalProgress{
  margin:14px 0;
}

.syncProgressInfo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

.syncProgressInfo span{
  font-size:12px;
  color:#708092;
  font-weight:700;
}

.syncProgressInfo strong{
  color:#009640;
  font-size:14px;
}

.syncProgressBar{
  width:100%;
  height:9px;
  background:#eef3f8;
  border-radius:99px;
  overflow:hidden;
}

.syncProgressBar i{
  display:block;
  width:0%;
  height:100%;
  background:linear-gradient(90deg,#009640,#20b15a);
  border-radius:99px;
  transition:width .25s ease;
}

.syncModuleList{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
}

.syncModuleCard{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:14px;
  box-shadow:var(--shadow);
}

.syncModuleCard.syncRunning{
  border-color:#8fb8d8;
}

.syncModuleCard.syncDone{
  border-color:#bfe6cd;
  background:#fbfffc;
}

.syncModuleCard.syncError{
  border-color:#f2b9b9;
}

.syncModuleTop{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:12px;
}

.syncModuleIcon{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#e8f7ee;
  color:#009640;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex:0 0 auto;
}

.syncModuleTop strong{
  display:block;
  color:#152d3f;
  font-size:16px;
  line-height:1.25;
}

.syncModuleTop span{
  display:block;
  margin-top:3px;
  color:#708092;
  font-size:12px;
  line-height:1.35;
}

.syncModuleFooter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
}

.syncModuleFooter span{
  font-size:13px;
  color:#263846;
  font-weight:700;
}

.syncModuleFooter small{
  font-size:11px;
  color:#708092;
  text-align:right;
}

.syncLogBox{
  margin:0 0 14px;
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:14px;
  box-shadow:var(--shadow);
}

.syncLog{
  margin-top:10px;
  max-height:180px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.syncLogLine{
  padding:8px 0;
  border-bottom:1px solid #eef3f8;
  font-size:12px;
  line-height:1.35;
  color:#526273;
}

.syncLogLine:first-child{
  color:#263846;
  font-weight:700;
}

.configBtn:disabled{
  opacity:.7;
  cursor:wait;
}


/* Clientes e Produtos - listas locais */
.localListStats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0 12px;
}

.localListStats div{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:17px;
  padding:13px;
  box-shadow:var(--shadow);
}

.localListStats small{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  color:#7c8da0;
  letter-spacing:.2px;
}

.localListStats strong{
  display:block;
  margin-top:4px;
  color:#152d3f;
  font-size:25px;
  line-height:1;
}

.searchPanel{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:12px;
  box-shadow:var(--shadow);
  margin-bottom:12px;
}

.searchInputWrap{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f7fafc;
  border:1px solid #d8dfe5;
  border-radius:13px;
  padding:0 11px;
  height:47px;
}

.searchInputWrap span{
  font-size:16px;
  color:#009640;
}

.searchInputWrap input{
  flex:1;
  width:100%;
  height:44px;
  border:0;
  background:transparent;
  outline:none;
  color:#263846;
  font-size:16px;
}

.searchHint{
  margin-top:8px;
  font-size:12px;
  color:#708092;
  line-height:1.35;
}

.localList{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.localItem{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:17px;
  padding:13px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
}

.localItem:active{
  transform:scale(.995);
}

.localItemMain{
  min-width:0;
  flex:1;
}

.localItemMain strong{
  display:block;
  color:#152d3f;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
}

.localItemMain span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:12px;
  line-height:1.35;
  word-break:break-word;
}

.localItemMeta{
  flex:0 0 auto;
  max-width:42%;
  text-align:right;
}

.localItemMeta span{
  display:block;
  color:#263846;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}

.localItemMeta small{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:11px;
  line-height:1.25;
}

.localItemMetaRight span{
  color:#009640;
  font-size:14px;
}

.loadMoreBox{
  margin:13px 0 14px;
}

.emptyLocalList{
  background:#fff;
  border:1px dashed #cfd9e3;
  border-radius:17px;
  padding:18px;
  text-align:center;
  color:#708092;
  font-size:13px;
  line-height:1.45;
}

.detailModal{
  position:fixed;
  inset:0;
  z-index:180;
  display:none;
}

.detailModal.open{
  display:block;
}

.detailOverlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.38);
}

.detailPanel{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100%;
  max-width:620px;
  max-height:88vh;
  background:#fff;
  border-radius:24px 24px 0 0;
  box-shadow:0 -18px 45px rgba(0,0,0,.18);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.detailHeader{
  padding:16px;
  border-bottom:1px solid #e6edf2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.detailHeader strong{
  display:block;
  color:#152d3f;
  font-size:17px;
  line-height:1.25;
  font-weight:700;
}

.detailHeader span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:12px;
  line-height:1.35;
}

.detailHeader button{
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#f4f7fa;
  color:#263846;
  font-size:28px;
  line-height:1;
  flex:0 0 auto;
}

.detailBody{
  padding:14px 16px 26px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.detailSection{
  margin-bottom:15px;
}

.detailSection h3{
  margin:0 0 9px;
  color:#009640;
  font-size:13px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.3px;
  font-weight:700;
}

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

.detailField{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:13px;
  padding:10px;
}

.detailField span{
  display:block;
  color:#7c8da0;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.2px;
}

.detailField strong{
  display:block;
  margin-top:4px;
  color:#263846;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  word-break:break-word;
}

@media (min-width:520px){
  .detailGrid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:380px){
  .localItem{
    flex-direction:column;
  }

  .localItemMeta{
    max-width:100%;
    text-align:left;
  }
}


/* Sincronização - grupos acessórios */
.syncModuleCard .syncModuleTop strong{
  max-width:100%;
}

.syncGrid{
  grid-template-columns:1fr 1fr;
}

.syncGrid .syncBox:last-child:nth-child(odd){
  grid-column:1 / -1;
}


/* Travamento durante sincronização */
.syncLocked .footer,
.syncLocked .topMenuBtn,
.syncLocked [data-menu-open]{
  pointer-events:none;
  opacity:.45;
}

.syncLocked .sideMenuPanel,
.syncLocked .sideMenuOverlay{
  pointer-events:none;
}

.syncLockNotice{
  position:fixed;
  left:50%;
  bottom:84px;
  transform:translateX(-50%);
  width:calc(100% - 28px);
  max-width:590px;
  z-index:300;
  background:#152d3f;
  color:#fff;
  border-radius:15px;
  padding:12px 14px;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.syncLockNotice strong{
  font-size:13px;
  line-height:1.25;
}

.syncLockNotice span{
  font-size:12px;
  line-height:1.25;
  color:#d7e2ec;
  text-align:right;
}

.syncLocked #btnIniciarSync{
  opacity:.75;
}

@media (max-width:380px){
  .syncLockNotice{
    align-items:flex-start;
    flex-direction:column;
  }

  .syncLockNotice span{
    text-align:left;
  }
}


/* Status online/offline no topo */
.topRightStatus span.onlineStatus{
  background:#e8f7ee;
  color:#009640;
}

.topRightStatus span.offlineStatus{
  background:#ffe8e8;
  color:#d93025;
  box-shadow:0 0 0 2px rgba(217,48,37,.08);
  animation:offlinePulse 1.4s ease-in-out infinite;
}

.sideMenuStatus strong.onlineStatus{
  color:#009640;
}

.sideMenuStatus strong.offlineStatus{
  color:#d93025;
}

@keyframes offlinePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.04)}
}

/* Erro explícito em módulo de sincronização */
.syncModuleCard.syncError{
  border-color:#e53935!important;
  background:#fff5f5!important;
  box-shadow:0 10px 24px rgba(229,57,53,.12)!important;
}

.syncModuleCard.syncError .syncModuleIcon{
  background:#ffe8e8!important;
  color:#d93025!important;
}

.syncModuleCard.syncError .syncModuleTop strong{
  color:#b3261e!important;
}

.syncModuleCard.syncError .syncModuleTop span,
.syncModuleCard.syncError .syncModuleFooter span,
.syncModuleCard.syncError .syncModuleFooter small{
  color:#b3261e!important;
}

.syncModuleCard.syncError .syncProgressBar i{
  background:linear-gradient(90deg,#d93025,#ff6b61)!important;
}

.errorBadge{
  background:#ffe8e8!important;
  color:#d93025!important;
}


/* Vendas do vendedor na sincronização */
#syncCardVendas .syncModuleIcon{
  background:#e9f3fb;
  color:#0d5c97;
}


/* Dashboard inicial força de vendas */
.dashboardContent{
  padding-bottom:104px;
}

.dashGreeting{
  background:linear-gradient(135deg,#ffffff,#eefaf3);
  border:1px solid #dce5ee;
  border-radius:22px;
  padding:15px;
  box-shadow:var(--shadow);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.dashGreeting span{
  display:block;
  color:#009640;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.dashGreeting h1{
  margin:4px 0 2px;
  color:#152d3f;
  font-size:24px;
  line-height:1.15;
  font-weight:700;
}

.dashGreeting small{
  display:block;
  color:#708092;
  font-size:13px;
  line-height:1.35;
}

.dashSyncBtn{
  width:44px;
  height:44px;
  border:0;
  border-radius:15px;
  background:#009640;
  color:#fff;
  font-size:23px;
  font-weight:700;
  flex:0 0 auto;
  box-shadow:0 8px 18px rgba(0,150,64,.22);
}

.dashKpis{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}

.dashKpi{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:13px;
  box-shadow:var(--shadow);
}

.dashKpi small{
  display:block;
  color:#7c8da0;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.25px;
}

.dashKpi strong{
  display:block;
  margin-top:5px;
  color:#152d3f;
  font-size:22px;
  line-height:1;
  font-weight:700;
}

.dashKpi span{
  display:block;
  margin-top:5px;
  color:#708092;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}

.dashKpi.danger strong,
.dashKpi.danger span{
  color:#d93025;
}

.dashSection{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:22px;
  padding:14px;
  box-shadow:var(--shadow);
  margin-bottom:12px;
}

.dashSectionTitle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.dashSectionTitle strong{
  display:block;
  color:#152d3f;
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}

.dashSectionTitle span{
  display:block;
  color:#708092;
  font-size:12px;
  line-height:1.35;
  margin-top:2px;
}

.dashTag{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:26px;
  padding:0 9px;
  border-radius:999px;
  background:#e9f3fb;
  color:#0d5c97!important;
  font-size:12px!important;
  font-weight:700;
}

.dashTag.danger{
  background:#ffe8e8;
  color:#d93025!important;
}

.dashList{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.dashListItem{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:15px;
  padding:11px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
}

.dashListItem:active{
  transform:scale(.995);
}

.dashListMain{
  min-width:0;
  flex:1;
}

.dashListMain strong{
  display:block;
  color:#263846;
  font-size:14px;
  line-height:1.25;
  font-weight:700;
}

.dashListMain span{
  display:block;
  margin-top:3px;
  color:#708092;
  font-size:12px;
  line-height:1.3;
}

.dashListSide{
  max-width:42%;
  text-align:right;
  flex:0 0 auto;
}

.dashListSide strong{
  display:block;
  color:#009640;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}

.dashListSide span{
  display:block;
  margin-top:3px;
  color:#708092;
  font-size:11px;
  line-height:1.2;
}

.dashListSide.danger strong,
.dashListSide.danger span{
  color:#d93025;
}

.dashEmpty{
  border:1px dashed #cfd9e3;
  border-radius:15px;
  padding:14px;
  text-align:center;
  color:#708092;
  font-size:13px;
  line-height:1.45;
}

/* Financeiro na sincronização */
#syncCardFinanceiro .syncModuleIcon{
  background:#fff5df;
  color:#c78100;
}


/* Ajustes detalhes cliente/produto */
.inactiveName{
  color:#d93025!important;
}

.statusBlue{
  color:#0d5c97!important;
}

.statusRed{
  color:#d93025!important;
}


/* Estoque online no detalhe do produto */
.stockBox{
  width:100%;
}

.loadingStock,
.stockEmpty{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:13px;
  padding:12px;
  color:#708092;
  font-size:13px;
  line-height:1.35;
}

.stockTable{
  border:1px solid #e1e8ef;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.stockRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:11px;
  border-bottom:1px solid #eef3f8;
}

.stockRow div{
  min-width:0;
}

.stockRow strong{
  display:block;
  color:#263846;
  font-size:13px;
  line-height:1.25;
}

.stockRow span{
  display:block;
  margin-top:3px;
  color:#708092;
  font-size:12px;
  line-height:1.25;
}

.stockRow b{
  color:#009640;
  font-size:14px;
  white-space:nowrap;
}

.stockTotals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:#f7fafc;
}

.stockTotals div{
  padding:11px;
}

.stockTotals div:first-child{
  border-right:1px solid #e1e8ef;
}

.stockTotals span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  color:#7c8da0;
  font-weight:700;
}

.stockTotals strong{
  display:block;
  margin-top:4px;
  color:#152d3f;
  font-size:15px;
}

.errorText{
  color:#d93025!important;
}


/* Fotos do produto no detalhe */
.productPhotosBox{
  margin-bottom:15px;
}

.loadingPhotos{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:16px;
  padding:14px;
  color:#708092;
  font-size:13px;
  line-height:1.35;
}

.productPhotoCarousel{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:18px;
  padding:10px;
  overflow:hidden;
}

.productPhotoTrack{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.productPhotoTrack::-webkit-scrollbar{
  display:none;
}

.productPhotoSlide{
  position:relative;
  flex:0 0 100%;
  height:260px;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  scroll-snap-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.productPhotoSlide img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.productPhotoSlide span{
  position:absolute;
  right:10px;
  bottom:10px;
  background:rgba(21,45,63,.82);
  color:#fff;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:700;
}

.productPhotoThumbs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-top:10px;
  -webkit-overflow-scrolling:touch;
}

.productPhotoThumbs button{
  width:54px;
  height:54px;
  flex:0 0 auto;
  border:1px solid #d7e1ea;
  border-radius:12px;
  background:#fff;
  padding:2px;
  overflow:hidden;
}

.productPhotoThumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:9px;
  display:block;
}

@media (max-width:380px){
  .productPhotoSlide{
    height:220px;
  }
}


/* Tela de pedidos */
.pedidosContent{
  padding-bottom:104px;
}

.pedidosStats{
  grid-template-columns:1fr 1fr;
}

.pedidosStats div:nth-child(2) strong{
  font-size:18px;
  color:#009640;
  line-height:1.15;
}

.pedidoFilterRow{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-top:10px;
  -webkit-overflow-scrolling:touch;
}

.pedidoFilter{
  height:34px;
  border:1px solid #d8dfe5;
  background:#fff;
  color:#607184;
  border-radius:999px;
  padding:0 13px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.pedidoFilter.active{
  background:#009640;
  border-color:#009640;
  color:#fff;
}

.pedidosList{
  gap:10px;
}

.pedidoCard{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:13px;
  box-shadow:var(--shadow);
}

.pedidoCardTop{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.pedidoCliente{
  min-width:0;
  flex:1;
}

.pedidoCliente strong{
  display:block;
  color:#152d3f;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
}

.pedidoCliente span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:12px;
  line-height:1.35;
}

.pedidoValor{
  flex:0 0 auto;
  max-width:39%;
  text-align:right;
}

.pedidoValor strong{
  display:block;
  color:#009640;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
}

.pedidoValor span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:11px;
  line-height:1.2;
}

.pedidoCardBottom{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:11px;
}

.pedidoChip{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  border-radius:999px;
  padding:0 9px;
  background:#eef3f8;
  color:#526273;
  font-size:11px;
  font-weight:700;
}

.pedidoChip.okChip{
  background:#e8f7ee;
  color:#009640;
}

.pedidoChip.warnChip{
  background:#fff6df;
  color:#c78100;
}

@media (max-width:380px){
  .pedidoCardTop{
    flex-direction:column;
  }

  .pedidoValor{
    max-width:100%;
    text-align:left;
  }
}


/* Status dos pedidos */
.pedidoChip.statusPendente{background:#fff6df;color:#b26a00}
.pedidoChip.statusAtendido{background:#e9f3fb;color:#0d5c97}
.pedidoChip.statusFaturado{background:#e8f7ee;color:#009640}
.pedidoChip.statusCancelado{background:#ffe8e8;color:#d93025}
.pedidoChip.statusBloqueado{background:#f1e8ff;color:#6b35b6}
.pedidoChip.statusSeparacao{background:#e8fbff;color:#007b8f}
.pedidoChip.statusIndefinido{background:#eef3f8;color:#526273}
.pedidoChip.condicaoChip{max-width:100%;white-space:normal;text-align:left}

/* Detalhe do pedido */
.pedidoDetailPanel{
  max-height:92vh;
}

.pedidoHero{
  background:linear-gradient(135deg,#152d3f,#0d5c97);
  border-radius:20px;
  padding:16px;
  color:#fff;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  box-shadow:0 12px 28px rgba(13,92,151,.22);
}

.pedidoHero h2{
  margin:10px 0 4px;
  font-size:28px;
  line-height:1;
  color:#fff;
}

.pedidoHero p{
  margin:0;
  color:#dbe8f3;
  font-size:13px;
}

.pedidoHero > div:last-child{
  text-align:right;
}

.pedidoHero small{
  display:block;
  color:#dbe8f3;
  font-size:12px;
  margin-bottom:5px;
}

.pedidoHero > div:last-child strong{
  display:block;
  color:#fff;
  font-size:14px;
}

.pedidoActions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:12px;
}

.pedidoActions .pedidoActionBtn:first-child:nth-last-child(2),
.pedidoActions .pedidoActionBtn:first-child:nth-last-child(2) ~ .pedidoActionBtn{
  grid-column:auto;
}

.pedidoActionBtn{
  height:42px;
  border:0;
  border-radius:14px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(0,0,0,.11);
}

.pedidoActionBtn.editBtn{background:#0d5c97}
.pedidoActionBtn.whatsBtn{background:#009640}
.pedidoActionBtn.emailBtn{background:#526273}

.pedidoDetailSection{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:18px;
  padding:13px;
  margin-bottom:12px;
}

.pedidoDetailSection > strong{
  display:block;
  color:#152d3f;
  font-size:15px;
  margin-bottom:10px;
}

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

.pedidoItensBox{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.pedidoDetailItem{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:15px;
  padding:11px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

.pedidoDetailItem div:first-child{
  min-width:0;
  flex:1;
}

.pedidoDetailItem strong{
  display:block;
  color:#263846;
  font-size:13px;
  line-height:1.25;
}

.pedidoDetailItem span{
  display:block;
  margin-top:4px;
  color:#708092;
  font-size:12px;
}

.pedidoDetailItem small{
  display:block;
  margin-top:5px;
  color:#526273;
  font-size:11px;
  line-height:1.3;
}

.pedidoDetailItem div:last-child{
  text-align:right;
  flex:0 0 auto;
  max-width:38%;
}

.pedidoDetailItem b{
  display:block;
  color:#009640;
  font-size:13px;
}

.pedidoTotals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.pedidoTotals div{
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:14px;
  padding:11px;
}

.pedidoTotals span{
  display:block;
  color:#708092;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}

.pedidoTotals strong{
  display:block;
  margin-top:5px;
  color:#152d3f;
  font-size:14px;
}

.pedidoTotals .totalGeral{
  grid-column:1 / -1;
  background:#e8f7ee;
  border-color:#cbeed8;
}

.pedidoTotals .totalGeral strong{
  color:#009640;
  font-size:20px;
}

.pedidoObs{
  background:#f7fafc;
  border-radius:14px;
  padding:11px;
  color:#526273;
  font-size:13px;
  line-height:1.4;
}

.pedidoObs p{
  margin:0 0 8px;
}

.pedidoObs p:last-child{
  margin-bottom:0;
}

@media (max-width:380px){
  .pedidoActions{
    grid-template-columns:1fr;
  }

  .pedidoDetailItem{
    flex-direction:column;
  }

  .pedidoDetailItem div:last-child{
    max-width:100%;
    text-align:left;
  }
}


.pedidoActionBtn.nfeBtn{
  background:#c78100;
}

@media (min-width:381px){
  .pedidoActions{
    grid-template-columns:repeat(2,1fr);
  }
}


/* Lançamento de pedidos */
.pageTitleRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.smallGreenBtn{
  height:38px;
  border:0;
  border-radius:13px;
  background:#009640;
  color:#fff;
  padding:0 14px;
  font-size:14px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(0,150,64,.18);
}

.backBtn{
  width:46px;
  height:46px;
  border:0;
  background:transparent;
  color:#009640;
  font-size:42px;
  line-height:38px;
  font-weight:400;
}

.orderContent{
  padding-bottom:38px;
}

.orderTypeSwitch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:8px 0 14px;
}

.orderTypeSwitch button{
  height:58px;
  border:1px solid #a8a8a8;
  border-radius:13px;
  background:#fff;
  color:#777;
  font-size:22px;
  font-weight:700;
}

.orderTypeSwitch button.active{
  background:#009640;
  color:#fff;
  border-color:#009640;
}

.orderTypeSwitch.mini button{
  height:48px;
  font-size:18px;
}

.orderCard{
  background:#fff;
  border:1px solid #dce5ee;
  border-radius:20px;
  padding:14px;
  margin-bottom:13px;
  box-shadow:var(--shadow);
}

.orderCard label,
.orderDetailPanel label{
  display:block;
  color:#323232;
  font-size:15px;
  font-weight:700;
  margin-bottom:10px;
}

.orderCard label span,
.orderDetailPanel label span{
  display:block;
  margin-bottom:5px;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea{
  width:100%;
  min-height:54px;
  box-sizing:border-box;
  border:1px solid #b9b9b9;
  border-radius:13px;
  background:#eee;
  padding:0 13px;
  color:#333;
  font-family:'Source Sans Pro',sans-serif;
  font-size:18px;
  outline:none;
}

.orderCard textarea,
.orderDetailPanel textarea{
  min-height:118px;
  padding-top:12px;
  resize:none;
}

.orderGrid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.fieldWithActions{
  display:grid;
  grid-template-columns:1fr 124px;
  gap:12px;
  align-items:end;
}

.fieldWithActions button,
.cepRow button{
  height:56px;
  border:0;
  border-radius:13px;
  background:#009640;
  color:#fff;
  font-size:20px;
  font-weight:700;
}

.autoSuggest{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:-2px 0 10px;
}

.autoSuggest button,
.offersList button{
  border:1px solid #dce5ee;
  border-radius:14px;
  background:#f7fafc;
  padding:10px;
  text-align:left;
  color:#152d3f;
}

.autoSuggest strong,
.offersList strong{
  display:block;
  font-size:14px;
  line-height:1.25;
}

.autoSuggest span,
.offersList span{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#708092;
}

.sectionTitleRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.sectionTitleRow strong,
.sectionTitle{
  color:#152d3f;
  font-size:18px;
}

.sectionTitleRow button{
  height:38px;
  border:0;
  border-radius:13px;
  background:#009640;
  color:#fff;
  padding:0 12px;
  font-weight:700;
}

.orderItemsEmpty{
  background:#f7fafc;
  border:1px dashed #c7d2dd;
  border-radius:16px;
  padding:16px;
  color:#708092;
  text-align:center;
  margin-bottom:10px;
}

.orderItemsList{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-bottom:10px;
}

.orderItemCard{
  display:flex;
  justify-content:space-between;
  gap:12px;
  background:#f7fafc;
  border:1px solid #e1e8ef;
  border-radius:16px;
  padding:11px;
}

.orderItemCard strong{
  display:block;
  color:#263846;
  font-size:14px;
  line-height:1.25;
}

.orderItemCard span,
.orderItemCard small{
  display:block;
  color:#708092;
  font-size:12px;
  margin-top:3px;
}

.orderItemCard div:last-child{
  text-align:right;
}

.orderItemCard b{
  display:block;
  color:#009640;
  font-size:14px;
}

.orderItemCard button{
  margin-top:5px;
  border:0;
  background:transparent;
  color:#d93025;
  font-weight:700;
}

.secondaryFullBtn,
.primaryFullBtn{
  width:100%;
  height:56px;
  border:0;
  border-radius:13px;
  color:#fff;
  font-size:18px;
  font-weight:700;
}

.secondaryFullBtn{
  background:#9d9d9d;
}

.primaryFullBtn{
  background:#009640;
  margin-top:8px;
}

.orderTotalsGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:10px;
}

.grandTotalBox{
  margin-top:8px;
  background:#e8f7ee;
  border:1px solid #cbeed8;
  border-radius:17px;
  padding:13px;
}

.grandTotalBox span{
  display:block;
  color:#536273;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.grandTotalBox strong{
  display:block;
  margin-top:3px;
  color:#009640;
  font-size:26px;
}

.orderBottomActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

.orderBottomActions button{
  height:58px;
  border:0;
  border-radius:14px;
  font-size:18px;
  font-weight:700;
}

.orderBottomActions button:first-child{
  background:#9d9d9d;
  color:#fff;
}

.orderBottomActions button:last-child{
  background:#009640;
  color:#fff;
}

.orderDetailPanel{
  max-height:92vh;
}

.selectedProductBox{
  background:#e8f7ee;
  border:1px solid #cbeed8;
  border-radius:15px;
  padding:11px;
  margin-bottom:10px;
}

.selectedProductBox strong{
  display:block;
  color:#152d3f;
  font-size:14px;
}

.selectedProductBox span{
  display:block;
  color:#536273;
  margin-top:3px;
  font-size:12px;
}

.itemTotalBox{
  margin-bottom:10px;
}

.cepRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:end;
}

.offersList{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

@media (max-width:390px){
  .orderGrid2,
  .orderTotalsGrid,
  .orderBottomActions,
  .cepRow{
    grid-template-columns:1fr;
  }

  .fieldWithActions{
    grid-template-columns:1fr 80px;
  }

  .orderTypeSwitch button{
    font-size:19px;
  }
}


/* Refinamento v1 - Lançamento e cadastro de cliente */
.orderApp{
  background:#f4f7fa;
}

.orderContent{
  padding-top:18px;
}

.orderContent .title{
  color:#007d36;
  font-size:30px;
  line-height:1;
  margin-bottom:16px;
  font-weight:400;
}

.orderTypeSwitch{
  background:#fff;
  border:1px solid #dfe7ef;
  border-radius:20px;
  padding:6px;
  box-shadow:0 10px 24px rgba(21,45,63,.07);
}

.orderTypeSwitch button{
  height:50px;
  border:0;
  border-radius:15px;
  background:transparent;
  color:#6f7b86;
  font-size:17px;
  font-weight:700;
}

.orderTypeSwitch button.active{
  background:#009640;
  color:#fff;
  box-shadow:0 8px 20px rgba(0,150,64,.20);
}

.orderCard{
  border:1px solid #e1e9f0;
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 30px rgba(21,45,63,.075);
}

.orderCard label,
.orderDetailPanel label{
  color:#2d3b45;
  font-size:14px;
  font-weight:700;
  letter-spacing:.1px;
}

.orderCard label span,
.orderDetailPanel label span{
  margin-bottom:6px;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea{
  min-height:52px;
  border:1px solid #d3dde6;
  border-radius:15px;
  background:#f7fafc;
  color:#263846;
  font-size:16px;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70);
}

.orderCard input:focus,
.orderCard select:focus,
.orderCard textarea:focus,
.orderDetailPanel input:focus,
.orderDetailPanel select:focus,
.orderDetailPanel textarea:focus{
  border-color:#009640;
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,150,64,.10);
}

.orderCard input[readonly],
.orderDetailPanel input[readonly]{
  background:#eef3f7;
  color:#536273;
}

.fieldWithActions button,
.cepRow button,
.sectionTitleRow button,
.primaryFullBtn,
.orderBottomActions button:last-child{
  background:linear-gradient(135deg,#009640,#078f43);
}

.fieldWithActions button,
.cepRow button{
  border-radius:15px;
  font-size:16px;
  box-shadow:0 10px 22px rgba(0,150,64,.18);
}

.sectionTitleRow strong,
.sectionTitle{
  color:#152d3f;
  font-size:17px;
  font-weight:700;
}

.grandTotalBox{
  border-radius:20px;
  background:linear-gradient(135deg,#e8f7ee,#f6fff9);
  box-shadow:inset 0 0 0 1px #cbeed8;
}

.grandTotalBox strong{
  font-size:28px;
}

.orderBottomActions{
  position:sticky;
  bottom:12px;
  z-index:8;
}

.orderBottomActions button{
  box-shadow:0 12px 25px rgba(21,45,63,.12);
}

.orderModal .detailPanel{
  border-radius:24px 24px 0 0;
  background:#f4f7fa;
}

.orderModal .detailHeader{
  background:#009640;
  color:#fff;
  border-radius:24px 24px 0 0;
  padding:17px 18px;
}

.orderModal .detailHeader strong{
  color:#fff;
  font-size:20px;
}

.orderModal .detailHeader span{
  color:rgba(255,255,255,.80);
}

.orderModal .detailHeader button{
  color:#fff;
}

.orderModal .detailBody{
  padding:16px;
}

#modalClientePedido .detailBody{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

#modalClientePedido .orderTypeSwitch{
  margin:0 0 4px;
}

#modalClientePedido label{
  margin-bottom:0;
}

#modalClientePedido .orderGrid2,
#modalClientePedido .cepRow{
  gap:10px;
}

#modalClientePedido input{
  background:#fff;
  border-color:#d6e0e8;
  min-height:50px;
}

#modalClientePedido .cepRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 158px;
  align-items:end;
}

#modalClientePedido .cepRow button{
  height:50px;
  font-size:15px;
  padding:0 10px;
}

#modalClientePedido .primaryFullBtn{
  margin-top:6px;
  height:56px;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,150,64,.20);
}

.autoSuggest button,
.offersList button{
  background:#fff;
  border-color:#d6e0e8;
  border-radius:16px;
  box-shadow:0 6px 16px rgba(21,45,63,.05);
}

.orderItemCard{
  background:#fff;
  border-color:#d6e0e8;
  border-radius:18px;
}

.selectedProductBox{
  background:#fff;
  border-color:#cbeed8;
  box-shadow:0 8px 20px rgba(0,150,64,.08);
}

@media (min-width:520px){
  #modalClientePedido .orderGrid2{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:390px){
  #modalClientePedido .cepRow{
    grid-template-columns:1fr;
  }

  .orderContent .title{
    font-size:27px;
  }
}


/* Refinamento cliente v2 */
#modalClientePedido .detailHeader{
  background:#fff !important;
  color:#152d3f !important;
  border-bottom:1px solid #e1e9f0;
  border-radius:24px 24px 0 0;
}

#modalClientePedido .detailHeader strong{
  color:#152d3f !important;
  font-size:19px;
}

#modalClientePedido .detailHeader span{
  color:#708092 !important;
}

#modalClientePedido .detailHeader button{
  color:#152d3f !important;
}

#modalClientePedido .detailBody{
  gap:8px;
}

#modalClientePedido input,
#modalClientePedido select,
#modalClientePedido textarea,
.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea{
  min-height:46px;
  font-size:15px;
  border-radius:13px;
}

#modalClientePedido .cepRow button,
#modalClientePedido .primaryFullBtn{
  height:48px;
  border-radius:13px;
}

#modalClientePedido label{
  font-size:13px;
}

#modalClientePedido .orderTypeSwitch button{
  height:44px;
  font-size:16px;
}

#modalClientePedido .primaryFullBtn{
  font-size:17px;
}

.orderCard{
  padding:14px;
}

.orderTypeSwitch button{
  height:46px;
  font-size:16px;
}

.grandTotalBox strong{
  font-size:25px;
}


/* Refinamento lançamento v3 */
.orderContent .orderTitle{
  color:#152d3f !important;
  font-size:26px !important;
  font-weight:700 !important;
  margin:6px 0 16px !important;
  letter-spacing:-.3px;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea,
#modalClientePedido input,
#modalClientePedido select,
#modalClientePedido textarea{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  min-height:46px !important;
  height:46px;
  padding:0 12px;
  font-size:15px !important;
  border-radius:13px !important;
  background:#fff !important;
  border:1px solid #d6e0e8 !important;
  color:#263846 !important;
  font-family:'Source Sans Pro',sans-serif;
}

.orderCard textarea,
.orderDetailPanel textarea,
#modalClientePedido textarea{
  height:auto;
  min-height:92px !important;
  padding-top:11px;
}

.orderGrid2{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

.fieldWithActions{
  grid-template-columns:minmax(0,1fr) 88px;
  gap:10px;
}

.clientAddBtn{
  height:46px !important;
  border:1px solid #cbd7e2 !important;
  background:#f7fafc !important;
  color:#009640 !important;
  border-radius:13px !important;
  font-size:14px !important;
  font-weight:700;
  box-shadow:none !important;
}

.sectionTitleRow{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

.sectionTitleRow strong{
  color:#152d3f !important;
  background:transparent !important;
}

.addItemSoftBtn,
.sectionTitleRow button.addItemSoftBtn{
  height:38px !important;
  border:1px solid #cbd7e2 !important;
  background:#f7fafc !important;
  color:#009640 !important;
  border-radius:13px !important;
  font-size:14px !important;
  box-shadow:none !important;
}

.orderTypeSwitch{
  margin-top:0;
}

.orderTypeSwitch button{
  height:44px !important;
}

#pedidoCondicao option{
  color:#263846;
}

@media (max-width:390px){
  .orderGrid2{
    grid-template-columns:1fr;
  }
  .fieldWithActions{
    grid-template-columns:1fr;
  }
}


/* Dialog visual centralizado para filtros, WhatsApp e e-mail */
.appInputDialog{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Source Sans Pro',sans-serif;
  height:var(--app-dialog-vh, 100dvh);
  max-height:var(--app-dialog-vh, 100dvh);
  overflow:hidden;
  overscroll-behavior:contain;
  touch-action:none;
  padding:calc(var(--app-dialog-offset-top, 0px) + env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 18px);
  box-sizing:border-box;
}

.appInputDialogOverlay{
  position:absolute;
  inset:0;
  background:rgba(13,28,39,.54);
  backdrop-filter:blur(2px);
}

.appInputDialogPanel{
  position:relative;
  width:100%;
  max-width:480px;
  background:#fff;
  border-radius:24px;
  padding:18px;
  box-shadow:0 22px 55px rgba(13,28,39,.26);
  animation:appInputDialogPop .16s ease-out;
  box-sizing:border-box;
  max-height:calc(var(--app-dialog-vh, 100dvh) - 36px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

@keyframes appInputDialogPop{
  from{transform:scale(.96);opacity:.75}
  to{transform:scale(1);opacity:1}
}

.appInputDialogHeader{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.appInputDialogIcon{
  width:46px;
  height:46px;
  border-radius:16px;
  background:#e8f7ee;
  color:#009640;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:800;
}

.appInputDialogHeader strong{
  display:block;
  color:#152d3f;
  font-size:20px;
  line-height:1.1;
}

.appInputDialogHeader span{
  display:block;
  color:#708092;
  font-size:14px;
  margin-top:4px;
}

.appInputDialogBody input{
  width:100%;
  height:52px;
  box-sizing:border-box;
  border:1px solid #d6e0e8;
  border-radius:15px;
  background:#f7fafc;
  color:#263846;
  font-family:'Source Sans Pro',sans-serif;
  font-size:17px;
  font-weight:600;
  padding:0 14px;
  outline:none;
}

.appInputDialogBody input:focus{
  border-color:#009640;
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,150,64,.10);
}

.appInputDialogActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}

.appInputDialogActions button{
  height:52px;
  border:0;
  border-radius:15px;
  font-family:'Source Sans Pro',sans-serif;
  font-size:16px;
  font-weight:800;
}

.appInputDialogActions .cancel{
  background:#eef3f7;
  color:#536273;
}

.appInputDialogActions .confirm{
  background:#009640;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,150,64,.20);
}


/* Ajuste visual lançamento v5 - correção mobile */
.orderContent{
  padding:18px 18px 44px !important;
}

.orderContent .orderTitle{
  color:#152d3f !important;
  font-size:25px !important;
  font-weight:700 !important;
  margin:4px 0 14px !important;
}

.orderTypeSwitch{
  border-radius:22px !important;
  padding:5px !important;
  margin-bottom:14px !important;
}

.orderTypeSwitch button{
  height:46px !important;
  font-size:16px !important;
  border-radius:17px !important;
}

.orderCard{
  border-radius:22px !important;
  padding:14px !important;
  margin-bottom:14px !important;
  overflow:hidden !important;
}

.orderGrid2,
.orderTotalsGrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px !important;
}

.orderGrid2 > *,
.orderTotalsGrid > *,
.fieldWithActions > *,
.cepRow > *{
  min-width:0 !important;
}

.orderCard label,
.orderDetailPanel label{
  min-width:0 !important;
  margin-bottom:10px !important;
  font-size:13px !important;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea,
#modalClientePedido input,
#modalClientePedido select,
#modalClientePedido textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  min-height:44px !important;
  height:44px !important;
  padding:0 11px !important;
  font-size:15px !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid #d6e0e8 !important;
  color:#263846 !important;
  appearance:auto;
  -webkit-appearance:none;
}

.orderCard input[type="date"]{
  font-size:14px !important;
  padding-left:8px !important;
  padding-right:8px !important;
  text-align:left !important;
}

.orderCard input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
  min-width:0;
  font-size:14px;
}

.fieldWithActions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 74px !important;
  gap:8px !important;
  align-items:end !important;
}

.clientAddBtn{
  height:44px !important;
  min-height:44px !important;
  width:74px !important;
  padding:0 !important;
  border:1px solid #d6e0e8 !important;
  background:#fff !important;
  color:#009640 !important;
  border-radius:14px !important;
  font-size:13px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

.sectionTitleRow{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin-bottom:12px !important;
}

.sectionTitleRow strong{
  color:#152d3f !important;
  background:transparent !important;
  font-size:20px !important;
}

.addItemSoftBtn,
.sectionTitleRow button.addItemSoftBtn{
  height:42px !important;
  min-width:78px !important;
  padding:0 13px !important;
  border:1px solid #d6e0e8 !important;
  background:#fff !important;
  color:#009640 !important;
  border-radius:14px !important;
  font-size:14px !important;
  box-shadow:none !important;
}

.orderItemsEmpty{
  border-radius:18px !important;
  padding:18px 10px !important;
  margin-bottom:12px !important;
}

.secondaryFullBtn{
  height:52px !important;
  border-radius:16px !important;
  font-size:17px !important;
}

.grandTotalBox{
  margin-top:10px !important;
}

.orderBottomActions{
  position:static !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px !important;
  margin-top:16px !important;
  padding:0 !important;
}

.orderBottomActions button{
  height:54px !important;
  border-radius:16px !important;
  font-size:17px !important;
  box-shadow:0 8px 20px rgba(21,45,63,.10) !important;
}

@media (max-width:380px){
  .orderGrid2,
  .orderTotalsGrid{
    grid-template-columns:1fr !important;
  }

  .fieldWithActions{
    grid-template-columns:1fr !important;
  }

  .clientAddBtn{
    width:100% !important;
  }
}


/* Validação visual dos dialogs WhatsApp/e-mail */
.appInputDialogError{
  display:none;
  margin-top:8px;
  color:#d93025;
  font-size:13px;
  font-weight:700;
}

.appInputDialogBody input.inputError{
  border-color:#d93025 !important;
  background:#fff7f7 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.10) !important;
}


/* UI lançamento premium v7 - pedido, item e cliente */
.orderApp{
  background:linear-gradient(180deg,#eef5fa 0%,#f6f9fc 52%,#ffffff 100%) !important;
}

.orderContent{
  padding:22px 18px 36px !important;
}

.orderContent .orderTitle{
  color:#102b3f !important;
  font-size:31px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.6px !important;
  margin:6px 0 14px !important;
}

.orderTypeSwitch{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px !important;
  background:#fff !important;
  border:1px solid #dfe8f0 !important;
  border-radius:24px !important;
  padding:6px !important;
  margin-bottom:18px !important;
  box-shadow:0 14px 34px rgba(16,43,63,.07) !important;
}

.orderTypeSwitch button{
  height:48px !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  color:#697787 !important;
  font-size:17px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

.orderTypeSwitch button.active{
  background:linear-gradient(135deg,#009640,#078f43) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(0,150,64,.20) !important;
}

.orderCard{
  width:100% !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border:1px solid #e2ebf2 !important;
  border-radius:24px !important;
  padding:18px !important;
  margin:0 0 18px !important;
  overflow:hidden !important;
  box-shadow:0 14px 34px rgba(16,43,63,.07) !important;
}

.orderGrid2,
.orderTotalsGrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
}

.orderGrid2 > *,
.orderTotalsGrid > *,
.fieldWithActions > *,
.cepRow > *{
  min-width:0 !important;
}

.orderCard label,
.orderDetailPanel label{
  display:block !important;
  margin:0 0 13px !important;
  min-width:0 !important;
}

.orderCard label span,
.orderDetailPanel label span{
  display:block !important;
  color:#213241 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  margin:0 0 8px !important;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea,
#modalClientePedido input,
#modalClientePedido select,
#modalClientePedido textarea,
#modalItemPedido input,
#modalItemPedido select,
#modalItemPedido textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  height:50px !important;
  min-height:50px !important;
  padding:0 13px !important;
  border:1px solid #d5e0e9 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#172d3f !important;
  font-family:'Source Sans Pro',sans-serif !important;
  font-size:16px !important;
  font-weight:600 !important;
  outline:none !important;
  box-shadow:none !important;
}

.orderCard input::placeholder,
.orderDetailPanel input::placeholder,
.orderDetailPanel textarea::placeholder{
  color:#a0a9b2 !important;
  font-weight:600 !important;
}

.orderCard input:focus,
.orderCard select:focus,
.orderCard textarea:focus,
.orderDetailPanel input:focus,
.orderDetailPanel select:focus,
.orderDetailPanel textarea:focus{
  border-color:#009640 !important;
  box-shadow:0 0 0 3px rgba(0,150,64,.10) !important;
}

.orderCard textarea,
.orderDetailPanel textarea,
#modalClientePedido textarea,
#modalItemPedido textarea{
  height:auto !important;
  min-height:72px !important;
  padding-top:13px !important;
  resize:none !important;
}

.fieldWithActions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 204px !important;
  gap:12px !important;
  align-items:end !important;
}

.clientAddBtn{
  width:104px !important;
  height:50px !important;
  min-height:50px !important;
  padding:0 8px !important;
  border:1px solid #d5e0e9 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#009640 !important;
  font-size:15px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

.clientAddBtn:active,
.addItemSoftBtn:active{
  transform:translateY(1px);
}

.sectionTitleRow{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 0 14px !important;
}

.sectionTitleRow strong,
.sectionTitle{
  color:#102b3f !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

.addItemSoftBtn,
.sectionTitleRow button.addItemSoftBtn{
  width:auto !important;
  min-width:86px !important;
  height:46px !important;
  padding:0 15px !important;
  border:1px solid #8bd7a9 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#009640 !important;
  font-size:15px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

.orderItemsEmpty{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-height:74px !important;
  padding:14px !important;
  margin:0 0 14px !important;
  border:1.5px dashed #cbd9e5 !important;
  border-radius:19px !important;
  background:#f9fcff !important;
  color:#718091 !important;
  font-size:16px !important;
  font-weight:600 !important;
  text-align:center !important;
}

.emptyBoxIcon{
  color:#94a2af !important;
  font-size:24px !important;
  line-height:1 !important;
}

.secondaryFullBtn{
  width:100% !important;
  height:54px !important;
  border:0 !important;
  border-radius:17px !important;
  background:#e4e6e8 !important;
  color:#5d6874 !important;
  font-size:17px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

.orderTotalsGrid input[readonly]{
  background:#fff !important;
}

.grandTotalBox{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:16px 18px !important;
  margin:12px 0 0 !important;
  border:1px solid #aee8c4 !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#eefbf3,#f9fffb) !important;
}

.grandTotalBox span{
  color:#009640 !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.grandTotalBox strong{
  color:#009640 !important;
  font-size:28px !important;
  font-weight:800 !important;
}

.orderBottomActions{
  position:static !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
  padding:0 !important;
  margin:8px 0 0 !important;
}

.orderBottomActions button{
  height:58px !important;
  border:0 !important;
  border-radius:18px !important;
  font-size:17px !important;
  font-weight:800 !important;
  box-shadow:0 10px 24px rgba(16,43,63,.08) !important;
}

.orderBottomActions button:first-child{
  background:#e3e5e7 !important;
  color:#4f5964 !important;
}

.orderBottomActions button:last-child{
  background:linear-gradient(135deg,#009640,#078f43) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(0,150,64,.22) !important;
}

/* Modais: cadastro e item com o mesmo padrão */
.orderModal{
  align-items:flex-end !important;
}

.orderModal .detailOverlay{
  background:rgba(10,22,32,.52) !important;
  backdrop-filter:blur(2px) !important;
}

.orderModal .detailPanel,
#modalClientePedido .detailPanel,
#modalItemPedido .detailPanel{
  width:100% !important;
  max-width:640px !important;
  max-height:92vh !important;
  border-radius:28px 28px 0 0 !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 -20px 46px rgba(10,22,32,.26) !important;
}

.orderModal .detailHeader,
#modalClientePedido .detailHeader,
#modalItemPedido .detailHeader{
  background:#fff !important;
  color:#102b3f !important;
  border-bottom:1px solid #e7eef4 !important;
  border-radius:28px 28px 0 0 !important;
  padding:22px 18px 18px !important;
}

.orderModal .detailHeader strong,
#modalClientePedido .detailHeader strong,
#modalItemPedido .detailHeader strong{
  color:#102b3f !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.4px !important;
}

.orderModal .detailHeader span,
#modalClientePedido .detailHeader span,
#modalItemPedido .detailHeader span{
  display:block !important;
  color:#708092 !important;
  font-size:16px !important;
  font-weight:600 !important;
  margin-top:7px !important;
}

.orderModal .detailHeader button,
#modalClientePedido .detailHeader button,
#modalItemPedido .detailHeader button{
  width:50px !important;
  height:50px !important;
  border:0 !important;
  border-radius:16px !important;
  background:#f3f6f9 !important;
  color:#102b3f !important;
  font-size:30px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.orderModal .detailBody,
#modalClientePedido .detailBody,
#modalItemPedido .detailBody{
  padding:20px 18px 24px !important;
  background:#fff !important;
}

#modalClientePedido .orderTypeSwitch{
  margin-bottom:22px !important;
}

#modalClientePedido .cepRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 190px !important;
  gap:12px !important;
  align-items:end !important;
}

#modalClientePedido .cepRow button{
  height:50px !important;
  border-radius:17px !important;
  font-size:16px !important;
  font-weight:800 !important;
  background:linear-gradient(135deg,#009640,#078f43) !important;
  box-shadow:0 12px 24px rgba(0,150,64,.18) !important;
}

#modalItemPedido .itemTotalBox{
  display:block !important;
  padding:16px 18px !important;
  margin:10px 0 18px !important;
}

#modalItemPedido .itemTotalBox span{
  display:block !important;
  color:#66788a !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  margin-bottom:6px !important;
}

#modalItemPedido .itemTotalBox strong{
  font-size:30px !important;
}

#modalItemPedido .primaryFullBtn,
#modalClientePedido .primaryFullBtn{
  height:58px !important;
  border-radius:18px !important;
  font-size:18px !important;
  font-weight:800 !important;
  background:linear-gradient(135deg,#009640,#078f43) !important;
  box-shadow:0 12px 26px rgba(0,150,64,.22) !important;
}

@media (max-width:430px){
  .orderContent{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .orderContent .orderTitle{
    font-size:29px !important;
  }

  .orderCard{
    padding:16px !important;
  }

  .fieldWithActions{
    grid-template-columns:minmax(0,1fr) 96px !important;
    gap:10px !important;
  }

  .clientAddBtn{
    width:96px !important;
    font-size:14px !important;
  }

  .orderGrid2,
  .orderTotalsGrid{
    gap:10px !important;
  }

  #modalClientePedido .cepRow{
    grid-template-columns:minmax(0,1fr) 170px !important;
  }
}

@media (max-width:374px){
  .orderGrid2,
  .orderTotalsGrid,
  #modalClientePedido .cepRow{
    grid-template-columns:1fr !important;
  }

  .fieldWithActions{
    grid-template-columns:1fr !important;
  }

  .clientAddBtn{
    width:100% !important;
  }
}


/* Ajustes v8 - datas e alinhamento cliente */
#pedidoData{
  background:#f3f7fa !important;
  color:#667789 !important;
  cursor:default !important;
}

#pedidoPrevisao{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#fff !important;
}

.fieldWithActions{
  align-items:end !important;
  grid-template-columns:minmax(0,1fr) 204px !important;
}

.fieldWithActions label{
  margin-bottom:0 !important;
}

.fieldWithActions .clientAddBtn{
  align-self:end !important;
  margin:0 0 13px 0 !important;
  height:50px !important;
  min-height:50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

@media (max-width:430px){
  .fieldWithActions{
    grid-template-columns:minmax(0,1fr) 96px !important;
  }

  .fieldWithActions .clientAddBtn{
    width:96px !important;
  }
}

@media (max-width:374px){
  .fieldWithActions{
    grid-template-columns:1fr !important;
  }

  .fieldWithActions .clientAddBtn{
    width:100% !important;
    margin-top:-3px !important;
  }
}


/* Ajustes v9 - cliente compacto, histórico e previsão BR */
#pedidoPrevisao.dateDisplayInput{
  cursor:pointer !important;
  background:#fff !important;
}

.hiddenDateInput{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:1px !important;
  height:1px !important;
  left:-9999px !important;
}

.clientFieldRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 204px !important;
  gap:10px !important;
  align-items:end !important;
}

.clientFieldRow label{
  margin-bottom:0 !important;
}

.clientActionGroup{
  display:grid !important;
  grid-template-columns:48px 48px 48px 48px !important;
  gap:4px !important;
  align-self:end !important;
  margin-bottom:0 !important;
}

.clientIconBtn{
  width:50px !important;
  height:50px !important;
  min-height:50px !important;
  border:1px solid #d5e0e9 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#009640 !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:800 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-shadow:none !important;
}

.clientIconBtn.historyBtn{
  color:#587082 !important;
  font-size:21px !important;
}
.clientIconBtn.historyBtn,
.clientIconBtn.financeBtn{
  font-size:0 !important;
}

.clientIconBtn svg{
  width:22px !important;
  height:22px !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  fill:none !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.clientIconBtn.historyBtn{
  color:#587082 !important;
}

.clientIconBtn.financeBtn{
  color:#b7791f !important;
}

.clientIconBtn.is-disabled{
  opacity:.45 !important;
}

.clientIconBtn.financeBtn.has-alert{
  background:#fff8ec !important;
  border-color:#f1cf8d !important;
  box-shadow:0 0 0 2px rgba(183,121,31,.10) !important;
}

.clienteCobrancasPedidoLista{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.clienteCobrancasPedidoLista .dashListItem{
  margin:0;
}

.historySummary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}

.historySummary div{
  background:#f7fafc;
  border:1px solid #dfe8f0;
  border-radius:17px;
  padding:12px;
}

.historySummary span{
  display:block;
  color:#718091;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:5px;
}

.historySummary strong{
  color:#102b3f;
  font-size:15px;
  font-weight:800;
}

.historyOrderList{
  display:grid;
  gap:10px;
}

.historyOrderCard{
  width:100%;
  border:1px solid #dfe8f0;
  border-radius:18px;
  background:#fff;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  text-align:left;
  font-family:'Source Sans Pro',sans-serif;
}

.historyOrderCard strong{
  display:block;
  color:#102b3f;
  font-size:16px;
  font-weight:800;
}

.historyOrderCard span{
  display:block;
  color:#718091;
  font-size:13px;
  margin-top:3px;
}

.historyOrderCard b{
  display:block;
  color:#009640;
  font-size:16px;
  font-weight:800;
  text-align:right;
}

.historyOrderCard em{
  display:inline-block;
  margin-top:4px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef3f7;
  color:#536273;
  font-style:normal;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.historyOrderCard em.faturado,
.historyOrderCard em.atendido{
  background:#e8f7ee;
  color:#009640;
}

.historyOrderCard em.cancelado{
  background:#feecec;
  color:#d93025;
}

.historyOrderCard em.pendente{
  background:#fff7e6;
  color:#b26a00;
}

@media (max-width:430px){
  .clientFieldRow{
    grid-template-columns:minmax(0,1fr) 204px !important;
  }

  .clientActionGroup{
    grid-template-columns:50px 50px !important;
  }

  .historySummary{
    grid-template-columns:1fr;
  }
}

@media (max-width:374px){
  .clientFieldRow{
    grid-template-columns:1fr !important;
  }

  .clientActionGroup{
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }

  .clientIconBtn{
    width:100% !important;
  }
}


/* Ajustes v10 - calendário previsão e detalhe histórico */
.forecastDateLabel{
  position:relative !important;
}

#pedidoPrevisao.dateDisplayInput{
  position:relative !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:#fff !important;
}

.forecastDateLabel .hiddenDateInput{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  opacity:.01 !important;
  z-index:5 !important;
  pointer-events:auto !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:transparent !important;
  background:transparent !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

.forecastDateLabel .hiddenDateInput::-webkit-calendar-picker-indicator{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}

#pedidoDetalheModal{
  z-index:10020 !important;
}

.pedidoDetailPanel{
  max-height:94vh !important;
}

.historyOrderCard{
  cursor:pointer;
}


/* Ajustes v11 - retorno histórico e máscaras cliente */
#modalHistoricoCliente.open{
  z-index:10010 !important;
}

#pedidoDetalheModal.open{
  z-index:10030 !important;
}

#novoClienteDocumento,
#novoClienteCep,
#novoClienteTelefone,
#novoClienteTelefoneComprador{
  letter-spacing:.2px;
}


/* Ajuste v12 - modal detalhe pedido no mesmo padrão de clientes/produtos */
#pedidoDetalheModal{
  align-items:flex-start !important;
  padding:18px 12px 12px !important;
  box-sizing:border-box !important;
}

#pedidoDetalheModal .detailPanel{
  width:100% !important;
  max-width:640px !important;
  max-height:calc(100vh - 36px) !important;
  margin:0 auto !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

#pedidoDetalheModal .detailHeader{
  border-radius:24px 24px 0 0 !important;
}

#pedidoDetalheModal .detailBody{
  max-height:calc(100vh - 142px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

@supports (height: 100dvh){
  #pedidoDetalheModal .detailPanel{
    max-height:calc(100dvh - 36px) !important;
  }

  #pedidoDetalheModal .detailBody{
    max-height:calc(100dvh - 142px) !important;
  }
}


/* Ajustes v13 - pedido padrão, cliente ações e moeda */
#pedidoDetalheModal{
  align-items:flex-start !important;
  justify-content:center !important;
  padding:10px 0 0 !important;
  box-sizing:border-box !important;
}

#pedidoDetalheModal .detailPanel{
  width:100% !important;
  max-width:640px !important;
  max-height:calc(100vh - 10px) !important;
  margin:0 auto !important;
  border-radius:24px 24px 0 0 !important;
}

#pedidoDetalheModal .detailHeader{
  padding:24px 18px 20px !important;
  border-radius:24px 24px 0 0 !important;
}

#pedidoDetalheModal .detailHeader strong,
#pedidoDetalheTitulo{
  font-size:30px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.4px !important;
}

#pedidoDetalheModal .detailBody{
  max-height:calc(100vh - 128px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.clientFieldRow{
  grid-template-columns:minmax(0,1fr) 204px !important;
  align-items:end !important;
}

.clientActionGroup{
  grid-template-columns:48px 48px 48px 48px !important;
  gap:3px !important;
  align-self:end !important;
  margin-bottom:0 !important;
}

.clientIconBtn{
  width:48px !important;
  height:50px !important;
  min-height:50px !important;
}

.clientIconBtn.clearBtn{
  color:#d93025 !important;
  font-size:24px !important;
}

#btnPedidoOfertas.secondaryFullBtn{
  height:48px !important;
  max-width:100% !important;
  border-radius:15px !important;
  font-size:16px !important;
  background:#eef3f7 !important;
  color:#536273 !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

#pedidoFrete,
#pedidoDesconto,
#pedidoAcrescimo,
#itemPrecoUnitario,
#itemDesconto,
#itemAcrescimo{
  text-align:left !important;
  font-variant-numeric:tabular-nums;
}

@media (max-width:430px){
  .clientFieldRow{
    grid-template-columns:minmax(0,1fr) 144px !important;
  }

  .clientActionGroup{
    grid-template-columns:46px 46px 46px !important;
  }

  .clientIconBtn{
    width:46px !important;
  }
}

@media (max-width:374px){
  .clientFieldRow{
    grid-template-columns:1fr !important;
  }

  .clientActionGroup{
    grid-template-columns:1fr 1fr 1fr !important;
    width:100% !important;
  }

  .clientIconBtn{
    width:100% !important;
  }
}

@supports (height:100dvh){
  #pedidoDetalheModal .detailPanel{
    max-height:calc(100dvh - 10px) !important;
  }

  #pedidoDetalheModal .detailBody{
    max-height:calc(100dvh - 128px) !important;
  }
}


/* Ajustes v14 - botões cliente/ofertas e hint */
.clientActionGroup,
.clientIconBtn,
#btnPedidoOfertas{
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
}

#pedidoClienteBusca::placeholder{
  color:#a0a9b2 !important;
}


/* Ajustes v15 - cadastro cliente e ofertas */
.orderSearchWrap{
  position:relative;
  width:100%;
  margin:0 0 14px;
}

.orderSearchWrap input{
  width:100% !important;
  height:50px !important;
  box-sizing:border-box !important;
  border:1px solid #d5e0e9 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#172d3f !important;
  font-family:'Source Sans Pro',sans-serif !important;
  font-size:16px !important;
  font-weight:600 !important;
  padding:0 14px !important;
  outline:none !important;
}

.orderSearchWrap input:focus{
  border-color:#009640 !important;
  box-shadow:0 0 0 3px rgba(0,150,64,.10) !important;
}

.offersList{
  display:grid;
  gap:10px;
}

.offerProductItem{
  width:100%;
  border:1px solid #dfe8f0;
  border-radius:18px;
  background:#fff;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  text-align:left;
  font-family:'Source Sans Pro',sans-serif;
}

.offerProductItem strong{
  display:block;
  color:#102b3f;
  font-size:15px;
  font-weight:800;
  line-height:1.15;
}

.offerProductItem span{
  display:block;
  color:#718091;
  font-size:12px;
  font-weight:700;
  margin-top:5px;
  line-height:1.2;
}

.offerProductItem b{
  color:#009640;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
}

#modalOfertasPedido .detailBody{
  padding-top:16px !important;
}


/* Ajustes v17 - máscara direta cliente */
#novoClienteDocumento,
#novoClienteCep,
#novoClienteTelefone,
#novoClienteTelefoneComprador{
  font-variant-numeric: tabular-nums;
}

#novoClienteDocumento.inputError,
#novoClienteCep.inputError{
  border-color:#d93025 !important;
  background:#fff7f7 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.12) !important;
}


/* Ajustes v18 - máscaras cirúrgicas cliente */
.cepRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 170px !important;
  gap:12px !important;
  align-items:end !important;
}

.cepRow label{
  margin-bottom:0 !important;
}

#btnBuscarCepCliente{
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  align-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#novoClienteDocumento,
#novoClienteCep,
#novoClienteTelefone,
#novoClienteTelefoneComprador{
  font-variant-numeric:tabular-nums !important;
}

#novoClienteDocumento.inputError{
  border-color:#d93025 !important;
  background:#fff7f7 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.12) !important;
}

@media (max-width:374px){
  .cepRow{
    grid-template-columns:1fr !important;
  }
}


/* Ajustes v19 - dashboard, busca e ações offline */
.dashboardContent{
  overflow:visible !important;
  padding-bottom:118px !important;
}

.searchInputWrap{
  background:#fff !important;
  border-color:#dce5ee !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72) !important;
}

.searchInputWrap input{
  background:transparent !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  color:#263846 !important;
  -webkit-text-fill-color:#263846 !important;
}

.searchInputWrap input::placeholder{
  color:#8d9aaa !important;
  opacity:1 !important;
}

#novoClienteDocumento.inputError{
  border-color:#d93025 !important;
  background:#fff7f7 !important;
  box-shadow:0 0 0 3px rgba(217,48,37,.12) !important;
}

#btnBuscarCepCliente{
  pointer-events:auto !important;
  position:relative !important;
  z-index:5 !important;
}


/* Ajustes v20 */
.dashboardContent{
  overflow:visible!important;
  padding-bottom:124px!important;
}

.dashList{
  overflow:visible!important;
}

#dashFinanceiroLista,
#dashPedidosLista{
  max-height:none!important;
  overflow:visible!important;
}

.localListStats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.localListStats div.statPendencia strong{
  color:#c68a00!important;
}

.localListStats div.statCancelado strong{
  color:#d93025!important;
}

.localListStats div.statFaturado strong{
  color:#009640!important;
}

#btnBuscarCepCliente{
  pointer-events:auto!important;
  position:relative!important;
  z-index:20!important;
}

#novoClienteDocumento.inputError{
  border-color:#d93025!important;
  background:#fff7f7!important;
  box-shadow:0 0 0 3px rgba(217,48,37,.12)!important;
}


/* Ajustes v21 - escopo fechado */
#dashFinanceiroLista{
  max-height:330px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:4px!important;
}

#dashPedidosLista{
  max-height:none!important;
  overflow:visible!important;
}

.dashboardContent{
  padding-bottom:118px!important;
}

.localListStats{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;
  gap:10px!important;
}

.localListStats div{
  min-width:0!important;
}

.localListStats strong{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:clamp(17px,4.6vw,24px)!important;
}

.localListStats small{
  font-size:clamp(11px,3vw,13px)!important;
  line-height:1.05!important;
}

.localListStats div.statPendencia strong{
  color:#c68a00!important;
}

.localListStats div.statFaturado strong{
  color:#009640!important;
}

.localListStats div.statCancelado strong{
  color:#d93025!important;
}

@media (max-width:390px){
  .localListStats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

#clientesModal #produtoFotosBox,
#clientesModal .productPhotosBox{
  display:none!important;
}


/* Ajustes v22 - dashboard pontual */
.dashKpi.dashKpiPedidos strong{
  color:#0d5c97!important;
}

.dashKpi.dashKpiFaturado strong{
  color:#009640!important;
}

.dashKpi.dashKpiCancelado strong{
  color:#d93025!important;
}

.dashKpi.dashKpiConversao strong{
  color:#7b3ff2!important;
}

#dashFinanceiroLista{
  max-height:330px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:4px!important;
}

#dashPedidosLista{
  max-height:none!important;
  overflow:visible!important;
}

/* Ajustes v29 - campo de pesquisa clientes/produtos/pedidos */
.searchPanel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf9 100%) !important;
  border-color:#d9e7df !important;
  box-shadow:0 12px 28px rgba(17,54,37,.08) !important;
}

.searchInputWrap{
  height:50px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f3f8f5 100%) !important;
  border:1px solid #cfe1d6 !important;
  border-radius:16px !important;
  padding:0 13px 0 10px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 12px rgba(0,0,0,.035) !important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease !important;
}

.searchInputWrap span{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(0,150,64,.10) !important;
  color:#009640 !important;
  font-size:15px !important;
}

.searchInputWrap input{
  height:48px !important;
  color:#1f3444 !important;
  -webkit-text-fill-color:#1f3444 !important;
  font-weight:600 !important;
  letter-spacing:.1px !important;
}

.searchInputWrap input::placeholder{
  color:#7d8c98 !important;
  font-weight:500 !important;
  opacity:1 !important;
}

.searchInputWrap:focus-within{
  background:#fff !important;
  border-color:#009640 !important;
  box-shadow:0 0 0 4px rgba(0,150,64,.11),0 8px 20px rgba(0,150,64,.09) !important;
}

.searchInputWrap:focus-within span{
  background:#009640 !important;
  color:#fff !important;
}

/* Ajustes v35 - totalizadores da tela de pedidos */
.pedidosStats{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.pedidosStats > div{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%)!important;
}

.pedidosStats > div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#0d5c97;
}

.pedidosStats > div.statTotalPedido::before{background:#0d5c97!important;}
.pedidosStats > div.statPendencia::before{background:#c78100!important;}
.pedidosStats > div.statFaturado::before{background:#009640!important;}
.pedidosStats > div.statCancelado::before{background:#d93025!important;}

.pedidosStats > div.statTotalPedido strong{color:#0d5c97!important;}
.pedidosStats > div.statPendencia strong{color:#c78100!important;}
.pedidosStats > div.statFaturado strong{color:#009640!important;}
.pedidosStats > div.statCancelado strong{color:#d93025!important;}

.pedidosStats small{
  min-height:24px!important;
}

.pedidosStats strong{
  font-size:clamp(16px,4.2vw,22px)!important;
  letter-spacing:-.4px!important;
}

.pedidoChip.condicaoChip{
  border-radius:11px!important;
  padding:6px 9px!important;
  line-height:1.25!important;
  background:#eef5fb!important;
  color:#345269!important;
}

@media (min-width:760px){
  .pedidosStats{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}


/* Ajustes v42 - filtro discreto por período na tela de pedidos */
.pedidoPeriodoBox{
  position:relative!important;
  margin-top:10px!important;
}

.pedidoPeriodoBtn{
  width:100%!important;
  height:42px!important;
  border:1px solid #cfe1d6!important;
  background:linear-gradient(180deg,#ffffff 0%,#f5faf7 100%)!important;
  color:#526674!important;
  border-radius:14px!important;
  padding:0 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:0 6px 14px rgba(14,64,39,.055)!important;
}

.pedidoPeriodoBtn strong{
  color:#009640!important;
  font-weight:800!important;
}

.pedidoPeriodoBtn em{
  color:#009640!important;
  font-style:normal!important;
  font-size:12px!important;
  margin-left:2px!important;
}

.pedidoPeriodoPanel{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:48px!important;
  z-index:80!important;
  background:#fff!important;
  border:1px solid #d9e7df!important;
  border-radius:17px!important;
  padding:12px!important;
  box-shadow:0 18px 38px rgba(20,50,35,.18)!important;
}

.pedidoPeriodoQuick{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

.pedidoPeriodoQuick button,
#pedidosPeriodoAplicar{
  min-height:36px!important;
  border:1px solid #d8e3dc!important;
  background:#f8fbf9!important;
  color:#405363!important;
  border-radius:12px!important;
  padding:0 10px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
}

.pedidoPeriodoQuick button.active,
#pedidosPeriodoAplicar{
  border-color:#009640!important;
  background:#009640!important;
  color:#fff!important;
}

.pedidoPeriodoCustom{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  gap:8px!important;
  margin-top:10px!important;
  align-items:end!important;
}

.pedidoPeriodoCustom[hidden],
.pedidoPeriodoPanel[hidden]{
  display:none!important;
}

.pedidoPeriodoCustom label{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  color:#657889!important;
  font-size:11px!important;
  font-weight:800!important;
}

.pedidoPeriodoCustom input{
  height:36px!important;
  border:1px solid #d5e0da!important;
  border-radius:11px!important;
  padding:0 8px!important;
  color:#263846!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  background:#fff!important;
  outline:none!important;
}

.pedidoPeriodoCustom input:focus{
  border-color:#009640!important;
  box-shadow:0 0 0 3px rgba(0,150,64,.10)!important;
}

@media (min-width:760px){
  .pedidoPeriodoBox{
    margin-top:0!important;
  }

  .searchPanel .searchInputWrap + .pedidoPeriodoBox{
    margin-top:10px!important;
  }

  .pedidoPeriodoBtn{
    max-width:240px!important;
    margin-left:auto!important;
  }

  .pedidoPeriodoPanel{
    left:auto!important;
    width:390px!important;
  }
}

@media (max-width:390px){
  .pedidoPeriodoCustom{
    grid-template-columns:1fr!important;
  }
}

/* v44 - Pedidos: período ao lado dos filtros e auditoria dos totalizadores */
.pedidoFilterLine{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:10px!important;
}
.pedidoFilterLine .pedidoFilterRow{
  margin-top:0!important;
  flex:1 1 auto!important;
}
.pedidoFilterLine .pedidoPeriodoBox{
  flex:0 0 auto!important;
  margin:0!important;
  position:relative!important;
}
.pedidoPeriodoBtn{
  height:38px!important;
  white-space:nowrap!important;
  border-radius:999px!important;
  border:1px solid rgba(0,150,64,.30)!important;
  background:linear-gradient(180deg,#ffffff,#f2fbf6)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.06)!important;
  color:#1f3b2b!important;
}
.pedidoPeriodoBtn span{
  color:#52615a!important;
}
.pedidoPeriodoBtn strong{
  color:#009640!important;
  font-weight:800!important;
}
.pedidoPeriodoPanel{
  right:0!important;
  left:auto!important;
  top:44px!important;
  z-index:90!important;
}
.pedidosStats > div{
  cursor:pointer!important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease!important;
}
.pedidosStats > div:hover,
.pedidosStats > div:active{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
  border-color:rgba(0,150,64,.24)!important;
}
.pedidosStats > div::after{
  content:'Ver pedidos';
  display:block;
  margin-top:5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#8b9a92;
}
.pedidoPeriodoDialog,
.pedidoAuditoriaModal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
.pedidoPeriodoDialog.open,
.pedidoAuditoriaModal.open{
  display:block;
}
.pedidoPeriodoOverlay,
.pedidoAuditoriaOverlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.50);
  backdrop-filter:blur(3px);
}
.pedidoPeriodoPanelModal,
.pedidoAuditoriaPanel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(92vw,430px);
  max-height:86vh;
  overflow:hidden;
  background:#fff;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.26);
  border:1px solid rgba(15,23,42,.08);
}
.pedidoPeriodoModalHeader,
.pedidoAuditoriaHeader{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:18px 18px 12px;
  border-bottom:1px solid #eef2f0;
}
.pedidoPeriodoModalHeader strong,
.pedidoAuditoriaHeader strong{
  display:block;
  font-size:17px;
  color:#10251b;
}
.pedidoPeriodoModalHeader span,
.pedidoAuditoriaHeader span{
  display:block;
  margin-top:3px;
  font-size:13px;
  color:#6b7d73;
}
.pedidoPeriodoClose,
.pedidoAuditoriaClose{
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f0f4f2;
  color:#23352c;
  font-size:22px;
  line-height:34px;
}
.pedidoPeriodoModalBody{
  padding:18px;
}
.pedidoPeriodoCalendarGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.pedidoPeriodoCalendarField{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  font-weight:800;
  color:#53655c;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pedidoPeriodoCalendarField input{
  height:46px;
  border-radius:14px;
  border:1px solid #cad9d1;
  background:#fff;
  padding:0 12px;
  font-size:15px;
  font-weight:700;
  color:#182c22;
  outline:none;
}
.pedidoPeriodoCalendarField input:focus{
  border-color:#009640;
  box-shadow:0 0 0 4px rgba(0,150,64,.12);
}
.pedidoPeriodoModalActions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:0 18px 18px;
}
.pedidoPeriodoModalActions button{
  height:42px;
  padding:0 16px;
  border-radius:999px;
  font-weight:800;
  border:1px solid #d7e0dc;
  background:#f8faf9;
  color:#37483f;
}
.pedidoPeriodoModalActions button.confirm{
  border-color:#009640;
  background:#009640;
  color:#fff;
  box-shadow:0 8px 18px rgba(0,150,64,.24);
}
.pedidoAuditoriaPanel{
  width:min(94vw,620px);
  display:flex;
  flex-direction:column;
}
.pedidoAuditoriaBody{
  overflow:auto;
  padding:12px 14px 16px;
}
.pedidoAuditoriaResumo{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:12px 14px;
  margin-bottom:12px;
  border-radius:16px;
  background:linear-gradient(180deg,#f7fbf9,#eef8f2);
  border:1px solid rgba(0,150,64,.12);
}
.pedidoAuditoriaResumo span{
  color:#64756c;
  font-size:13px;
  font-weight:700;
}
.pedidoAuditoriaResumo strong{
  color:#009640;
  font-size:18px;
}
.pedidoAuditoriaLista{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.pedidoAuditRow{
  width:100%;
  text-align:left;
  border:1px solid #e5ebe8;
  background:#fff;
  border-radius:16px;
  padding:12px;
  box-shadow:0 5px 14px rgba(0,0,0,.045);
}
.pedidoAuditRowTop{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.pedidoAuditRowTop strong{
  color:#12251c;
  font-size:14px;
}
.pedidoAuditRowTop em{
  font-style:normal;
  font-weight:900;
  color:#009640;
  white-space:nowrap;
}
.pedidoAuditRowMeta{
  margin-top:5px;
  color:#718078;
  font-size:12px;
  font-weight:700;
}
.pedidoAuditRow:hover,
.pedidoAuditRow:active{
  border-color:rgba(0,150,64,.35);
  background:#fbfffd;
}
@media(max-width:560px){
  .pedidoFilterLine{
    align-items:stretch!important;
    gap:8px!important;
  }
  .pedidoFilterLine .pedidoFilterRow{
    min-width:0!important;
  }
  .pedidoPeriodoBtn{
    height:36px!important;
    padding:0 11px!important;
    font-size:12px!important;
  }
  .pedidoPeriodoBtn span{
    display:none!important;
  }
  .pedidoPeriodoPanel{
    right:0!important;
    width:230px!important;
  }
  .pedidoPeriodoCalendarGrid{
    grid-template-columns:1fr;
  }
  .pedidoAuditoriaPanel,
  .pedidoPeriodoPanelModal{
    top:auto;
    bottom:0;
    left:0;
    right:0;
    width:100%;
    max-height:88vh;
    transform:none;
    border-radius:24px 24px 0 0;
  }
}

/* v45 - Produtos: filtro de promoção e estoque sempre em largura total */
.produtoFilterLine{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 14px;
  padding:9px 10px;
  border:1px solid rgba(0,150,64,.12);
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f6fbf8);
  box-shadow:0 5px 14px rgba(0,0,0,.035);
}

.produtoFilterLine > span{
  color:#617080;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.produtoPromoFilter{
  display:flex;
  gap:7px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.produtoPromoBtn{
  height:32px;
  border:1px solid #d8dfe5;
  background:#fff;
  color:#607184;
  border-radius:999px;
  padding:0 13px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 2px 7px rgba(0,0,0,.035);
}

.produtoPromoBtn.active{
  background:#009640;
  border-color:#009640;
  color:#fff;
  box-shadow:0 6px 14px rgba(0,150,64,.20);
}

.detailSection .stockBox,
.detailSection .stockTable,
.detailSection .stockEmpty,
.detailSection .loadingStock{
  width:100%;
  box-sizing:border-box;
}

.detailSection .stockBox{
  grid-column:1 / -1;
}

@media (max-width:420px){
  .produtoFilterLine{
    align-items:flex-start;
    flex-direction:column;
  }
  .produtoPromoFilter{
    width:100%;
  }
}

/* v46 - Pedidos: filtros por status/período e auditoria colorida */
.pedidoFilterLineV46{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:11px!important;
}
.pedidoStatusBox,
.pedidoPeriodoBox{
  position:relative!important;
  min-width:0!important;
}
.pedidoStatusBtn,
.pedidoPeriodoBtn{
  width:100%!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  border-radius:999px!important;
  border:1px solid rgba(0,150,64,.30)!important;
  background:linear-gradient(180deg,#ffffff,#f2fbf6)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.06)!important;
  color:#1f3b2b!important;
  font-weight:800!important;
}
.pedidoStatusBtn span,
.pedidoPeriodoBtn span{
  color:#52615a!important;
  font-weight:700!important;
}
.pedidoStatusBtn strong,
.pedidoPeriodoBtn strong{
  color:#009640!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pedidoStatusBtn em,
.pedidoPeriodoBtn em{
  font-style:normal!important;
  color:#009640!important;
  font-weight:900!important;
}
.pedidoStatusPanel,
.pedidoPeriodoPanel{
  position:absolute!important;
  top:46px!important;
  left:0!important;
  right:0!important;
  z-index:95!important;
  min-width:100%!important;
}
.pedidoStatusPanel[hidden],
.pedidoPeriodoPanel[hidden]{display:none!important;}
.pedidoStatusQuick,
.pedidoPeriodoQuick{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid #dfe9e4!important;
  border-radius:17px!important;
  box-shadow:0 18px 40px rgba(0,0,0,.14)!important;
}
.pedidoStatusQuick button,
.pedidoPeriodoQuick button{
  border:0!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  background:#f7faf8!important;
  color:#26382f!important;
  font-weight:800!important;
  text-align:left!important;
}
.pedidoStatusQuick button.active,
.pedidoPeriodoQuick button.active{
  background:#009640!important;
  color:#fff!important;
}
.pedidoAuditoriaResumo.auditTotal{
  background:linear-gradient(180deg,#f5f9ff,#edf5ff)!important;
  border-color:rgba(13,92,151,.16)!important;
}
.pedidoAuditoriaResumo.auditTotal strong{color:#0d5c97!important;}
.pedidoAuditoriaResumo.auditPendentes{
  background:linear-gradient(180deg,#fffaf0,#fff3d7)!important;
  border-color:rgba(199,129,0,.20)!important;
}
.pedidoAuditoriaResumo.auditPendentes strong{color:#c78100!important;}
.pedidoAuditoriaResumo.auditFaturados{
  background:linear-gradient(180deg,#f7fbf9,#eef8f2)!important;
  border-color:rgba(0,150,64,.16)!important;
}
.pedidoAuditoriaResumo.auditFaturados strong{color:#009640!important;}
.pedidoAuditoriaResumo.auditCancelados{
  background:linear-gradient(180deg,#fff7f7,#ffecec)!important;
  border-color:rgba(217,48,37,.18)!important;
}
.pedidoAuditoriaResumo.auditCancelados strong{color:#d93025!important;}
.pedidoAuditRow{
  position:relative!important;
  overflow:hidden!important;
}
.pedidoAuditRow::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#009640;
}
.pedidoAuditRow.statusPendente::before,
.pedidoAuditRow.statusAtendido::before,
.pedidoAuditRow.statusBloqueado::before,
.pedidoAuditRow.statusSeparacao::before{background:#c78100!important;}
.pedidoAuditRow.statusFaturado::before{background:#009640!important;}
.pedidoAuditRow.statusCancelado::before{background:#d93025!important;}
.pedidoAuditRow.statusIndefinido::before{background:#64748b!important;}
.pedidoAuditRow.statusPendente .pedidoAuditRowTop em,
.pedidoAuditRow.statusAtendido .pedidoAuditRowTop em,
.pedidoAuditRow.statusBloqueado .pedidoAuditRowTop em,
.pedidoAuditRow.statusSeparacao .pedidoAuditRowTop em{color:#c78100!important;}
.pedidoAuditRow.statusFaturado .pedidoAuditRowTop em{color:#009640!important;}
.pedidoAuditRow.statusCancelado .pedidoAuditRowTop em{color:#d93025!important;}
.pedidoAuditRow.statusIndefinido .pedidoAuditRowTop em{color:#64748b!important;}
.pedidoAuditRow.statusCancelado:hover,
.pedidoAuditRow.statusCancelado:active{
  border-color:rgba(217,48,37,.32)!important;
  background:#fffafa!important;
}
.pedidoAuditRow.statusFaturado:hover,
.pedidoAuditRow.statusFaturado:active{
  border-color:rgba(0,150,64,.35)!important;
  background:#fbfffd!important;
}
@media(max-width:560px){
  .pedidoFilterLineV46{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .pedidoStatusBtn,
  .pedidoPeriodoBtn{
    height:38px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .pedidoStatusBtn span,
  .pedidoPeriodoBtn span{
    display:none!important;
  }
  .pedidoStatusPanel,
  .pedidoPeriodoPanel{
    top:43px!important;
  }
}

/* Ajustes v47 - estoque negativo e filtro da régua de cobrança */
.stockRow.stockNegative{
  background:#fff6f6!important;
}

.stockRow b.stockNegative,
.stockTotals strong.stockNegative{
  color:#d93025!important;
}

.dashSectionTitle{
  gap:10px!important;
}

.dashSectionActions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.dashFinanceiroBuscaBtn{
  width:34px;
  height:34px;
  border:1px solid #d7e7dc;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f2f8f4 100%);
  color:#009640;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(0,80,40,.10);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.dashFinanceiroBuscaBtn span{
  display:block;
  font-size:15px;
  line-height:1;
}

.dashFinanceiroBuscaBtn.active{
  background:linear-gradient(180deg,#009640 0%,#087d3a 100%);
  border-color:#009640;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,150,64,.24);
}

.dashFinanceiroBuscaBtn:active{
  transform:translateY(1px);
}

/* v54 - Pedidos: menu de período no mesmo padrão visual do status */
.pedidoFilterLineV46 .pedidoPeriodoPanel{
  left:0!important;
  right:0!important;
  width:auto!important;
  min-width:100%!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}

.pedidoFilterLineV46 .pedidoPeriodoQuick{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid #dfe9e4!important;
  border-radius:17px!important;
  box-shadow:0 18px 40px rgba(0,0,0,.14)!important;
}

.pedidoFilterLineV46 .pedidoPeriodoQuick button{
  width:100%!important;
  min-height:0!important;
  border:0!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  background:#f7faf8!important;
  color:#26382f!important;
  font-weight:800!important;
  text-align:left!important;
  white-space:normal!important;
  line-height:1.25!important;
  box-shadow:none!important;
}

.pedidoFilterLineV46 .pedidoPeriodoQuick button.active{
  background:#009640!important;
  color:#fff!important;
}
/* v55 - Régua de cobrança: lupa fixa no HTML da tela inicial */
.dashSectionTitle > div:first-child{
  min-width:0;
}
.dashSectionTitle .dashSectionActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
.dashSectionTitle .dashFinanceiroBuscaBtn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border:1px solid #cfe7d8!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#ffffff 0%,#effaf3 100%)!important;
  color:#009640!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 18px rgba(0,80,40,.10)!important;
  cursor:pointer!important;
}
.dashSectionTitle .dashFinanceiroBuscaBtn span{
  display:block!important;
  color:inherit!important;
  font-size:16px!important;
  line-height:1!important;
  margin:0!important;
}
.dashSectionTitle .dashFinanceiroBuscaBtn.active{
  background:linear-gradient(180deg,#009640 0%,#087d3a 100%)!important;
  border-color:#009640!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,150,64,.24)!important;
}


/* v57 - garante clique/touch da lupa da régua de cobrança */
.dashSectionTitle .dashFinanceiroBuscaBtn,
.dashFinanceiroBuscaBtn,
[data-dashboard-financeiro-busca]{
  position:relative!important;
  z-index:30!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.dashSectionTitle .dashFinanceiroBuscaBtn span,
.dashFinanceiroBuscaBtn span,
[data-dashboard-financeiro-busca] span{
  pointer-events:none!important;
}

/* v58 - detalhe de pedido aberto pela auditoria fica acima do modal principal */
.pedidoDetailModal.auditStacked{
  z-index:10001!important;
}

/* v62 - Régua de cobrança: lupa discreta e modal limpo */
.dashSectionTitle .dashSectionActions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  border:1px solid rgba(0,150,64,.24)!important;
  border-radius:999px!important;
  background:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 6px 16px rgba(0,0,0,.08)!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn span{
  width:13px!important;
  height:13px!important;
  border:2px solid #009640!important;
  border-radius:50%!important;
  display:block!important;
  position:relative!important;
  font-size:0!important;
  line-height:0!important;
  pointer-events:none!important;
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn span:after{
  content:"";
  width:7px;
  height:2px;
  background:#009640;
  border-radius:2px;
  position:absolute;
  right:-6px;
  bottom:-4px;
  transform:rotate(45deg);
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn.active{
  background:#009640!important;
  border-color:#009640!important;
  box-shadow:0 8px 20px rgba(0,150,64,.24)!important;
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn.active span{
  border-color:#fff!important;
}

#dashFinanceiroBuscaBtn.dashFinanceiroBuscaBtn.active span:after{
  background:#fff!important;
}

.reguaFiltroModal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  font-family:'Source Sans Pro', Arial, sans-serif;
}

.reguaFiltroOverlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(3px);
}

.reguaFiltroPanel{
  position:relative;
  width:min(420px, 100%);
  background:#fff;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  overflow:hidden;
  animation:reguaFiltroIn .14s ease-out;
}

@keyframes reguaFiltroIn{
  from{opacity:0; transform:translateY(10px) scale(.98)}
  to{opacity:1; transform:translateY(0) scale(1)}
}

.reguaFiltroHeader{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 18px 14px;
  border-bottom:1px solid #eef2f0;
}

.reguaFiltroHeader strong{
  display:block;
  color:#17251e;
  font-size:18px;
  line-height:1.1;
  font-weight:900;
}

.reguaFiltroHeader small{
  display:block;
  margin-top:3px;
  color:#647067;
  font-size:13px;
  line-height:1.25;
}

.reguaFiltroIcon{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:14px;
  background:#eaf8f0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.reguaFiltroIcon span{
  width:13px;
  height:13px;
  border:2px solid #009640;
  border-radius:50%;
  display:block;
  position:relative;
}

.reguaFiltroIcon span:after{
  content:"";
  width:7px;
  height:2px;
  background:#009640;
  border-radius:2px;
  position:absolute;
  right:-6px;
  bottom:-4px;
  transform:rotate(45deg);
}

.reguaFiltroClose{
  margin-left:auto;
  width:34px;
  height:34px;
  border:0;
  border-radius:12px;
  background:#f3f6f4;
  color:#5e6b63;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.reguaFiltroBody{
  padding:18px;
}

.reguaFiltroBody label{
  display:block;
  margin-bottom:7px;
  color:#42524a;
  font-size:13px;
  font-weight:800;
}

.reguaFiltroBody input{
  width:100%;
  height:48px;
  border:1px solid #dce8e1;
  border-radius:15px;
  background:#fbfdfc;
  padding:0 14px;
  color:#17251e;
  font-size:16px;
  font-weight:700;
  outline:none;
  box-sizing:border-box;
}

.reguaFiltroBody input:focus{
  border-color:#009640;
  box-shadow:0 0 0 4px rgba(0,150,64,.10);
  background:#fff;
}

.reguaFiltroActions{
  display:flex;
  gap:10px;
  padding:0 18px 18px;
}

.reguaFiltroActions button{
  flex:1;
  height:44px;
  border:0;
  border-radius:14px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
}

.reguaFiltroClear{
  background:#f1f5f3;
  color:#43524a;
}

.reguaFiltroApply{
  background:#009640;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,150,64,.22);
}


.dashKpi.dashKpiAuditavel{
  cursor:pointer;
  position:relative;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

.dashKpi.dashKpiAuditavel:active{
  transform:scale(.985);
}

.dashKpi.dashKpiAuditavel:after{
  content:'VER PEDIDOS';
  display:block;
  margin-top:7px;
  font-size:10px;
  line-height:1;
  color:#8a9bad;
  font-weight:700;
}

/* v71 - trava real quando suportada + fallback visual em paisagem */
.orientationLockOverlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
  background:#f4f7f4;
  color:#1f2933;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  font-family:'Source Sans Pro', Arial, sans-serif;
}
.orientationLockBox{
  width:min(360px, 88vw);
  background:#ffffff;
  border-radius:24px;
  padding:28px 24px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  border:1px solid rgba(0,150,64,.16);
}
.orientationLockIcon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  border-radius:18px;
  background:linear-gradient(135deg,#009640,#00b65a);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  font-weight:800;
}
.orientationLockTitle{
  font-size:22px;
  font-weight:800;
  margin-bottom:6px;
  color:#0f172a;
}
.orientationLockText{
  font-size:15px;
  line-height:1.35;
  color:#4b5563;
}
@media screen and (orientation: landscape){
  .orientationLockOverlay{display:flex;}
  body.orientation-lock-active{overflow:hidden;}
}


/* v72 - evita que o topo sticky cubra o início do dashboard após restauração de scroll */
html{
  scroll-padding-top:calc(76px + env(safe-area-inset-top, 0px));
}

.appTopbar{
  top:0!important;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}

.dashboardContent{
  scroll-margin-top:calc(76px + env(safe-area-inset-top, 0px));
  padding-top:16px!important;
}

.dashGreeting{
  scroll-margin-top:calc(76px + env(safe-area-inset-top, 0px));
}


.installOnlyMode{
  background:#f3f7f5;
}
.installOnlyPage{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding:42px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f7f5;
}
.installOnlyBg{
  position:absolute;
  inset:0;
  background:url('../images/background_linhas.png') top center no-repeat;
  background-size:cover;
  opacity:.62;
  pointer-events:none;
}
.installOnlyCard{
  width:100%;
  max-width:430px;
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.96);
  border:1px solid #dcebe3;
  border-radius:24px;
  padding:28px 22px 24px;
  text-align:center;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
}
.installOnlyLogo{
  width:210px;
  max-width:76%;
  height:auto;
  display:block;
  margin:0 auto 18px;
}
.installOnlyBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  background:#e7f8ed;
  color:#009640;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  margin-bottom:14px;
}
.installOnlyCard h1{
  margin:0 0 10px;
  color:#173246;
  font-size:26px;
  line-height:1.08;
  font-weight:800;
}
.installOnlyCard p{
  margin:0 auto 18px;
  color:#5d6f7e;
  font-size:16px;
  line-height:1.45;
  max-width:350px;
}
.installSteps{
  margin-top:14px;
  background:#f4faf7;
  border:1px solid #dbeee4;
  border-radius:16px;
  padding:14px;
  text-align:left;
  color:#213747;
  font-size:16px;
  line-height:1.45;
}
.installSteps div + div{
  margin-top:8px;
}
.installSteps.compact{
  text-align:center;
  font-size:14px;
  color:#657685;
}
.installOnlyBtn{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:14px;
  background:#009640;
  color:#fff;
  font-weight:800;
  font-size:17px;
  letter-spacing:.3px;
  align-items:center;
  justify-content:center;
  display:inline-flex;
  box-shadow:0 10px 24px rgba(0,150,64,.22);
}
.installOnlyBtn:active{
  transform:scale(.99);
  background:#007d35;
}


/* v77 - Ícones universais do menu inferior */
.navbtn .ico{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  line-height:0;
}
.navIcon{
  width:30px;
  height:30px;
  display:block;
  object-fit:contain;
  opacity:.62;
  transform:translateY(1px);
  transition:opacity .18s ease, transform .18s ease, filter .18s ease;
}
.navbtn.active .navIcon{
  opacity:1;
  transform:translateY(0) scale(1.08);
  filter:saturate(1.08) contrast(1.03);
}
.navbtn.active .txt{
  color:var(--green-dark);
}
@media (max-width:360px){
  .navbtn .ico,
  .navIcon{
    width:28px;
    height:28px;
  }
}

/* v78 - Clientes com cobranças em aberto */
.clienteNomeComCobranca{
  color:#d93025 !important;
}

.clienteItemComCobranca{
  border-left:4px solid #d93025;
}

.clienteItemComCobranca .localItemMeta small{
  color:#d93025;
  font-weight:800;
}

.clienteCobrancasResumo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:12px 14px;
  border-radius:16px;
  background:#fff2f1;
  border:1px solid rgba(217,48,37,.18);
  color:#8f1f18;
}

.clienteCobrancasResumo strong{
  font-size:15px;
  font-weight:900;
}

.clienteCobrancasResumo span{
  font-size:17px;
  font-weight:900;
  color:#d93025;
  white-space:nowrap;
}

.clienteCobrancaItem{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  border-top:1px solid rgba(20,43,61,.08);
}

.clienteCobrancaItem:first-of-type{
  border-top:0;
}

.clienteCobrancaItem strong{
  display:block;
  font-size:14px;
  color:#142b3d;
}

.clienteCobrancaItem span{
  display:block;
  margin-top:2px;
  font-size:13px;
  color:#6f7f8f;
}

.clienteCobrancaValor{
  min-width:110px;
  text-align:right;
}

.clienteCobrancaValor strong{
  color:#d93025;
  font-size:15px;
}

/* v79 - Cobranças do cliente no padrão da régua */
.clienteCobrancasRegua{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.clienteFinanceItem{
  margin:0;
  cursor:default;
}


/* v84 - Tablet/iPad: app em tela cheia + troca de páginas dentro do frame */
@media (min-width:700px) and (pointer:coarse){
  html,
  body{
    width:100%;
    min-height:100%;
    background:#eef3f8;
  }

  .app{
    max-width:none!important;
    width:100%!important;
    min-height:100dvh;
    margin:0!important;
    background:#eef3f8;
  }

  .appTopbar,
  .topbar{
    width:100%;
    padding-left:max(22px, env(safe-area-inset-left));
    padding-right:max(22px, env(safe-area-inset-right));
  }

  .content{
    width:100%;
    min-height:calc(100dvh - 82px);
    padding:20px clamp(22px, 4vw, 48px) 112px!important;
    background:#eef3f8;
  }

  .dashboardContent{
    width:100%;
    padding-top:20px!important;
  }

  .dashGreeting,
  .dashSection,
  .dashKpi,
  .localListStats,
  .searchPanel,
  .localItem,
  .card{
    max-width:none;
  }

  .dashKpis{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
  }

  .dashSection{
    padding:18px;
  }

  .footer{
    left:0!important;
    right:0!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    height:82px;
    padding-left:max(10px, env(safe-area-inset-left));
    padding-right:max(10px, env(safe-area-inset-right));
  }

  #toast{
    max-width:520px;
  }

  .detailPanel{
    max-width:min(720px, calc(100vw - 56px));
  }
}

@media (min-width:900px) and (pointer:coarse){
  .content{
    padding-left:clamp(36px, 6vw, 84px)!important;
    padding-right:clamp(36px, 6vw, 84px)!important;
  }

  .dashList{
    gap:12px;
  }
}

.routeFrameLoading .content{
  opacity:.55;
  pointer-events:none;
  transition:opacity .12s ease;
}

.content{
  transition:opacity .12s ease;
}

.inlineLoading{
  min-height:220px!important;
  background:transparent!important;
}

/* v87 - destaque de validação no cadastro de cliente do novo pedido */
.inputError,
.orderModal input.inputError,
.detailModal input.inputError{
  border-color:#dc2626 !important;
  background:#fff1f2 !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
}


/* v88 - evita seta voltar presa ao retornar da tela de novo pedido */
body[data-route="lancamento_pedido"] .backBtn{
  position: static !important;
  top: auto !important;
  left: auto !important;
  z-index: auto !important;
}
body:not([data-route="lancamento_pedido"]) #btnPedidoVoltar{
  display: none !important;
}

/* v89 - modal de cliente protegido contra fechamento acidental */
#modalClientePedido[data-modal-protegido="1"] .detailOverlay{ cursor: default; }

/* v90 - lançamento de pedido: ações de item mais claras */
.itensTitleRow{
  align-items:center!important;
}

.itemActionGroup{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}

.sectionTitleRow .itemActionGroup button,
.itemActionGroup button{
  width:auto!important;
  min-width:0!important;
  height:44px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 10px 18px rgba(10,22,32,.10)!important;
  white-space:nowrap!important;
}

#btnPedidoAdicionarItem.addItemSoftBtn,
.sectionTitleRow button#btnPedidoAdicionarItem.addItemSoftBtn{
  background:#009640!important;
  color:#fff!important;
  border:0!important;
}

#btnPedidoOfertas.offerSoftBtn,
.sectionTitleRow button#btnPedidoOfertas.offerSoftBtn{
  background:#f28c28!important;
  color:#fff!important;
  border:0!important;
}

#btnPedidoOfertas.offerSoftBtn:active,
#btnPedidoAdicionarItem.addItemSoftBtn:active{
  transform:translateY(1px)!important;
}

@media (max-width:390px){
  .itemActionGroup{
    gap:6px!important;
  }

  .sectionTitleRow .itemActionGroup button,
  .itemActionGroup button{
    height:42px!important;
    padding:0 11px!important;
    font-size:13px!important;
    border-radius:14px!important;
  }
}


/* v92 - autocomplete flutuante sem deslocar o layout */
#pedidoClienteSugestoes,
#itemProdutoSugestoes{
  min-height:0 !important;
}

.autoSuggest.floatingAutoSuggest{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  margin:0 !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #d8e3ec !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(16,43,63,.20) !important;
  box-sizing:border-box !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

.autoSuggest.floatingAutoSuggest:empty{
  display:none !important;
}

.autoSuggest.floatingAutoSuggest .autoSuggestOption,
.autoSuggest.floatingAutoSuggest button{
  width:100% !important;
  border:1px solid #dce5ee !important;
  border-radius:14px !important;
  background:#f9fbfd !important;
  padding:10px 11px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

.autoSuggest.floatingAutoSuggest .autoSuggestOption:active,
.autoSuggest.floatingAutoSuggest button:active{
  transform:scale(.99) !important;
}

.autoSuggest.floatingAutoSuggest .autoSuggestOption strong,
.autoSuggest.floatingAutoSuggest button strong{
  display:block !important;
  font-size:15px !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  color:#102b3f !important;
}

.autoSuggest.floatingAutoSuggest .autoSuggestOption span,
.autoSuggest.floatingAutoSuggest button span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#708092 !important;
}

.autoSuggest.floatingAutoSuggest .clienteSuggestOption.inadimplente{
  background:#fff7f7 !important;
  border-color:#f1b8b8 !important;
}

.autoSuggest.floatingAutoSuggest .clienteSuggestOption.inadimplente strong{
  color:#c02626 !important;
}

.autoSuggest.floatingAutoSuggest .clienteSuggestOption.inadimplente span{
  color:#b24545 !important;
}

.autoSuggestEmpty{
  padding:11px 12px !important;
  color:#708092 !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-align:center !important;
}


/* v95 - Ofertas: modal com tamanho fixo e lista rolável */
#modalOfertasPedido .detailPanel{
  height:min(76vh, 680px) !important;
  min-height:min(560px, calc(100vh - 28px)) !important;
  max-height:calc(100vh - 20px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

#modalOfertasPedido .detailHeader{
  flex:0 0 auto !important;
}

#modalOfertasPedido .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding-top:16px !important;
}

#modalOfertasPedido .offersSearchWrap{
  flex:0 0 auto !important;
  margin-bottom:12px !important;
}

#modalOfertasPedido #ofertasLista{
  flex:1 1 auto !important;
  min-height:280px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  padding:2px 2px 14px !important;
  align-content:start !important;
}

#modalOfertasPedido #ofertasLista .dashEmpty{
  min-height:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

@supports (height:100dvh){
  #modalOfertasPedido .detailPanel{
    height:min(76dvh, 680px) !important;
    min-height:min(560px, calc(100dvh - 28px)) !important;
    max-height:calc(100dvh - 20px) !important;
  }
}

@media (max-height:640px){
  #modalOfertasPedido .detailPanel{
    height:calc(100vh - 18px) !important;
    min-height:0 !important;
  }
  #modalOfertasPedido #ofertasLista{
    min-height:180px !important;
  }
}

/* v96 - Produto do item: autocomplete preso ao campo, sem deslocar layout */
#modalItemPedido .detailBody{
  position:relative !important;
}

#itemProdutoSugestoes.pedidoProdutoSuggestV96{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #d8e3ec !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(16,43,63,.22) !important;
  box-sizing:border-box !important;
  -webkit-overflow-scrolling:touch !important;
}

#itemProdutoSugestoes.pedidoProdutoSuggestV96 .produtoSuggestOptionV96{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:14px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#itemProdutoSugestoes.pedidoProdutoSuggestV96 .produtoSuggestOptionV96 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#102b3f !important;
}

#itemProdutoSugestoes.pedidoProdutoSuggestV96 .produtoSuggestOptionV96 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#708092 !important;
}

#itemProdutoSugestoes.pedidoProdutoSuggestV96 .produtoSuggestOptionV96:active{
  transform:scale(.99) !important;
  background:#eef8f2 !important;
}


/* v97 - iPad/tablet: autocomplete do produto preso exatamente à base do input */
#modalItemPedido .produtoAutocompleteAnchor{
  position:relative !important;
  display:block !important;
  width:100% !important;
  overflow:visible !important;
  z-index:40 !important;
}

#modalItemPedido .produtoAutocompleteAnchor label{
  margin:0 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:calc(100% + 6px) !important;
  width:100% !important;
  max-height:300px !important;
  overflow:auto !important;
  z-index:100050 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #d8e3ec !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(16,43,63,.24) !important;
  box-sizing:border-box !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97:empty{
  display:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 .produtoSuggestOptionV97,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 .produtoSuggestOptionV96{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:14px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#102b3f !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#708092 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 .produtoSuggestOptionV97:active,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97 .produtoSuggestOptionV96:active{
  transform:scale(.99) !important;
  background:#eef8f2 !important;
}

@media (min-width:700px){
  #modalItemPedido .detailPanel{
    overflow:visible !important;
  }
  #modalItemPedido .detailBody{
    overflow:visible !important;
  }
  #modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV97{
    max-height:min(320px, 38vh) !important;
  }
}

/* v98 - Produto do item: autocomplete alinhado por coordenada interna do modal */
#modalItemPedido .detailBody{
  position:relative !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98{
  position:absolute !important;
  left:var(--produto-suggest-left, 18px) !important;
  top:var(--produto-suggest-top, 92px) !important;
  width:var(--produto-suggest-width, calc(100% - 36px)) !important;
  right:auto !important;
  max-width:none !important;
  max-height:min(310px, 34vh) !important;
  overflow:auto !important;
  z-index:100500 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #d8e3ec !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(16,43,63,.26) !important;
  box-sizing:border-box !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  transform:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98:empty{
  display:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98 .produtoSuggestOptionV98,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98 .produtoSuggestOptionV97,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98 .produtoSuggestOptionV96{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:14px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#102b3f !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV98 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#708092 !important;
}


/* v99 - modais do lançamento protegidos e estáveis com teclado */
#modalClientePedido.open,
#modalItemPedido.open,
#modalOfertasPedido.open{
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
  overflow:hidden !important;
}

#modalClientePedido .detailPanel,
#modalItemPedido .detailPanel,
#modalOfertasPedido .detailPanel{
  width:min(92vw, 760px) !important;
  height:auto !important;
  max-height:calc(var(--pedido-modal-vh, 100vh) - 28px) !important;
  transform:none !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

#modalClientePedido .detailHeader,
#modalItemPedido .detailHeader,
#modalOfertasPedido .detailHeader{
  flex:0 0 auto !important;
}

#modalClientePedido .detailBody,
#modalItemPedido .detailBody,
#modalOfertasPedido .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}

#modalClientePedido .detailPanel{
  height:min(760px, calc(var(--pedido-modal-vh, 100vh) - 28px)) !important;
}

#modalItemPedido .detailPanel{
  height:min(720px, calc(var(--pedido-modal-vh, 100vh) - 28px)) !important;
}

#modalOfertasPedido .detailPanel{
  height:min(700px, calc(var(--pedido-modal-vh, 100vh) - 28px)) !important;
}

@media (max-height:640px){
  #modalClientePedido.open,
  #modalItemPedido.open,
  #modalOfertasPedido.open{
    align-items:center !important;
    padding:8px !important;
  }
  #modalClientePedido .detailPanel,
  #modalItemPedido .detailPanel,
  #modalOfertasPedido .detailPanel{
    max-height:calc(var(--pedido-modal-vh, 100vh) - 16px) !important;
  }
}

/* v99 - autocomplete do produto preso ao input, sem coordenada global */
#modalItemPedido .produtoAutocompleteAnchor{
  position:relative !important;
  overflow:visible !important;
  z-index:80 !important;
}

#modalItemPedido .produtoAutocompleteAnchor label{
  margin:0 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99{
  position:absolute !important;
  left:0 !important;
  top:calc(100% + 6px) !important;
  width:100% !important;
  max-height:min(300px, 36vh) !important;
  overflow:auto !important;
  z-index:100600 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #d8e3ec !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(16,43,63,.26) !important;
  box-sizing:border-box !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  transform:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99:empty,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99:not(.open){
  display:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99 .produtoSuggestOptionV99{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:14px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#102b3f !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#708092 !important;
}

#itemProdutoSelecionado{
  display:none !important;
}

.qtyStepper{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 44px !important;
  gap:8px !important;
  align-items:center !important;
}

.qtyStepper button{
  height:48px !important;
  border:0 !important;
  border-radius:16px !important;
  background:#eef8f2 !important;
  color:#009640 !important;
  font-size:24px !important;
  font-weight:900 !important;
  box-shadow:inset 0 0 0 1px rgba(0,150,64,.18) !important;
}

.qtyStepper input{
  text-align:center !important;
  min-width:0 !important;
}

/* v100 - lançamento de pedido: ajustes finais */
.orderBottomActions button:first-child{
  background:linear-gradient(135deg,#f0a12b,#e07f12) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(224,127,18,.22) !important;
}

.orderBottomActions button:first-child:active{
  transform:scale(.99);
}

#pedidoFrete.readonlyByItens,
#pedidoDesconto.readonlyByItens,
#pedidoAcrescimo.readonlyByItens{
  background:#eef3f6 !important;
  color:#8b9aa7 !important;
  cursor:not-allowed !important;
}

#pedidoClienteBusca[style*="display: none"] + #pedidoClienteTexto,
#pedidoClienteTexto{
  text-transform:uppercase;
}

/* v101 - Correção definitiva dos modais do lançamento em iPhone/iPad/Android */
#modalClientePedido.orderModal.open,
#modalItemPedido.orderModal.open,
#modalOfertasPedido.orderModal.open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100vw !important;
  height:var(--pedido-modal-vh, 100vh) !important;
  min-height:var(--pedido-modal-vh, 100vh) !important;
  padding:12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

#modalClientePedido.orderModal .detailOverlay,
#modalItemPedido.orderModal .detailOverlay,
#modalOfertasPedido.orderModal .detailOverlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(10,22,32,.54) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
}

#modalClientePedido.orderModal .detailPanel,
#modalItemPedido.orderModal .detailPanel,
#modalOfertasPedido.orderModal .detailPanel{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 auto !important;
  width:calc(100vw - 24px) !important;
  min-width:0 !important;
  max-width:720px !important;
  height:auto !important;
  max-height:calc(var(--pedido-modal-vh, 100vh) - 24px) !important;
  border-radius:26px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:0 24px 70px rgba(10,22,32,.34) !important;
}

#modalClientePedido.orderModal .detailHeader,
#modalItemPedido.orderModal .detailHeader,
#modalOfertasPedido.orderModal .detailHeader{
  flex:0 0 auto !important;
  border-radius:26px 26px 0 0 !important;
  background:#fff !important;
  color:#102b3f !important;
  border-bottom:1px solid #e4edf4 !important;
  box-sizing:border-box !important;
}

#modalClientePedido.orderModal .detailBody,
#modalItemPedido.orderModal .detailBody,
#modalOfertasPedido.orderModal .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  box-sizing:border-box !important;
}

#modalClientePedido.orderModal .detailPanel{
  max-width:780px !important;
}

#modalItemPedido.orderModal .detailPanel{
  max-width:720px !important;
}

#modalOfertasPedido.orderModal .detailPanel{
  max-width:740px !important;
}

#modalOfertasPedido.orderModal #ofertasLista{
  flex:1 1 auto !important;
  min-height:260px !important;
  max-height:none !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

@media (max-width:700px){
  #modalClientePedido.orderModal.open,
  #modalItemPedido.orderModal.open,
  #modalOfertasPedido.orderModal.open{
    padding:10px !important;
  }
  #modalClientePedido.orderModal .detailPanel,
  #modalItemPedido.orderModal .detailPanel,
  #modalOfertasPedido.orderModal .detailPanel{
    width:calc(100vw - 20px) !important;
    max-height:calc(var(--pedido-modal-vh, 100vh) - 20px) !important;
    border-radius:24px !important;
  }
  #modalClientePedido.orderModal .detailHeader,
  #modalItemPedido.orderModal .detailHeader,
  #modalOfertasPedido.orderModal .detailHeader{
    border-radius:24px 24px 0 0 !important;
  }
}

@media (max-height:560px){
  #modalClientePedido.orderModal.open,
  #modalItemPedido.orderModal.open,
  #modalOfertasPedido.orderModal.open{
    align-items:flex-start !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  #modalClientePedido.orderModal .detailPanel,
  #modalItemPedido.orderModal .detailPanel,
  #modalOfertasPedido.orderModal .detailPanel{
    max-height:calc(var(--pedido-modal-vh, 100vh) - 16px) !important;
  }
}

/* v101 - autocomplete do produto dentro do modal, colado ao input e sem escapar */
#modalItemPedido .produtoAutocompleteAnchor{
  position:relative !important;
  overflow:visible !important;
  z-index:20 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101{
  position:static !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  max-height:230px !important;
  overflow:auto !important;
  display:block !important;
  margin:6px 0 0 0 !important;
  padding:8px !important;
  box-sizing:border-box !important;
  border:1px solid #d8e3ec !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(16,43,63,.18) !important;
  -webkit-overflow-scrolling:touch !important;
  z-index:40 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101:empty,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101:not(.open){
  display:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101 .produtoSuggestOptionV101{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:13px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  margin:0 0 7px 0 !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101 .produtoSuggestOptionV101:last-child{
  margin-bottom:0 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#102b3f !important;
  white-space:normal !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#708092 !important;
  white-space:normal !important;
}

/* v102 - botão limpar filtro da régua */
.dashFinanceiroLimparBtn{
  height:34px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:#eef3f7;
  color:#17354a;
  font-weight:800;
  font-size:12px;
  letter-spacing:.02em;
  box-shadow:0 8px 18px rgba(15,35,50,.08);
  cursor:pointer;
  white-space:nowrap;
}
.dashFinanceiroLimparBtn:active{ transform:scale(.97); }
.dashSectionActions{ gap:8px; }

/* v103 - teclado em modais: reduz altura sem jogar painel para o topo + autocomplete produto restaurado */
#modalClientePedido.orderModal.open,
#modalItemPedido.orderModal.open,
#modalOfertasPedido.orderModal.open{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:var(--pedido-modal-top, 0px) !important;
  bottom:auto !important;
  height:var(--pedido-modal-vh, 100vh) !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:calc(env(safe-area-inset-top, 0px) + 10px) 10px calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

#modalClientePedido.orderModal.pedidoKeyboardOpen,
#modalItemPedido.orderModal.pedidoKeyboardOpen,
#modalOfertasPedido.orderModal.pedidoKeyboardOpen{
  align-items:center !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

#modalClientePedido.orderModal .detailPanel,
#modalItemPedido.orderModal .detailPanel,
#modalOfertasPedido.orderModal .detailPanel{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 auto !important;
  width:min(720px, calc(100vw - 20px)) !important;
  min-width:0 !important;
  max-width:calc(100vw - 20px) !important;
  height:auto !important;
  max-height:calc(var(--pedido-modal-vh, 100vh) - 20px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:26px !important;
  box-sizing:border-box !important;
}

#modalClientePedido.orderModal .detailPanel{ width:min(780px, calc(100vw - 20px)) !important; }
#modalItemPedido.orderModal .detailPanel{ width:min(720px, calc(100vw - 20px)) !important; }
#modalOfertasPedido.orderModal .detailPanel{ width:min(740px, calc(100vw - 20px)) !important; }

#modalClientePedido.orderModal .detailHeader,
#modalItemPedido.orderModal .detailHeader,
#modalOfertasPedido.orderModal .detailHeader{
  flex:0 0 auto !important;
  border-radius:26px 26px 0 0 !important;
}

#modalClientePedido.orderModal .detailBody,
#modalItemPedido.orderModal .detailBody,
#modalOfertasPedido.orderModal .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  box-sizing:border-box !important;
}

#modalItemPedido .produtoAutocompleteAnchor{
  position:relative !important;
  overflow:visible !important;
  z-index:30 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103{
  position:static !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  max-height:220px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  margin:6px 0 0 !important;
  padding:8px !important;
  border:1px solid #d8e3ec !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(16,43,63,.16) !important;
  box-sizing:border-box !important;
  z-index:50 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103:empty,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103:not(.open){
  display:none !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103 .produtoSuggestOptionV103{
  width:100% !important;
  display:block !important;
  border:1px solid #dce5ee !important;
  border-radius:13px !important;
  background:#f9fbfd !important;
  padding:11px 12px !important;
  margin:0 0 7px !important;
  text-align:left !important;
  color:#152d3f !important;
  box-shadow:none !important;
  font-family:'Source Sans Pro',sans-serif !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103 .produtoSuggestOptionV103:last-child{
  margin-bottom:0 !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#102b3f !important;
  white-space:normal !important;
}

#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103 span{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  color:#708092 !important;
  white-space:normal !important;
}

@media (max-height:560px){
  #modalClientePedido.orderModal.open,
  #modalItemPedido.orderModal.open,
  #modalOfertasPedido.orderModal.open{
    align-items:center !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
  #modalClientePedido.orderModal .detailPanel,
  #modalItemPedido.orderModal .detailPanel,
  #modalOfertasPedido.orderModal .detailPanel{
    max-height:calc(var(--pedido-modal-vh, 100vh) - 12px) !important;
  }
}

/* v104 - modais de lançamento com altura estável e rolagem interna */
#modalItemPedido.orderModal.open,
#modalOfertasPedido.orderModal.open,
#modalClientePedido.orderModal.open{
  align-items:center !important;
  justify-content:center !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

#modalItemPedido.orderModal .detailPanel,
#modalOfertasPedido.orderModal .detailPanel,
#modalClientePedido.orderModal .detailPanel{
  width:min(720px, calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  height:var(--pedido-modal-stable-height, calc(100dvh - 24px)) !important;
  max-height:var(--pedido-modal-stable-height, calc(100dvh - 24px)) !important;
  min-height:var(--pedido-modal-stable-height, calc(100dvh - 24px)) !important;
  border-radius:28px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  margin:0 auto !important;
  transform:none !important;
}

#modalItemPedido.orderModal .detailHeader,
#modalOfertasPedido.orderModal .detailHeader,
#modalClientePedido.orderModal .detailHeader{
  flex:0 0 auto !important;
  border-radius:28px 28px 0 0 !important;
}

#modalItemPedido.orderModal .detailBody,
#modalOfertasPedido.orderModal .detailBody,
#modalClientePedido.orderModal .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  padding-bottom:max(22px, env(safe-area-inset-bottom)) !important;
}

#modalOfertasPedido #ofertasLista,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103{
  flex:0 0 auto !important;
}

#modalOfertasPedido #ofertasLista{
  min-height:260px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

#modalOfertasPedido #ofertasLista .dashEmpty{
  min-height:230px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

@media (max-width:640px){
  #modalItemPedido.orderModal.open,
  #modalOfertasPedido.orderModal.open,
  #modalClientePedido.orderModal.open{
    padding:10px !important;
  }

  #modalItemPedido.orderModal .detailPanel,
  #modalOfertasPedido.orderModal .detailPanel,
  #modalClientePedido.orderModal .detailPanel{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    height:var(--pedido-modal-stable-height, calc(100dvh - 20px)) !important;
    max-height:var(--pedido-modal-stable-height, calc(100dvh - 20px)) !important;
    min-height:var(--pedido-modal-stable-height, calc(100dvh - 20px)) !important;
    border-radius:26px !important;
  }
}

/* v105 - limpar dados locais no menu lateral */
.sideMenuNav button.sideMenuDanger{
  border-color:#ffd8d2 !important;
  background:#fff6f4 !important;
  color:#9f2a1f !important;
}
.sideMenuNav button.sideMenuDanger i{
  background:#ffe2dc !important;
  color:#c0392b !important;
  font-weight:900 !important;
}
.sideMenuNav button.sideMenuDanger span{
  color:#9f2a1f !important;
  font-weight:900 !important;
}


/* v107 - limpeza preserva login + login sempre no topo após reset */
body[data-route="login"],
body[data-route="config"]{
  overflow:hidden!important;
  background:#fff!important;
}

body[data-route="login"] #app,
body[data-route="config"] #app{
  width:100%!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  background:#fff!important;
}

body[data-route="login"] .app,
body[data-route="config"] .app{
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:hidden!important;
  background:#fff!important;
  margin:0 auto!important;
}

body[data-route="login"] .loginPage,
body[data-route="config"] .loginPage{
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:hidden!important;
}

body[data-route="login"] .content,
body[data-route="config"] .content{
  padding-top:0!important;
}

/* v108 - bloqueio de sincronização offline */
#btnIniciarSync.syncOfflineDisabled,
#btnIniciarSync:disabled,
.sideMenuNav button.syncOfflineDisabled,
.sideMenuNav button:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:grayscale(.15);
}

#btnIniciarSync.syncOfflineDisabled{
  background:#c9d1d8 !important;
  color:#5f6b75 !important;
  box-shadow:none !important;
}

.sideMenuNav button.syncOfflineDisabled,
.sideMenuNav button:disabled{
  background:#eef2f5;
  color:#7a8791;
}

/* v109 - Loading ao abrir detalhe de pedido: evita múltiplos cliques/modais sobrepostos */
.pedidoDetailLoading {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.22);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  padding: 20px;
}
.pedidoDetailLoading.open { display: flex; }
.pedidoDetailLoadingBox {
  min-width: 190px;
  max-width: 86vw;
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 18px 45px rgba(15,23,42,.22);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: #1f2937;
  font-weight: 800;
  text-align: center;
}
.pedidoDetailLoadingSpinner {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 4px solid #dbe6ef;
  border-top-color: #009640;
  animation: pedidoDetailSpin .75s linear infinite;
}
@keyframes pedidoDetailSpin { to { transform: rotate(360deg); } }
body.pedidoDetailOpening .pedidoCard,
body.pedidoDetailOpening [data-audit-pedido] {
  pointer-events: none;
}


/* v111 - bloqueio da limpeza de dados offline */
.sideMenuNav button.clearDataOfflineDisabled,
.sideMenuNav button.clearDataOfflineDisabled.sideMenuDanger,
.sideMenuNav button.clearDataOfflineDisabled:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
  filter:grayscale(.2) !important;
  background:#f1f3f5 !important;
  border-color:#d9e0e6 !important;
  color:#7a8791 !important;
}

.sideMenuNav button.clearDataOfflineDisabled i,
.sideMenuNav button.clearDataOfflineDisabled.sideMenuDanger i{
  background:#e1e7ec !important;
  color:#7a8791 !important;
}

.sideMenuNav button.clearDataOfflineDisabled span,
.sideMenuNav button.clearDataOfflineDisabled.sideMenuDanger span{
  color:#7a8791 !important;
}

/* v112 - histórico de compras no detalhe do cliente */
.clienteHistorySection .historySummary{
  margin-bottom:12px;
}

.clienteHistoryOrderCard{
  cursor:pointer;
}

.clienteHistoryOrderCard:active{
  transform:scale(.995);
}

/* v115 - destaque visual suave da opção ativa no menu inferior */
.footer{
  background:#ffffff;
  border-top:1px solid rgba(0,0,0,.06);
  box-shadow:0 -8px 24px rgba(0,0,0,.10);
  padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  height:auto;
  min-height:74px;
  gap:4px;
}

.navbtn{
  position:relative;
  border:0;
  background:transparent;
  color:#7b8794;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:0;
  min-height:58px;
  padding:6px 4px;
  border-radius:18px;
  transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}

.navbtn .ico{
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
  color:var(--green);
  transition:transform .18s ease, filter .18s ease, opacity .18s ease;
}

.navbtn .ico img,
.navbtn .navIcon{
  width:25px;
  height:25px;
  object-fit:contain;
  display:block;
  opacity:.72;
  transition:transform .18s ease, opacity .18s ease, filter .18s ease;
}

.navbtn .txt{
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.1px;
  color:#7b8794;
  transition:color .18s ease;
  white-space:nowrap;
}

.navbtn.active{
  background:linear-gradient(135deg, #f3f5f7 0%, #e9edf1 100%);
  color:#26323d;
  box-shadow:0 6px 14px rgba(28,39,49,.13);
  border:1px solid rgba(15,35,52,.07);
  transform:translateY(-2px);
}

.navbtn.active .ico,
.navbtn.active .txt{
  color:#26323d;
}

.navbtn.active .ico{
  color:#009640;
}

.navbtn.active .ico img,
.navbtn.active .navIcon{
  opacity:1;
  transform:scale(1.06);
  filter:none;
}

.navbtn.active .txt{
  color:#26323d;
  font-weight:900;
}

.navbtn:active{
  transform:scale(.96);
}

.navbtn.active:active{
  transform:translateY(-2px) scale(.97);
}

@media (min-width:700px){
  .footer{
    padding-left:12px;
    padding-right:12px;
    gap:8px;
  }

  .navbtn{
    min-height:62px;
    border-radius:20px;
  }

  .navbtn .ico,
  .navbtn .ico img,
  .navbtn .navIcon{
    width:28px;
    height:28px;
  }

  .navbtn .txt{
    font-size:11.5px;
  }
}


/* v115 - ajuste final: item ativo do rodapé em cinza suave */
.navbtn.active{
  background:linear-gradient(135deg, #f3f5f7 0%, #e9edf1 100%);
  color:#26323d;
  box-shadow:0 6px 14px rgba(28,39,49,.13);
  border:1px solid rgba(15,35,52,.07);
  transform:translateY(-2px);
}
.navbtn.active .ico{color:#009640;}
.navbtn.active .txt{color:#26323d;font-weight:900;}
.navbtn.active .ico img,
.navbtn.active .navIcon{opacity:1;transform:scale(1.06);filter:none;}
.navbtn.active:active{transform:translateY(-2px) scale(.97);}


/* v116 - botão sair desabilitado offline */
.sideMenuNav button.logoutOfflineDisabled,
.sideMenuNav button.logoutOfflineDisabled:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
  filter:grayscale(.2) !important;
  background:#f1f3f5 !important;
  border-color:#d9e0e6 !important;
  color:#7a8791 !important;
}

.sideMenuNav button.logoutOfflineDisabled i{
  background:#e1e7ec !important;
  color:#7a8791 !important;
}

.sideMenuNav button.logoutOfflineDisabled span{
  color:#7a8791 !important;
}

/* v117 - botão nova venda na lista de clientes */
.clienteMetaVenda{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.clienteCidadeWrap{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
.clienteNovaVendaBtn{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:0;
  border-radius:14px;
  background:#eef7f2;
  color:#009640;
  font-size:20px;
  font-weight:900;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  -webkit-tap-highlight-color:transparent;
}
.clienteNovaVendaBtn:active{
  transform:scale(.94);
  background:#dff2e7;
}
@media (min-width:700px){
  .clienteNovaVendaBtn{
    width:40px;
    height:40px;
    border-radius:15px;
  }
}

/* v118 - lista de clientes com ação lateral separada */
.clienteLinhaVenda{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 56px;
  gap:10px;
  align-items:stretch;
}

.clienteLinhaVenda .localItem{
  min-width:0;
  width:100%;
}

.clienteLinhaVenda .localItemMeta{
  max-width:42%;
}

.clienteVendaAcaoBox{
  display:flex;
  align-items:stretch;
  justify-content:center;
}

.clienteNovaVendaBtn{
  width:100%;
  min-width:50px;
  height:auto;
  min-height:100%;
  border:1px solid #d9eadf;
  border-radius:17px;
  background:linear-gradient(180deg, #f7fbf8 0%, #edf7f1 100%);
  color:#009640;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

.clienteNovaVendaBtn svg{
  width:30px;
  height:30px;
  display:block;
}

.clienteNovaVendaBtn svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.clienteNovaVendaBtn:active{
  transform:scale(.96);
  background:#e3f4ea;
}

.clienteLinhaVendaComCobranca .clienteNovaVendaBtn{
  border-color:#f1d2d2;
  background:linear-gradient(180deg, #fff8f8 0%, #fff1f1 100%);
  color:#c62828;
}

@media (min-width:700px){
  .clienteLinhaVenda{
    grid-template-columns:minmax(0, 1fr) 64px;
    gap:12px;
  }
  .clienteNovaVendaBtn svg{
    width:34px;
    height:34px;
  }
}


/* v119 - botão lateral de nova venda: seta apontando para direita */
.clienteNovaVendaBtn svg{
  transform:rotate(0deg) !important;
}
.clienteNovaVendaBtn{
  cursor:pointer;
}


/* v122 - confirmação visual e botão lateral opção A */
.clienteNovaVendaBtn{
  width:100%;
  min-width:50px;
  min-height:100%;
  border:1px solid #d9dde2 !important;
  border-radius:17px !important;
  background:linear-gradient(180deg, #f4f5f6 0%, #e9ebed 100%) !important;
  color:#3d444b !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}
.clienteNovaVendaBtn svg{
  width:30px;
  height:30px;
  transform:none !important;
}
.clienteNovaVendaBtn svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:2.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.clienteNovaVendaBtn:active{
  transform:scale(.96);
  background:linear-gradient(180deg, #eceeef 0%, #dde1e4 100%) !important;
}
.clienteLinhaVendaComCobranca .clienteNovaVendaBtn{
  border-color:#d9dde2 !important;
  background:linear-gradient(180deg, #f4f5f6 0%, #e9ebed 100%) !important;
  color:#3d444b !important;
}

.appConfirmDialogV122{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  font-family:inherit;
}
.appConfirmDialogOverlayV122{
  position:absolute;
  inset:0;
  background:rgba(16,25,33,.46);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.appConfirmDialogPanelV122{
  position:relative;
  width:min(390px, calc(100vw - 36px));
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(15,35,50,.08);
  box-shadow:0 28px 70px rgba(0,0,0,.22);
  padding:26px 22px 18px;
  text-align:center;
  animation:confirmInV122 .18s ease-out;
}
.appConfirmDialogIconV122{
  width:52px;
  height:52px;
  border-radius:18px;
  margin:0 auto 14px;
  background:linear-gradient(180deg, #f4f6f7 0%, #e9ecef 100%);
  color:#3d444b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.appConfirmDialogV122.danger .appConfirmDialogIconV122{
  background:linear-gradient(180deg, #fff7ed 0%, #ffe8cc 100%);
  color:#d46b08;
}
.appConfirmDialogTitleV122{
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  color:#143047;
  letter-spacing:-.3px;
}
.appConfirmDialogMessageV122{
  margin-top:10px;
  font-size:15px;
  line-height:1.42;
  color:#667482;
  font-weight:700;
}
.appConfirmDialogActionsV122{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.appConfirmDialogActionsV122 button{
  height:48px;
  border:0;
  border-radius:17px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.appConfirmNoV122{
  background:#edf0f3;
  color:#4c5964;
}
.appConfirmYesV122{
  background:linear-gradient(135deg, #009640 0%, #08af54 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(0,150,64,.24);
}
.appConfirmDialogV122.danger .appConfirmYesV122{
  background:linear-gradient(135deg, #d46b08 0%, #f08c00 100%);
  box-shadow:0 10px 22px rgba(212,107,8,.22);
}
.appConfirmDialogActionsV122 button:active{
  transform:scale(.97);
}
@keyframes confirmInV122{
  from{opacity:0; transform:translateY(10px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}


.orderItemsGridV125{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.orderItemsGridHeaderV125,
.orderItemRowV125{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 58px 82px 80px;
  gap:8px;
  align-items:center;
}

.orderItemsGridHeaderV125{
  padding:0 4px 4px;
  color:#708092;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.orderItemRowV125{
  background:#fff;
  border:1px solid #dfe8ef;
  border-left:4px solid #009640;
  border-radius:15px;
  padding:10px 8px;
  box-shadow:0 8px 20px rgba(10,22,32,.06);
}

.orderItemNumberV125{
  width:28px;
  height:28px;
  border-radius:10px;
  background:#e9f7ef;
  color:#009640;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
}

.orderItemProductV125{min-width:0;}
.orderItemProductV125 strong{
  display:block;
  color:#152d3f;
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.orderItemProductV125 span,
.orderItemQtyV125 span{
  display:block;
  color:#708092;
  font-size:11px;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.orderItemQtyV125 b{
  display:block;
  color:#152d3f;
  font-size:13px;
}
.orderItemTotalV125{
  color:#009640;
  font-weight:900;
  font-size:13px;
  text-align:right;
}
.orderItemActionsV125{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.orderItemActionsV125 button{
  height:26px;
  border:0;
  border-radius:9px;
  font-size:11px;
  font-weight:900;
  background:#edf3f8;
  color:#244054;
}
.orderItemActionsV125 button:last-child{
  background:#fff0f0;
  color:#d93025;
}
.itemCountBadgeV125{
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#009640;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  margin-left:6px;
  vertical-align:middle;
}
.selectedProductBadgeV125{
  display:inline-flex;
  width:max-content;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#e9f7ef;
  color:#009640;
  font-style:normal;
  font-weight:900;
  font-size:11px;
}
#itemTabelaPreco.promoLockedV125{
  background:#e9f7ef!important;
  color:#087c36!important;
  font-weight:900!important;
}
.autoSuggest button em{
  display:inline-flex;
  margin-top:4px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff4e4;
  color:#c96b00;
  font-style:normal;
  font-size:10px;
  font-weight:900;
}

@media (max-width:430px){
  .orderItemsGridHeaderV125{display:none;}
  .orderItemRowV125{
    grid-template-columns:32px minmax(0,1fr) 68px;
    grid-template-areas:
      "num prod actions"
      "num qty actions"
      "num total actions";
  }
  .orderItemNumberV125{grid-area:num;}
  .orderItemProductV125{grid-area:prod;}
  .orderItemQtyV125{grid-area:qty;}
  .orderItemTotalV125{grid-area:total;text-align:left;}
  .orderItemActionsV125{grid-area:actions;}
}

/* v127 - ajuste fino das margens dos modais centralizados */
#dashboardModal.open,
#clientesModal.open,
#produtosModal.open,
#pedidoDetalheModal.open,
#modalHistoricoCliente.open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px 10px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

#dashboardModal .detailOverlay,
#clientesModal .detailOverlay,
#produtosModal .detailOverlay,
#pedidoDetalheModal .detailOverlay,
#modalHistoricoCliente .detailOverlay{
  position:absolute !important;
  inset:0 !important;
}

#dashboardModal .detailPanel,
#clientesModal .detailPanel,
#produtosModal .detailPanel,
#pedidoDetalheModal .detailPanel,
#modalHistoricoCliente .detailPanel{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:calc(100vw - 20px) !important;
  max-width:760px !important;
  height:auto !important;
  max-height:calc(var(--pedido-modal-vh, 100vh) - 48px) !important;
  margin:0 auto !important;
  border-radius:24px !important;
  box-shadow:0 22px 55px rgba(0,0,0,.24) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

#dashboardModal .detailBody,
#clientesModal .detailBody,
#produtosModal .detailBody,
#pedidoDetalheModal .detailBody,
#modalHistoricoCliente .detailBody{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}

#dashboardModal .detailPanel{
  max-height:min(calc(var(--pedido-modal-vh, 100vh) - 48px), 620px) !important;
}

#dashboardModal .detailBody{
  flex:0 1 auto !important;
}

#pedidoDetalheModal.auditStacked{
  z-index:10040 !important;
}

@media (max-width:520px){
  #dashboardModal.open,
  #clientesModal.open,
  #produtosModal.open,
  #pedidoDetalheModal.open,
  #modalHistoricoCliente.open{
    padding:22px 10px !important;
  }

  #dashboardModal .detailPanel,
  #clientesModal .detailPanel,
  #produtosModal .detailPanel,
  #pedidoDetalheModal .detailPanel,
  #modalHistoricoCliente .detailPanel{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
    max-height:calc(var(--pedido-modal-vh, 100vh) - 44px) !important;
    border-radius:22px !important;
  }
}

.exactSearchToggleV128{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  margin-top:8px!important;
  color:#536273!important;
  font-size:12px!important;
  font-weight:800!important;
}
.exactSearchToggleV128 input{
  width:17px!important;
  height:17px!important;
  accent-color:#009640!important;
}
.exactSearchToggleV128 span{
  margin:0!important;
  color:#536273!important;
  font-size:12px!important;
  font-weight:800!important;
}
.fullSelectLabelV128,
.fullSelectLabelV128 select,
#itemTabelaPreco{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#itemTabelaPreco{
  min-height:50px!important;
  height:50px!important;
  border-radius:14px!important;
  padding:0 12px!important;
  font-size:14px!important;
  background:#fff!important;
}
#itemTabelaPreco.promoLockedV125{
  background:#e9f7ef!important;
}
.itemCustoBoxV128{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border:1px solid #dfe8ef;
  border-radius:14px;
  background:#f8fbfd;
  margin:4px 0 10px;
}
.itemCustoBoxV128 span{
  color:#657689;
  font-size:12px;
  font-weight:800;
}
.itemCustoBoxV128 strong{
  color:#152d3f;
  font-size:14px;
  font-weight:900;
}
.valueModeFieldV128{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:7px;
  align-items:center;
}
.valueModeFieldV128 select{
  height:50px!important;
  border-radius:14px!important;
  padding:0 8px!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
  background:#eef4f8!important;
  color:#244054!important;
}
.valueModeFieldV128 input{
  width:100%!important;
}
.discountModeGridV128{
  align-items:end!important;
}
@media (max-width:430px){
  .valueModeFieldV128{
    grid-template-columns:56px minmax(0,1fr);
    gap:6px;
  }
  #itemTabelaPreco{
    font-size:13px!important;
  }
}

/* v129 - Produto: busca exata compacta e histórico do item */
#modalItemPedido .produtoAutocompleteAnchor{
  display:block;
  position:relative;
}
.produtoFieldTopV129{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.produtoFieldTopV129 > span{
  font-size:12px;
  font-weight:800;
  color:#516070;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.exactSearchToggleV129{
  width:auto !important;
  min-height:30px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex-direction:row !important;
  gap:7px;
  padding:6px 10px;
  border:1px solid rgba(13,92,151,.18);
  background:linear-gradient(180deg,#ffffff,#f5f9fc);
  border-radius:999px;
  color:#0d5c97;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  box-shadow:0 8px 18px rgba(13,92,151,.08);
}
.exactSearchToggleV129 input{
  width:15px !important;
  height:15px !important;
  margin:0 !important;
  accent-color:#0d5c97;
}
.exactSearchToggleV129 span{
  white-space:nowrap;
  line-height:1;
}
.produtoInputRowV129{
  display:flex;
  align-items:stretch;
  gap:8px;
  width:100%;
}
.produtoInputRowV129 input{
  flex:1 1 auto;
  min-width:0;
}
.produtoHistoryBtnV129{
  flex:0 0 46px;
  width:46px;
  min-height:44px;
  border:1px solid rgba(13,92,151,.20);
  border-radius:13px;
  background:linear-gradient(180deg,#ffffff,#eef6fb);
  color:#0d5c97;
  font-size:24px;
  font-weight:900;
  line-height:1;
  box-shadow:0 10px 22px rgba(13,92,151,.10);
  cursor:pointer;
}
.produtoHistoryBtnV129:active{
  transform:translateY(1px);
}
.produtoHistoryPanelV129{
  max-width:760px;
}
.produtoHistorySummaryV129{
  margin-bottom:12px;
}
.produtoHistoryListV129{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.produtoHistoryCardV129{
  border:1px solid rgba(15,44,74,.10);
  border-radius:18px;
  background:#fff;
  padding:13px;
  box-shadow:0 10px 24px rgba(15,44,74,.07);
}
.produtoHistoryCardTopV129{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(15,44,74,.08);
}
.produtoHistoryCardTopV129 strong{
  display:block;
  color:#0f2c4a;
  font-size:15px;
  font-weight:900;
}
.produtoHistoryCardTopV129 span{
  display:block;
  margin-top:2px;
  color:#687789;
  font-size:12px;
  font-weight:700;
}
.produtoHistoryCardTopV129 b{
  color:#0d5c97;
  font-size:15px;
  white-space:nowrap;
}
.produtoHistoryGridV129{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.produtoHistoryMetricV129{
  background:#f6f9fc;
  border:1px solid rgba(15,44,74,.07);
  border-radius:13px;
  padding:9px;
  min-width:0;
}
.produtoHistoryMetricV129 span{
  display:block;
  color:#728094;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.produtoHistoryMetricV129 strong{
  display:block;
  margin-top:2px;
  color:#142f4b;
  font-size:13px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:520px){
  .produtoHistoryGridV129{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .produtoHistoryCardTopV129{
    align-items:flex-start;
  }
}
.exactSearchToggleV129.checked,
.exactSearchToggleV129:has(input:checked){
  color:#fff;
  background:linear-gradient(135deg,#0d5c97,#0f77b8);
  border-color:rgba(13,92,151,.35);
}

/* v130 - produto: input limpo, busca exata discreta e ações laterais */
.produtoFieldV130{
  display:block!important;
  position:relative!important;
}
.produtoFieldV130 .produtoLabelV130{
  display:block!important;
  margin:0 0 7px!important;
  color:#516070!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.produtoInputRowV130{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 44px 44px!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
}
.produtoInputRowV130 #itemProdutoBusca{
  width:100%!important;
  min-width:0!important;
  height:50px!important;
}
.exactSearchToggleV130{
  height:50px!important;
  min-width:74px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:0 9px!important;
  border:1px solid #d9e4ec!important;
  border-radius:14px!important;
  background:#f7fafc!important;
  color:#536273!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  user-select:none!important;
  box-shadow:none!important;
}
.exactSearchToggleV130 input{
  width:15px!important;
  height:15px!important;
  margin:0!important;
  accent-color:#0d5c97!important;
}
.exactSearchToggleV130 span{
  line-height:1!important;
  white-space:nowrap!important;
}
.exactSearchToggleV130.checked,
.exactSearchToggleV130:has(input:checked){
  border-color:rgba(13,92,151,.45)!important;
  background:#eef7ff!important;
  color:#0d5c97!important;
}
.produtoMiniBtnV130{
  width:44px!important;
  height:50px!important;
  min-height:50px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d9e4ec!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0d5c97!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.produtoMiniBtnV130:active{
  transform:translateY(1px)!important;
}
.produtoClearBtnV130{
  color:#7b8794!important;
  background:#fafafa!important;
}
.produtoClearBtnV130:active{
  color:#c0392b!important;
  border-color:#ffd5cf!important;
  background:#fff5f3!important;
}
@media (max-width:430px){
  .produtoInputRowV130{
    grid-template-columns:minmax(0,1fr) 66px 42px 42px!important;
    gap:6px!important;
  }
  .exactSearchToggleV130{
    min-width:66px!important;
    padding:0 6px!important;
    font-size:11px!important;
  }
  .produtoMiniBtnV130{
    width:42px!important;
    font-size:21px!important;
  }
}

/* v130 - evita login/config ficarem presos no scroll após primeiro login Android */
body[data-route="login"],
body[data-route="config"]{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100dvh!important;
}
body:not([data-route="login"]):not([data-route="config"]){
  position:static!important;
  height:auto!important;
}


/* v131 - Instalação por senha e status visuais de pedidos locais */
.configPasswordWrap{
  display:flex;
  align-items:center;
  width:100%;
  height:44px;
  background:#fff;
  border:1px solid #d8dfe5;
  border-radius:10px;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.configPasswordWrap:focus-within{
  border-color:#8fb8d8;
  box-shadow:0 0 0 3px rgba(13,92,151,.10), inset 0 1px 2px rgba(0,0,0,.04);
}
.configPasswordWrap .configInput{
  height:42px;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  flex:1 1 auto;
  min-width:0;
}
.configPasswordToggle{
  width:46px;
  height:42px;
  border:0;
  background:#f4f8fb;
  color:#36566d;
  font-size:17px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.configInstallInfo{
  min-height:18px;
  margin:-2px 0 12px;
  font-size:12px;
  line-height:1.35;
  color:#6d7e8d;
}
.configInstallInfo.ok{color:#087f3d;font-weight:700;}
.configInstallInfo.err{color:#b91c1c;font-weight:700;}
.pedidoCard.statusCotacao,
.pedidoCard.statusRascunho{
  border-left-width:5px;
}
.pedidoCard.statusCotacao{
  border-left-color:#7c3aed;
  background:linear-gradient(90deg, rgba(124,58,237,.08), #fff 34%);
}
.pedidoCard.statusRascunho{
  border-left-color:#f59e0b;
  background:linear-gradient(90deg, rgba(245,158,11,.12), #fff 34%);
}
.pedidoChip.statusCotacao{
  background:#ede9fe;
  color:#5b21b6;
  border-color:#c4b5fd;
}
.pedidoChip.statusRascunho{
  background:#fff7ed;
  color:#b45309;
  border-color:#fed7aa;
}
.pedidoStatusPanel .pedidoStatusQuick button[data-pedido-status="cotacoes"],
.pedidoStatusPanel .pedidoStatusQuick button[data-pedido-status="rascunhos"]{
  font-weight:800;
}

/* v132 - Produto: busca exata integrada, lupa e vassoura mais limpas */
.produtoFieldV132{
  display:block!important;
  position:relative!important;
}
.produtoHeaderV132{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 8px!important;
}
.produtoLabelV132{
  display:block!important;
  margin:0!important;
  color:#516070!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.exactSearchToggleV132{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  height:28px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#617184!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
  user-select:none!important;
  white-space:nowrap!important;
}
.exactSearchToggleV132 input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}
.exactSwitchV132{
  width:36px!important;
  height:20px!important;
  border-radius:999px!important;
  background:#dfe8ef!important;
  position:relative!important;
  box-shadow:inset 0 1px 2px rgba(15,44,74,.12)!important;
  transition:background .18s ease!important;
}
.exactSwitchV132:before{
  content:""!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#fff!important;
  position:absolute!important;
  top:2px!important;
  left:2px!important;
  box-shadow:0 2px 5px rgba(15,44,74,.20)!important;
  transition:transform .18s ease!important;
}
.exactSearchToggleV132.checked,
.exactSearchToggleV132:has(input:checked){
  color:#0d5c97!important;
}
.exactSearchToggleV132.checked .exactSwitchV132,
.exactSearchToggleV132:has(input:checked) .exactSwitchV132{
  background:#0d5c97!important;
}
.exactSearchToggleV132.checked .exactSwitchV132:before,
.exactSearchToggleV132:has(input:checked) .exactSwitchV132:before{
  transform:translateX(16px)!important;
}
.produtoInputRowV132{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px 52px!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
}
.produtoInputRowV132 #itemProdutoBusca{
  width:100%!important;
  min-width:0!important;
  height:54px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.produtoIconBtnV132{
  width:52px!important;
  height:54px!important;
  min-height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d8e3eb!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#fff,#f7fafc)!important;
  color:#0d5c97!important;
  box-shadow:0 8px 18px rgba(15,44,74,.07)!important;
  cursor:pointer!important;
  transition:transform .12s ease, border-color .12s ease, background .12s ease!important;
}
.produtoIconBtnV132 svg{
  width:23px!important;
  height:23px!important;
  display:block!important;
}
.produtoIconBtnV132 svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.produtoIconBtnV132:active{
  transform:translateY(1px)!important;
}
.produtoHistoryBtnV129{
  color:#0d5c97!important;
  background:linear-gradient(180deg,#ffffff,#eef7fd)!important;
}
.produtoHistoryBtnV129:active{
  border-color:rgba(13,92,151,.35)!important;
  background:#eaf5fc!important;
}
.produtoClearBtnV132{
  color:#6d7e8d!important;
  background:linear-gradient(180deg,#ffffff,#fafafa)!important;
}
.produtoClearBtnV132:active{
  color:#b13a2d!important;
  border-color:#ffd0c8!important;
  background:#fff4f2!important;
}
@media (max-width:430px){
  .produtoHeaderV132{
    gap:8px!important;
  }
  .exactTextV132{
    font-size:11px!important;
  }
  .produtoInputRowV132{
    grid-template-columns:minmax(0,1fr) 48px 48px!important;
    gap:7px!important;
  }
  .produtoIconBtnV132{
    width:48px!important;
    height:52px!important;
    min-height:52px!important;
    border-radius:15px!important;
  }
  .produtoInputRowV132 #itemProdutoBusca{
    height:52px!important;
  }
}

/* v132 - overlay compacto de sincronização automática por tela */
.autoSyncOverlayV132{
  position:fixed;
  inset:0;
  z-index:10080;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,23,38,.34);
  backdrop-filter:blur(4px);
}
.autoSyncBoxV132{
  width:min(360px, calc(100vw - 44px));
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  padding:24px 22px 22px;
  text-align:center;
  color:#12304a;
}
.autoSyncSpinnerV132{
  width:42px;
  height:42px;
  margin:0 auto 14px;
  border-radius:50%;
  border:4px solid #e5eef5;
  border-top-color:#009640;
  animation:autoSyncSpinV132 .75s linear infinite;
}
.autoSyncBoxV132 strong{
  display:block;
  font-size:18px;
  font-weight:900;
  margin-bottom:5px;
}
.autoSyncBoxV132 span{
  display:block;
  color:#68798a;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
@keyframes autoSyncSpinV132{to{transform:rotate(360deg)}}

/* v133 - pedido pendente local: precisa sincronizar */
.pedidoCard.statusLocalPendente{
  border-left:5px solid #0ea5e9;
  background:linear-gradient(90deg, rgba(14,165,233,.13), #fff 36%);
}
.pedidoCard.statusLocalPendente .pedidoValor strong{
  color:#0369a1;
}
.pedidoChip.statusLocalPendente{
  background:#e0f2fe;
  color:#075985;
  border:1px solid #bae6fd;
}
.pedidoStatusPanel .pedidoStatusQuick button[data-pedido-status="locais"]{
  font-weight:900;
  color:#075985;
}

/* v135 - cotação mantém roxo e todo rascunho vira pendente local */
.pedidoCard.statusCotacao{
  border-left:5px solid #7c3aed!important;
  background:linear-gradient(90deg, rgba(124,58,237,.08), #fff 34%)!important;
}
.pedidoChip.statusCotacao{
  background:#ede9fe!important;
  color:#5b21b6!important;
  border-color:#c4b5fd!important;
}
.pedidoCard.statusLocalPendente,
.pedidoCard.statusRascunho.statusLocalPendente{
  border-left:5px solid #0ea5e9!important;
  background:linear-gradient(90deg, rgba(14,165,233,.13), #fff 36%)!important;
}
.pedidoCard.statusLocalPendente .pedidoValor strong{
  color:#0369a1!important;
}
.pedidoChip.statusLocalPendente{
  background:#e0f2fe!important;
  color:#075985!important;
  border:1px solid #bae6fd!important;
}


/* v137 - diferenciação definitiva de cotação x pedido local pendente */
.pedidoCard.statusCotacao{
  border-left:5px solid #7c3aed!important;
  background:linear-gradient(90deg, rgba(124,58,237,.09), #fff 36%)!important;
}
.pedidoCard.statusCotacao .pedidoValor strong{color:#5b21b6!important;}
.pedidoChip.statusCotacao{
  background:#ede9fe!important;
  color:#5b21b6!important;
  border:1px solid #c4b5fd!important;
}
.pedidoCard.statusLocalPendente{
  border-left:5px solid #0ea5e9!important;
  background:linear-gradient(90deg, rgba(14,165,233,.14), #fff 36%)!important;
}
.pedidoCard.statusLocalPendente .pedidoValor strong{color:#0369a1!important;}
.pedidoChip.statusLocalPendente{
  background:#e0f2fe!important;
  color:#075985!important;
  border:1px solid #bae6fd!important;
}
.pedidoStatusPanel .pedidoStatusQuick button[data-pedido-status="rascunhos"]{display:none!important;}
.pedidoStatusPanel .pedidoStatusQuick button[data-pedido-status="locais"]{
  display:inline-flex!important;
  font-weight:900!important;
  color:#075985!important;
}

/* v144 - botões de consulta online no cadastro do cliente */
.clienteLookupBtn{
  width:100%;
  margin-top:8px;
  border:0;
  border-radius:12px;
  padding:10px 12px;
  background:#009640;
  color:#fff;
  font-family:'Source Sans Pro', Arial, sans-serif;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,150,64,.18);
}

.clienteLookupBtn:disabled,
.clienteLookupBtn.isDisabledOffline,
#btnBuscarCepCliente:disabled,
#btnBuscarCepCliente.isDisabledOffline{
  opacity:.45;
  cursor:not-allowed;
  filter:grayscale(.25);
}

/* v146 - ajustes cirúrgicos de cliente, alertas, ofertas e busca exata */
.clienteDocLookupWrapV146{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
}
.clienteDocLookupWrapV146 input{
  width:100%!important;
  min-width:0!important;
}
.clienteLookupCnpjIconV146{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(13,92,151,.22)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f3f8fc)!important;
  color:#0d5c97!important;
  box-shadow:0 7px 16px rgba(15,44,74,.08)!important;
  padding:0!important;
  margin:0!important;
  cursor:pointer!important;
}
.clienteLookupCnpjIconV146 svg{
  width:22px!important;
  height:22px!important;
  display:block!important;
}
.clienteLookupCnpjIconV146 svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.3!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.clienteLookupCnpjIconV146:active{transform:translateY(1px)!important;}
.clienteLookupCnpjIconV146:disabled,
.clienteLookupCnpjIconV146.isDisabledOffline{
  opacity:.42!important;
  cursor:not-allowed!important;
  filter:grayscale(.25)!important;
}
.clienteLookupSpinnerV146{
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  border:3px solid rgba(13,92,151,.18)!important;
  border-top-color:#0d5c97!important;
  animation:spinV146 .75s linear infinite!important;
}
@keyframes spinV146{to{transform:rotate(360deg)}}

.appAlertOpenV146{overflow:hidden!important;}
.appAlertV146{
  position:fixed!important;
  inset:0!important;
  z-index:30000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  font-family:'Source Sans Pro', Arial, sans-serif!important;
}
.appAlertOverlayV146{
  position:absolute!important;
  inset:0!important;
  background:rgba(10,25,39,.46)!important;
  backdrop-filter:blur(4px)!important;
}
.appAlertPanelV146{
  position:relative!important;
  width:min(360px, calc(100vw - 42px))!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;
  padding:24px 22px 20px!important;
  text-align:center!important;
  color:#12304a!important;
}
.appAlertIconV146{
  width:46px!important;
  height:46px!important;
  margin:0 auto 12px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#0d5c97,#009640)!important;
  color:#fff!important;
  font-size:25px!important;
  font-weight:900!important;
}
.appAlertPanelV146 strong{
  display:block!important;
  font-size:20px!important;
  font-weight:900!important;
  margin:0 0 7px!important;
}
.appAlertPanelV146 p{
  margin:0!important;
  color:#5d6c7c!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.appAlertPanelV146 button{
  width:100%!important;
  height:48px!important;
  margin-top:18px!important;
  border:0!important;
  border-radius:16px!important;
  background:#009640!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

#pedidoClienteTexto{
  margin-top:8px!important;
}

#modalItemPedido .produtoHeaderV132{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  width:100%!important;
}
#modalItemPedido .produtoLabelV132{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#modalItemPedido .exactSearchToggleV132{
  height:24px!important;
  gap:5px!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  font-size:10.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#modalItemPedido .exactSwitchV132{
  width:32px!important;
  height:18px!important;
}
#modalItemPedido .exactSwitchV132:before{
  width:14px!important;
  height:14px!important;
}
#modalItemPedido .exactSearchToggleV132.checked .exactSwitchV132:before,
#modalItemPedido .exactSearchToggleV132:has(input:checked) .exactSwitchV132:before{
  transform:translateX(14px)!important;
}
#modalItemPedido .exactTextV132{
  max-width:none!important;
  white-space:nowrap!important;
}

#modalItemPedido .exactSearchToggleV132 *{
  white-space:nowrap!important;
}
.autoSuggestEmptyV146{
  padding:12px 14px!important;
  color:#687789!important;
  font-size:13px!important;
  font-weight:800!important;
}
.ofertaLockedInputV146{
  background:#f1f6fa!important;
  color:#586879!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
.ofertaLockedBoxV146:after{
  content:'Oferta travada: preço, desconto e acréscimo bloqueados';
  display:block;
  margin-top:7px;
  color:#087f3d;
  font-size:12px;
  font-weight:900;
}

/* v148 - Produto: força label + chave + texto da busca em uma única linha */
#modalItemPedido .produtoHeaderV132{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
#modalItemPedido .produtoLabelV132{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  line-height:24px!important;
  white-space:nowrap!important;
}
#modalItemPedido .exactSearchToggleV132{
  display:inline-grid!important;
  grid-template-columns:32px max-content!important;
  grid-template-rows:24px!important;
  align-items:center!important;
  justify-content:start!important;
  column-gap:5px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  height:24px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:24px!important;
  margin:0!important;
  padding:0!important;
}
#modalItemPedido .exactSwitchV132{
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  flex:none!important;
  width:32px!important;
  height:18px!important;
  margin:0!important;
}
#modalItemPedido .exactTextV132{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:24px!important;
  margin:0!important;
  padding:0!important;
  font-size:10.5px!important;
}
@media (max-width:380px){
  #modalItemPedido .produtoHeaderV132{gap:5px!important;}
  #modalItemPedido .exactSearchToggleV132{grid-template-columns:30px max-content!important; column-gap:4px!important;}
  #modalItemPedido .exactSwitchV132{width:30px!important; height:17px!important;}
  #modalItemPedido .exactSwitchV132:before{width:13px!important; height:13px!important;}
  #modalItemPedido .exactSearchToggleV132.checked .exactSwitchV132:before,
  #modalItemPedido .exactSearchToggleV132:has(input:checked) .exactSwitchV132:before{transform:translateX(13px)!important;}
  #modalItemPedido .exactTextV132{font-size:10px!important;}
}

/* v151 - cotação: um campo de cliente; produto: chave + texto em uma única linha */
#pedidoClienteTexto{
  display:none!important;
}

.produtoHeaderV132,
#modalItemPedido .produtoHeaderV132,
.produtoHeaderInlineV151{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.produtoLabelV132,
#modalItemPedido .produtoLabelV132{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:max-content!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:22px!important;
}

.exactSearchToggleV132,
#modalItemPedido .exactSearchToggleV132,
.exactSearchInlineV151{
  display:inline-flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  height:22px!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  line-height:22px!important;
  font-size:10px!important;
}

.exactSearchToggleV132 input,
#modalItemPedido .exactSearchToggleV132 input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}

.exactSwitchV132,
#modalItemPedido .exactSwitchV132{
  display:inline-block!important;
  flex:0 0 30px!important;
  width:30px!important;
  min-width:30px!important;
  height:17px!important;
  margin:0!important;
}

.exactSwitchV132:before,
#modalItemPedido .exactSwitchV132:before{
  width:13px!important;
  height:13px!important;
}

.exactSearchToggleV132.checked .exactSwitchV132:before,
.exactSearchToggleV132:has(input:checked) .exactSwitchV132:before,
#modalItemPedido .exactSearchToggleV132.checked .exactSwitchV132:before,
#modalItemPedido .exactSearchToggleV132:has(input:checked) .exactSwitchV132:before{
  transform:translateX(13px)!important;
}

.exactTextV132,
#modalItemPedido .exactTextV132{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  line-height:22px!important;
  font-size:10px!important;
}

/* v157 - Destinação do item no topo do lançamento */
.itemDestinoBoxV157{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 12px!important;
  padding:10px 11px!important;
  border:1px solid #dfe8ef!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff,#f7fafc)!important;
  box-sizing:border-box!important;
}
.itemDestinoBoxV157 > span{
  flex:0 0 auto!important;
  color:#516070!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  white-space:nowrap!important;
}
.itemDestinoToggleV157{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4px!important;
  padding:4px!important;
  border-radius:999px!important;
  background:#edf4f8!important;
  border:1px solid #d8e3eb!important;
}
.itemDestinoToggleV157 button{
  min-width:86px!important;
  height:34px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#607184!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.itemDestinoToggleV157 button.active{
  background:#0d5c97!important;
  color:#fff!important;
  box-shadow:0 6px 15px rgba(13,92,151,.22)!important;
}
@media (max-width:430px){
  .itemDestinoBoxV157{
    gap:8px!important;
    padding:9px!important;
  }
  .itemDestinoBoxV157 > span{
    font-size:11px!important;
    letter-spacing:.035em!important;
  }
  .itemDestinoToggleV157 button{
    min-width:70px!important;
    height:32px!important;
    font-size:12px!important;
  }
}

.visitasContent{
  padding-bottom:110px;
}

.visitasHero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg, #009640 0%, #037236 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(0, 150, 64, .22);
  margin-bottom:14px;
}

.visitasHero span{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.82;
  margin-bottom:4px;
}

.visitasHero h1{
  margin:0;
  font-size:26px;
  line-height:1;
}

.visitasHero small{
  display:block;
  margin-top:7px;
  font-size:13px;
  opacity:.9;
}

.visitaHeroBtn{
  border:0;
  border-radius:999px;
  background:#fff;
  color:#087238;
  font-weight:900;
  padding:12px 15px;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}

.visitaQuickStats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}

.visitaQuickStats div{
  background:#fff;
  border:1px solid #e1e8e4;
  border-radius:18px;
  padding:12px;
  box-shadow:0 8px 20px rgba(17, 24, 39, .06);
}

.visitaQuickStats span{
  display:block;
  font-size:12px;
  color:#6b7280;
  font-weight:800;
}

.visitaQuickStats strong{
  display:block;
  margin-top:4px;
  font-size:22px;
  color:#111827;
}

.visitaCard{
  background:#fff;
  border:1px solid #e1e8e4;
  border-radius:22px;
  padding:15px;
  box-shadow:0 10px 26px rgba(17, 24, 39, .07);
  margin-bottom:14px;
}

.visitaCardTitle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.visitaCardTitle.compact{
  margin-bottom:12px;
}

.visitaCardTitle strong{
  display:block;
  color:#111827;
  font-size:17px;
}

.visitaCardTitle span{
  display:block;
  color:#6b7280;
  font-size:13px;
  margin-top:2px;
}

.visitaSegment{
  display:flex;
  align-items:center;
  padding:3px;
  border-radius:999px;
  background:#eef4ef;
  border:1px solid #dce9df;
  flex-shrink:0;
}

.visitaSegment button{
  border:0;
  background:transparent;
  color:#4b5563;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  padding:8px 10px;
}

.visitaSegment button.active{
  background:#009640;
  color:#fff;
  box-shadow:0 6px 14px rgba(0,150,64,.22);
}

.visitaLabel{
  display:block;
  color:#374151;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin:12px 0 6px;
}

.visitaInput,
.visitaTextarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d8e2dc;
  border-radius:15px;
  background:#f9fbfa;
  color:#111827;
  font:inherit;
  font-size:15px;
  outline:none;
  padding:13px 14px;
}

.visitaInput:focus,
.visitaTextarea:focus{
  border-color:#009640;
  background:#fff;
  box-shadow:0 0 0 4px rgba(0,150,64,.10);
}

.visitaTextarea{
  resize:vertical;
  min-height:104px;
}

.visitaSearchWrap{
  display:flex;
  align-items:center;
  gap:8px;
}

.visitaSearchWrap .visitaInput{
  min-width:0;
}

.visitaSearchClear{
  width:44px;
  height:44px;
  border:0;
  border-radius:14px;
  background:#eef4ef;
  color:#4b5563;
  font-size:24px;
  line-height:1;
  font-weight:700;
  flex:0 0 44px;
}

.visitaClienteSelecionado{
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  background:#eefbf3;
  border:1px solid #cdeed9;
  border-radius:16px;
  padding:11px;
}

.visitaClienteSelecionado strong,
.visitaClienteSelecionado span{
  display:block;
}

.visitaClienteSelecionado strong{
  color:#064e2a;
  font-size:14px;
}

.visitaClienteSelecionado span{
  color:#4b6355;
  font-size:12px;
  margin-top:2px;
}

.visitaClienteSelecionado button{
  border:0;
  border-radius:999px;
  background:#fff;
  color:#087238;
  font-weight:900;
  padding:9px 12px;
  flex-shrink:0;
}

.visitaSugestoes{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:9px;
}

.visitaSugestaoItem{
  width:100%;
  text-align:left;
  border:1px solid #e2e8e4;
  background:#fff;
  border-radius:16px;
  padding:11px 12px;
}

.visitaSugestaoItem strong,
.visitaSugestaoItem span{
  display:block;
}

.visitaSugestaoItem strong{
  color:#111827;
  font-size:14px;
}

.visitaSugestaoItem span,
.visitaSugestaoVazia{
  color:#6b7280;
  font-size:12px;
  margin-top:3px;
}

.visitaSugestaoVazia{
  padding:10px 3px;
}

.visitaGrid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.visitaChips{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}

.visitaChips::-webkit-scrollbar{
  display:none;
}

.visitaChips button{
  border:1px solid #dce5df;
  background:#f7faf8;
  color:#374151;
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  white-space:nowrap;
  font-size:13px;
  flex:0 0 auto;
}

.visitaChips button.active{
  background:#009640;
  color:#fff;
  border-color:#009640;
  box-shadow:0 7px 15px rgba(0,150,64,.2);
}

.visitaChips.temperatura button[data-value="quente"].active{
  background:#dc2626;
  border-color:#dc2626;
  box-shadow:0 7px 15px rgba(220,38,38,.18);
}

.visitaChips.temperatura button[data-value="frio"].active{
  background:#2563eb;
  border-color:#2563eb;
  box-shadow:0 7px 15px rgba(37,99,235,.18);
}

.visitaGeoBtn{
  width:100%;
  border:1px dashed #b9d8c5;
  background:#f2fbf5;
  color:#087238;
  border-radius:16px;
  padding:13px;
  font-weight:900;
  margin-top:12px;
}

.visitaGeoInfo{
  color:#6b7280;
  font-size:12px;
  margin-top:7px;
  text-align:center;
}

.visitaActionsSticky{
  position:sticky;
  bottom:78px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:10px;
  padding:10px;
  background:rgba(247,250,248,.92);
  backdrop-filter:blur(12px);
  border:1px solid rgba(220,231,224,.9);
  border-radius:20px;
  box-shadow:0 16px 38px rgba(17,24,39,.12);
  z-index:5;
  margin-bottom:14px;
}

.visitaBtn{
  border:0;
  border-radius:15px;
  padding:14px 12px;
  font-weight:900;
  font-size:14px;
}

.visitaBtn.primary{
  background:#009640;
  color:#fff;
  box-shadow:0 9px 18px rgba(0,150,64,.2);
}

.visitaBtn.ghost{
  background:#fff;
  color:#087238;
  border:1px solid #dce9df;
}

.visitaLista{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.visitaItem{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #edf2ef;
  background:#fbfdfc;
  border-radius:16px;
  padding:11px 12px;
}

.visitaItem strong,
.visitaItem span{
  display:block;
}

.visitaItem strong{
  color:#111827;
  font-size:14px;
}

.visitaItem span{
  color:#6b7280;
  font-size:12px;
  margin-top:3px;
}

.visitaItem em{
  border-radius:999px;
  padding:7px 9px;
  font-style:normal;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  flex-shrink:0;
}

.visitaItem em.hot{
  background:#fee2e2;
  color:#991b1b;
}

.visitaItem em.warm{
  background:#fef3c7;
  color:#92400e;
}

.visitaItem em.cold{
  background:#dbeafe;
  color:#1d4ed8;
}

.visitaListaVazia{
  color:#6b7280;
  font-size:13px;
  background:#f9fbfa;
  border:1px dashed #dce5df;
  border-radius:16px;
  padding:14px;
  text-align:center;
}

.visitaJsonOpen{
  overflow:hidden;
}

.visitaJsonModal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.visitaJsonOverlay{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(4px);
}

.visitaJsonPanel{
  position:relative;
  z-index:1;
  width:min(720px, 100%);
  max-height:86vh;
  background:#fff;
  border-radius:22px;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.visitaJsonHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid #e5e7eb;
}

.visitaJsonHeader strong,
.visitaJsonHeader span{
  display:block;
}

.visitaJsonHeader strong{
  color:#111827;
  font-size:16px;
}

.visitaJsonHeader span{
  color:#6b7280;
  font-size:12px;
  margin-top:2px;
}

.visitaJsonHeader button{
  width:38px;
  height:38px;
  border:0;
  border-radius:13px;
  background:#f3f4f6;
  color:#111827;
  font-size:23px;
  line-height:1;
}

#visitaJsonText{
  width:100%;
  height:48vh;
  min-height:260px;
  border:0;
  outline:none;
  resize:none;
  padding:14px;
  box-sizing:border-box;
  font-family:Consolas, Monaco, monospace;
  font-size:12px;
  background:#0f172a;
  color:#d1fae5;
}

.visitaJsonActions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:12px;
  border-top:1px solid #e5e7eb;
}

.visitaJsonActions button{
  border:0;
  border-radius:13px;
  padding:12px 14px;
  font-weight:900;
  background:#eef4ef;
  color:#087238;
}

.visitaJsonActions button:first-child{
  background:#009640;
  color:#fff;
}

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

  .visitaCardTitle{
    align-items:flex-start;
    flex-direction:column;
  }

  .visitaSegment{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .visitaActionsSticky{
    bottom:74px;
  }
}

/* v161 - Visitas CRM no padrão de Pedidos */
.visitasContentV161 .pageTitleRow{align-items:center}
.visitasFilterLine{margin-top:10px}
.visitasList .pedidoCard{cursor:pointer}
.visitasList .pedidoCard:active{transform:scale(.995)}
.visitaValorResumo strong{font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.visitaValorResumo span{font-size:12px;color:#6b7280}
.visitaFormModal.open .detailPanel,
.visitaDetailModal.open .detailPanel{transform:translateY(0)}
.visitaFormPanel{max-width:620px;width:calc(100% - 22px);max-height:92vh;border-radius:22px;overflow:hidden}
.visitaFormBody{padding:12px;background:#f4f7fa;max-height:calc(92vh - 66px);overflow:auto}
.visitaFormBody .visitaForm{display:block;margin:0;padding:0;background:transparent}
.visitaFormBody .visitaCard{margin:0 0 12px 0;background:#fff;border:1px solid #dfe7ef;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(13,92,151,.08)}
.visitaFormBody .visitaCardTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.visitaFormBody .visitaCardTitle strong{display:block;font-size:15px;color:#1f2937}
.visitaFormBody .visitaCardTitle span{display:block;font-size:12px;color:#718096;margin-top:2px}
.visitaFormBody .visitaCardTitle.compact{margin-bottom:10px}
.visitaSegment{display:flex;background:#eef3f7;border:1px solid #d7e1ea;border-radius:999px;padding:3px;gap:3px;flex-shrink:0}
.visitaSegment button{border:0;background:transparent;color:#506070;font-size:12px;font-weight:800;border-radius:999px;padding:7px 10px;white-space:nowrap}
.visitaSegment button.active{background:#009640;color:#fff;box-shadow:0 6px 14px rgba(0,150,64,.22)}
.visitaLabel{display:block;font-size:12px;font-weight:800;color:#44515f;margin:10px 0 6px;text-transform:uppercase;letter-spacing:.03em}
.visitaInput,.visitaTextarea{width:100%;box-sizing:border-box;border:1px solid #d8e2eb;background:#fff;border-radius:14px;padding:12px 13px;font-size:14px;color:#1f2937;outline:none;font-family:'Source Sans Pro',Arial,sans-serif}
.visitaInput:focus,.visitaTextarea:focus{border-color:#0d5c97;box-shadow:0 0 0 3px rgba(13,92,151,.10)}
.visitaTextarea{resize:vertical;min-height:94px}
.visitaSearchWrap{display:flex;align-items:center;gap:6px}
.visitaSearchWrap .visitaInput{flex:1;min-width:0}
.visitaSearchClear{width:42px;height:42px;border-radius:14px;border:1px solid #d8e2eb;background:#f8fafc;color:#5f6d7a;font-size:22px;line-height:1}
.visitaGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.visitaChips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:8px;-webkit-overflow-scrolling:touch}
.visitaChips button{border:1px solid #d8e2eb;background:#f8fafc;color:#334155;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800;white-space:nowrap}
.visitaChips button.active{background:#0d5c97;border-color:#0d5c97;color:#fff;box-shadow:0 6px 16px rgba(13,92,151,.22)}
.visitaChips.temperatura button.active[data-value="quente"]{background:#009640;border-color:#009640}
.visitaChips.temperatura button.active[data-value="frio"]{background:#64748b;border-color:#64748b}
.visitaGeoBtn{width:100%;border:1px dashed #b9c8d7;background:#f8fbfd;color:#0d5c97;border-radius:14px;padding:12px;font-weight:900;margin-top:10px}
.visitaGeoInfo{font-size:12px;color:#718096;margin-top:7px;text-align:center}
.visitaClienteSelecionado{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#effaf3;border:1px solid #cfeedd;border-radius:14px;padding:10px;margin-top:8px}
.visitaClienteSelecionado strong{display:block;font-size:14px;color:#1f2937}
.visitaClienteSelecionado span{display:block;font-size:12px;color:#667085;margin-top:2px}
.visitaClienteSelecionado button{border:0;background:#009640;color:#fff;border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}
.visitaSugestoes{margin-top:8px;display:grid;gap:6px}
.visitaSugestaoItem{width:100%;text-align:left;border:1px solid #d8e2eb;background:#fff;border-radius:14px;padding:10px}
.visitaSugestaoItem strong{display:block;color:#1f2937;font-size:14px}
.visitaSugestaoItem span,.visitaSugestaoVazia{display:block;color:#667085;font-size:12px;margin-top:2px}
.visitaSugestaoVazia{background:#fff;border:1px dashed #d8e2eb;border-radius:14px;padding:10px}
.visitaActionsSticky{position:sticky;bottom:-12px;display:flex;gap:10px;background:linear-gradient(180deg,rgba(244,247,250,0),#f4f7fa 28%);padding:18px 0 2px;margin-top:2px;z-index:2}
.visitaBtn{flex:1;border:0;border-radius:16px;padding:14px 12px;font-weight:900;font-size:14px}
.visitaBtn.primary{background:#009640;color:#fff;box-shadow:0 10px 22px rgba(0,150,64,.25)}
.visitaBtn.ghost{background:#fff;color:#0d5c97;border:1px solid #d7e3ed}
.visitaDetailPanel{max-width:620px;width:calc(100% - 22px);max-height:92vh;border-radius:22px;overflow:hidden}
.visitaDetailStatusRow{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.visitaEvolucaoBox{background:#f8fafc;border:1px solid #dce6ee;border-radius:18px;padding:14px;margin-top:12px}
.visitaEvolucaoBox>strong{display:block;color:#1f2937;font-size:15px}
.visitaEvolucaoBox>span{display:block;color:#718096;font-size:12px;margin-top:2px;margin-bottom:10px}
.visitaEvolucaoGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 10px}
.visitaEvolucaoBtn{border:0;border-radius:15px;padding:13px 10px;color:#fff;font-weight:900;font-size:14px}
.visitaEvolucaoBtn.fechar{background:#009640;box-shadow:0 8px 18px rgba(0,150,64,.22)}
.visitaEvolucaoBtn.perder{background:#c83232;box-shadow:0 8px 18px rgba(200,50,50,.18)}
.visitasStatusQuick button.active{background:#0d5c97;color:#fff}
@media(max-width:420px){
  .visitaGrid2{grid-template-columns:1fr}
  .visitaFormBody .visitaCardTitle{align-items:flex-start;flex-direction:column}
  .visitaSegment{width:100%}
  .visitaSegment button{flex:1}
  .visitaEvolucaoGrid{grid-template-columns:1fr}
}


/* v162 - ajustes cirurgicos listas vazias e indicadores visitas */
.visitasStats>div{border-left:0!important;}
.visitasStats>div:nth-child(1)::before{background:#0d5c97!important;}
.visitasStats>div:nth-child(2)::before{background:#f0ad4e!important;}
.visitasStats>div:nth-child(3)::before{background:#009640!important;}
.visitasStats>div:nth-child(4)::before{background:#22a06b!important;}


/* v163 - listas vazias */
.loadMoreBox.is-hidden,
.loadMoreBox[hidden],
button.is-hidden[id$="CarregarMais"],
button[id$="CarregarMais"][hidden]{
  display:none !important;
}
.localList:empty + .loadMoreBox{
  display:none;
}
.emptyLocalList{
  width:100%;
  box-sizing:border-box;
}

/* v167 - processamento e erro amigavel no envio do pedido */
.pedidoSyncOverlayV167,
.pedidoSyncErroOverlayV167{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(12,24,38,.42);
  backdrop-filter:blur(5px);
}
.pedidoSyncBoxV167,
.pedidoSyncErroBoxV167{
  width:min(92vw,440px);
  background:#fff;
  border-radius:26px;
  box-shadow:0 24px 80px rgba(12,24,38,.24);
  border:1px solid rgba(0,150,64,.12);
  padding:28px 24px;
  text-align:center;
  font-family:'Source Sans Pro', Arial, sans-serif;
  color:#102033;
}
.pedidoSyncSpinnerV167{
  width:46px;
  height:46px;
  border-radius:50%;
  border:4px solid rgba(0,150,64,.16);
  border-top-color:#009640;
  margin:0 auto 16px;
  animation:pedidoSyncSpinV167 .8s linear infinite;
}
@keyframes pedidoSyncSpinV167{to{transform:rotate(360deg)}}
.pedidoSyncBoxV167 h3,
.pedidoSyncErroBoxV167 h3{
  margin:0 0 8px;
  font-size:24px;
  font-weight:900;
  color:#102033;
}
.pedidoSyncBoxV167 p,
.pedidoSyncErroBoxV167 p{
  margin:0;
  font-size:16px;
  line-height:1.35;
  color:#536172;
}
.pedidoSyncErroBoxV167{
  position:relative;
  text-align:left;
}
.pedidoSyncErroCloseV167{
  position:absolute;
  top:12px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  border-radius:14px;
  background:#f1f5f8;
  color:#1f2d3d;
  font-size:24px;
  line-height:1;
}
.pedidoSyncErroIconV167{
  width:44px;
  height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff1f1;
  color:#d92d20;
  font-weight:900;
  font-size:24px;
  margin-bottom:12px;
}
.pedidoSyncErroTextV167{
  width:100%;
  height:150px;
  margin-top:16px;
  border:1px solid #dbe3ea;
  border-radius:16px;
  padding:12px;
  resize:none;
  font-family:Consolas, Monaco, monospace;
  font-size:12px;
  color:#1f2d3d;
  background:#f8fafc;
  box-sizing:border-box;
}
.pedidoSyncErroActionsV167{
  display:flex;
  gap:10px;
  margin-top:14px;
}
.pedidoSyncErroActionsV167 button{
  flex:1;
  border:0;
  border-radius:16px;
  padding:13px 14px;
  font-weight:800;
  background:#009640;
  color:#fff;
}
.pedidoSyncErroActionsV167 button:first-child{
  background:#eef4f0;
  color:#007a35;
}

/* v170 - ajustes visitas: modal centralizado, indicadores clicáveis e filtros de período */
#visitaFormModal.visitaFormModal.open,
#visitaDetalheModal.visitaDetailModal.open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
#visitaFormModal .detailOverlay,
#visitaDetalheModal .detailOverlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(10,22,32,.54) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
}
#visitaFormModal .detailPanel,
#visitaDetalheModal .detailPanel{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 auto !important;
  width:min(680px, calc(100vw - 28px)) !important;
  height:auto !important;
  max-height:calc(100dvh - 28px) !important;
  border-radius:26px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  box-shadow:0 24px 70px rgba(10,22,32,.34) !important;
}
#visitaFormModal .visitaFormBody,
#visitaDetalheModal .detailBody{
  max-height:calc(100dvh - 108px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.visitasStats > div{
  position:relative;
  cursor:pointer;
  user-select:none;
}
.visitasStats > div:active{transform:scale(.992)}
.visitasStats > div::after{
  content:'Ver visitas';
  position:absolute;
  right:13px;
  bottom:10px;
  font-size:10px;
  font-weight:900;
  color:#009640;
  background:rgba(0,150,64,.08);
  border-radius:999px;
  padding:4px 8px;
}
.visitasFilterLine{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.visitasPeriodoBox,
.visitasStatusBox,
#visitasPeriodoBox,
#visitasStatusBox{
  flex:0 0 auto;
}
#visitasPeriodoPanel,
#visitasStatusPanel{z-index:60;}
.visitasPeriodoQuick button.active{background:#0d5c97;color:#fff;}
.visitasRelatorioOverlayV170{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  box-sizing:border-box;
  background:rgba(10,22,32,.54);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.visitasRelatorioBoxV170{
  width:min(720px, calc(100vw - 24px));
  max-height:calc(100dvh - 28px);
  background:#fff;
  border-radius:24px;
  box-shadow:0 24px 80px rgba(10,22,32,.35);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  font-family:'Source Sans Pro', Arial, sans-serif;
}
.visitasRelatorioHeaderV170{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid #e4edf4;
  background:linear-gradient(180deg,#fff,#f8fbfd);
}
.visitasRelatorioHeaderV170 strong{display:block;font-size:18px;color:#102033;}
.visitasRelatorioHeaderV170 span{display:block;font-size:12px;color:#6b7a89;margin-top:3px;}
.visitasRelatorioHeaderV170 button{border:0;background:#eef3f7;color:#22313f;width:38px;height:38px;border-radius:14px;font-size:24px;line-height:1;}
.visitasRelatorioBodyV170{padding:14px;overflow:auto;display:grid;gap:10px;background:#f4f7fa;}
.visitasRelatorioItemV170{background:#fff;border:1px solid #dfe7ef;border-radius:17px;padding:13px;box-shadow:0 8px 20px rgba(13,92,151,.06);}
.visitasRelatorioItemV170 strong{display:block;color:#102033;font-size:15px;}
.visitasRelatorioItemV170 span{display:block;color:#6b7280;font-size:12px;margin-top:3px;}
.visitasRelatorioItemV170 em{display:inline-flex;margin-top:8px;border-radius:999px;padding:5px 9px;background:#eef7f1;color:#008b3a;font-style:normal;font-size:11px;font-weight:900;}
@media(max-width:520px){
  #visitaFormModal.visitaFormModal.open,
  #visitaDetalheModal.visitaDetailModal.open{padding:10px !important;}
  #visitaFormModal .detailPanel,
  #visitaDetalheModal .detailPanel{width:calc(100vw - 20px) !important;max-height:calc(100dvh - 20px) !important;border-radius:22px !important;}
  .visitasFilterLine{display:grid;grid-template-columns:1fr;}
  #visitasPeriodoBox,#visitasStatusBox{width:100%;}
  #visitasPeriodoBtn,#visitasStatusBtn{width:100%;justify-content:space-between;}
  .visitasStats > div::after{position:static;display:inline-flex;margin-top:8px;}
}


/* v171 - ajustes finais pedido/visitas */
.visitaDataAutoBoxV171{display:block;margin-bottom:14px}
.visitaDataHoraDisplayV171{width:100%;box-sizing:border-box;border:1px solid rgba(12,48,78,.14);border-radius:18px;background:#f7fbfa;color:#102033;font-weight:800;font-size:16px;padding:14px 16px;min-height:48px;display:flex;align-items:center}
.visitaHiddenDateV171{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}
.obsRepresentanteV171{border-left:4px solid #009640}
.pedidoSyncOverlayV167{align-items:center!important;justify-content:center!important}

.appDetailLoadingV172{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.26);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.appDetailLoadingV172.open{display:flex;}
.appDetailLoadingBoxV172{
  width:min(280px,86vw);
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 55px rgba(15,23,42,.24);
  padding:24px 22px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#1f2937;
  font-family:'Source Sans Pro',Arial,sans-serif;
}
.appDetailLoadingSpinnerV172{
  width:38px;
  height:38px;
  border-radius:999px;
  border:4px solid #dbe6ef;
  border-top-color:#009640;
  animation:appDetailLoadingSpinV172 .72s linear infinite;
  margin-bottom:3px;
}
.appDetailLoadingBoxV172 strong{
  display:block;
  font-size:16px;
  line-height:1.15;
  font-weight:900;
  color:#12324a;
}
.appDetailLoadingBoxV172 span{
  display:block;
  font-size:13px;
  line-height:1.25;
  font-weight:700;
  color:#64748b;
}
body.appDetailLoadingOpenV172 .detailModal.open,
body.appDetailLoadingOpenV172 .appInputDialog,
body.appDetailLoadingOpenV172 .pedidoPeriodoDialog.open{
  pointer-events:none;
}
@keyframes appDetailLoadingSpinV172{to{transform:rotate(360deg)}}

/* v177 - melhora área de toque do +/- no lançamento de itens */
#modalItemPedido .qtyStepper{
  grid-template-columns:56px minmax(0,1fr) 56px !important;
  gap:10px !important;
}

#modalItemPedido .qtyStepper button,
#btnQtdMenos,
#btnQtdMais{
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  min-height:56px !important;
  border-radius:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-size:30px !important;
  font-weight:900 !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  cursor:pointer !important;
}

#modalItemPedido .qtyStepper input#itemQuantidade{
  height:56px !important;
  font-size:18px !important;
  font-weight:800 !important;
}

.historySoftBtnV178{
  border:0;
  border-radius:14px;
  min-height:42px;
  padding:0 14px;
  background:linear-gradient(135deg,#eef5fb,#dcebf6);
  color:#0d5c97;
  font-weight:800;
  font-family:'Source Sans Pro',Arial,sans-serif;
  box-shadow:0 8px 18px rgba(13,92,151,.12);
  white-space:nowrap;
}

.historySoftBtnV178:active{transform:scale(.98)}

.historySearchBoxV178{margin:0 0 12px 0}
.historySearchBoxV178 input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5e2ec;
  border-radius:16px;
  padding:13px 14px;
  font-size:16px;
  font-family:'Source Sans Pro',Arial,sans-serif;
  outline:none;
  background:#fff;
}
.historySearchBoxV178 input:focus{
  border-color:#0d5c97;
  box-shadow:0 0 0 3px rgba(13,92,151,.10);
}

.historyProductHeaderV178{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:10px;
  padding:0 4px 8px 4px;
  color:#6b7b88;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.historyProductHeaderV178 span:last-child{text-align:right}
.historyProductListV178{display:flex;flex-direction:column;gap:8px}
.historyProductItemV178{
  width:100%;
  border:1px solid #dbe6ef;
  background:#fff;
  border-radius:16px;
  padding:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  gap:10px;
  align-items:center;
  text-align:left;
  box-shadow:0 8px 18px rgba(13,92,151,.08);
  font-family:'Source Sans Pro',Arial,sans-serif;
}
.historyProductItemV178:active{transform:scale(.99)}
.historyProductMainV178{min-width:0;display:flex;flex-direction:column;gap:3px}
.historyProductMainV178 strong{
  color:#24384a;
  font-size:14px;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.historyProductMainV178 span{
  color:#6b7b88;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.historyProductDateV178{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.historyProductDateV178 span{color:#24384a;font-weight:800;font-size:13px;white-space:nowrap}
.historyProductDateV178 em{
  font-style:normal;
  color:#0d5c97;
  font-weight:800;
  font-size:12px;
  background:#eef5fb;
  border-radius:999px;
  padding:3px 8px;
  white-space:nowrap;
}

@media (max-width:420px){
  .itemActionGroup{gap:7px;flex-wrap:wrap;justify-content:flex-end}
  .historySoftBtnV178{min-height:38px;padding:0 12px;font-size:13px;flex:1 1 100%}
  .historyProductHeaderV178{grid-template-columns:minmax(0,1fr) 96px}
  .historyProductItemV178{grid-template-columns:minmax(0,1fr) 98px;padding:11px}
  .historyProductMainV178 strong{font-size:13px}
  .historyProductDateV178 span{font-size:12px}
}

html.appModalLockedV179,
body.appModalLockedV179{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
body.appModalLockedV179{
  touch-action:none !important;
}
.detailModal.open,
.orderModal.open,
.pedidoAuditoriaModal.open,
.pedidoPeriodoDialog.open,
.appInputDialog{
  overscroll-behavior:contain !important;
  touch-action:none !important;
}
.detailPanel,
.detailBody,
.pedidoAuditoriaPanel,
.pedidoAuditoriaBody,
.pedidoPeriodoBox,
.appInputDialogBox,
.appInputDialogPanel{
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch;
  touch-action:auto !important;
}
.detailOverlay,
.pedidoAuditoriaOverlay{
  touch-action:none !important;
}

/* v180 */
#modalItemPedido #itemProdutoSugestoes.open,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV99.open,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV101.open,
#modalItemPedido #itemProdutoSugestoes.pedidoProdutoSuggestV103.open{
  max-height:min(42vh, 360px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  overscroll-behavior:contain !important;
}
#modalItemPedido #itemProdutoSugestoes button{
  touch-action:pan-y !important;
}
#itemTabelaPreco,
#itemTabelaPreco option{
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  font-family:'Source Sans Pro', Arial, sans-serif !important;
}
#itemTabelaPreco{
  display:block !important;
  appearance:auto !important;
  -webkit-appearance:menulist !important;
}
#itemQuantidade:invalid{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12) !important;
}

/* v259 - autocomplete unificado cliente/produto/visita */
#pedidoClienteSugestoes.autoSuggestV247,
#pedidoClienteSugestoes.autoSuggestV255,
#visitaSugestoesCliente.autoSuggestV247,
#visitaSugestoesCliente.autoSuggestV255,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255,
#itemProdutoSugestoes.autoSuggestV247,
#itemProdutoSugestoes.autoSuggestV255{
  display:block !important;
  width:100% !important;
  max-height:min(62vh,420px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
  background:#fff !important;
  border:1px solid rgba(13,92,151,.18) !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(13,35,55,.18) !important;
  padding:6px !important;
  margin-top:7px !important;
  box-sizing:border-box !important;
}
#pedidoClienteSugestoes.autoSuggestV247:empty,
#pedidoClienteSugestoes.autoSuggestV255:empty,
#visitaSugestoesCliente.autoSuggestV247:empty,
#visitaSugestoesCliente.autoSuggestV255:empty,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247:empty,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255:empty,
#itemProdutoSugestoes.autoSuggestV247:empty,
#itemProdutoSugestoes.autoSuggestV255:empty{
  display:none !important;
}
#pedidoClienteSugestoes.autoSuggestV247 .autoSuggestRowV247,
#pedidoClienteSugestoes.autoSuggestV255 .autoSuggestRowV255,
#visitaSugestoesCliente.autoSuggestV247 .autoSuggestRowV247,
#visitaSugestoesCliente.autoSuggestV255 .autoSuggestRowV255,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247 .autoSuggestRowV247,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255 .autoSuggestRowV255,
#itemProdutoSugestoes.autoSuggestV247 .autoSuggestRowV247,
#itemProdutoSugestoes.autoSuggestV255 .autoSuggestRowV255{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  min-height:54px !important;
  padding:8px 6px !important;
  border:0 !important;
  border-bottom:1px solid rgba(15,45,70,.08) !important;
  background:#fff !important;
  box-sizing:border-box !important;
  text-align:left !important;
  touch-action:pan-y !important;
}
#pedidoClienteSugestoes.autoSuggestV247 .autoSuggestRowV247:last-child,
#pedidoClienteSugestoes.autoSuggestV255 .autoSuggestRowV255:last-child,
#visitaSugestoesCliente.autoSuggestV247 .autoSuggestRowV247:last-child,
#visitaSugestoesCliente.autoSuggestV255 .autoSuggestRowV255:last-child,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247 .autoSuggestRowV247:last-child,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255 .autoSuggestRowV255:last-child,
#itemProdutoSugestoes.autoSuggestV247 .autoSuggestRowV247:last-child,
#itemProdutoSugestoes.autoSuggestV255 .autoSuggestRowV255:last-child{
  border-bottom:0 !important;
}
#pedidoClienteSugestoes .autoSuggestInfoV247,
#pedidoClienteSugestoes .autoSuggestInfoV255,
#visitaSugestoesCliente .autoSuggestInfoV247,
#visitaSugestoesCliente .autoSuggestInfoV255,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV247,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV255,
#itemProdutoSugestoes .autoSuggestInfoV247,
#itemProdutoSugestoes .autoSuggestInfoV255{
  min-width:0 !important;
  pointer-events:none !important;
}
#pedidoClienteSugestoes .autoSuggestInfoV247 strong,
#pedidoClienteSugestoes .autoSuggestInfoV255 strong,
#visitaSugestoesCliente .autoSuggestInfoV247 strong,
#visitaSugestoesCliente .autoSuggestInfoV255 strong,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV247 strong,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV255 strong,
#itemProdutoSugestoes .autoSuggestInfoV247 strong,
#itemProdutoSugestoes .autoSuggestInfoV255 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.15 !important;
  color:#17324d !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#pedidoClienteSugestoes .autoSuggestInfoV247 span,
#pedidoClienteSugestoes .autoSuggestInfoV255 span,
#visitaSugestoesCliente .autoSuggestInfoV247 span,
#visitaSugestoesCliente .autoSuggestInfoV255 span,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV247 span,
#modalItemPedido #itemProdutoSugestoes .autoSuggestInfoV255 span,
#itemProdutoSugestoes .autoSuggestInfoV247 span,
#itemProdutoSugestoes .autoSuggestInfoV255 span{
  display:block !important;
  margin-top:3px !important;
  font-size:12px !important;
  line-height:1.18 !important;
  color:#667085 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#pedidoClienteSugestoes .autoSuggestSelectV247,
#pedidoClienteSugestoes .autoSuggestSelectV255,
#visitaSugestoesCliente .autoSuggestSelectV247,
#visitaSugestoesCliente .autoSuggestSelectV255,
#modalItemPedido #itemProdutoSugestoes .autoSuggestSelectV247,
#modalItemPedido #itemProdutoSugestoes .autoSuggestSelectV255,
#itemProdutoSugestoes .autoSuggestSelectV247,
#itemProdutoSugestoes .autoSuggestSelectV255{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#74808c !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(51,65,85,.18) !important;
  padding:0 !important;
  margin:0 !important;
  touch-action:manipulation !important;
}
#pedidoClienteSugestoes .autoSuggestSelectV247:active,
#pedidoClienteSugestoes .autoSuggestSelectV255:active,
#visitaSugestoesCliente .autoSuggestSelectV247:active,
#visitaSugestoesCliente .autoSuggestSelectV255:active,
#modalItemPedido #itemProdutoSugestoes .autoSuggestSelectV247:active,
#modalItemPedido #itemProdutoSugestoes .autoSuggestSelectV255:active,
#itemProdutoSugestoes .autoSuggestSelectV247:active,
#itemProdutoSugestoes .autoSuggestSelectV255:active{
  background:#5f6873 !important;
  transform:scale(.96) !important;
}
#pedidoClienteSugestoes .autoSuggestRowV247.inadimplente,
#pedidoClienteSugestoes .autoSuggestRowV255.inadimplente{
  background:#fff7f7 !important;
}
#pedidoClienteSugestoes .autoSuggestEmpty,
#visitaSugestoesCliente .autoSuggestEmpty,
#modalItemPedido #itemProdutoSugestoes .autoSuggestEmpty,
#itemProdutoSugestoes .autoSuggestEmpty,
#itemProdutoSugestoes .autoSuggestEmptyV146{
  padding:12px !important;
  color:#667085 !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-align:center !important;
}
@media(max-height:620px){
  #pedidoClienteSugestoes.autoSuggestV247,
  #visitaSugestoesCliente.autoSuggestV247,
  #modalItemPedido #itemProdutoSugestoes.autoSuggestV255,
  #itemProdutoSugestoes.autoSuggestV255{
    max-height:46vh !important;
  }
  #pedidoClienteSugestoes .autoSuggestRowV247,
  #visitaSugestoesCliente .autoSuggestRowV247,
  #modalItemPedido #itemProdutoSugestoes .autoSuggestRowV255,
  #itemProdutoSugestoes .autoSuggestRowV255{
    padding:7px 5px !important;
  }
  #pedidoClienteSugestoes .autoSuggestSelectV247,
  #visitaSugestoesCliente .autoSuggestSelectV247,
  #modalItemPedido #itemProdutoSugestoes .autoSuggestSelectV255,
  #itemProdutoSugestoes .autoSuggestSelectV255{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:11px !important;
    line-height:36px !important;
  }
}


/* v260 - autocomplete sem estourar modal */
#pedidoClienteSugestoes.autoSuggestV247,
#pedidoClienteSugestoes.autoSuggestV255,
#visitaSugestoesCliente.autoSuggestV247,
#visitaSugestoesCliente.autoSuggestV255,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255,
#itemProdutoSugestoes.autoSuggestV247,
#itemProdutoSugestoes.autoSuggestV255{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  left:auto !important;
  right:auto !important;
  box-sizing:border-box !important;
}
#pedidoClienteSugestoes.autoSuggestV247 *,
#pedidoClienteSugestoes.autoSuggestV255 *,
#visitaSugestoesCliente.autoSuggestV247 *,
#visitaSugestoesCliente.autoSuggestV255 *,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV247 *,
#modalItemPedido #itemProdutoSugestoes.autoSuggestV255 *,
#itemProdutoSugestoes.autoSuggestV247 *,
#itemProdutoSugestoes.autoSuggestV255 *{
  box-sizing:border-box !important;
  max-width:100% !important;
}
.orderCard,
.clientFieldRow,
.clientFieldRow label,
.visitaClienteBox,
.visitaSearchWrap,
#modalItemPedido .detailBody,
#modalItemPedido .produtoAutocompleteAnchor,
#modalItemPedido .produtoInputRowV132{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
#modalItemPedido .produtoInputRowV132{
  overflow:hidden !important;
}
#modalItemPedido #itemProdutoBusca,
#pedidoClienteBusca,
#visitaBuscaCliente{
  min-width:0 !important;
  max-width:100% !important;
}
@media(max-width:520px){
  .clientFieldRow{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  .clientActionGroup{
    grid-template-columns:repeat(4, 40px) !important;
    gap:4px !important;
    max-width:176px !important;
  }
  .clientIconBtn{
    width:40px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:14px !important;
  }
}
@media(max-width:390px){
  .clientFieldRow{
    grid-template-columns:1fr !important;
  }
  .clientActionGroup{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  }
  .clientIconBtn{
    width:100% !important;
  }
}

/* v261 - correção cirúrgica: autocomplete de produto preso ao modal, sem fixed/100vw */
#modalItemPedido #produtoAutocompleteAnchor{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261{
  position:static !important;
  display:block !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  max-height:min(46vh,360px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
  background:#fff !important;
  border:1px solid rgba(13,92,151,.18) !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(13,35,55,.18) !important;
  padding:6px !important;
  margin:7px 0 0 0 !important;
  box-sizing:border-box !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261:empty{
  display:none !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestRowV261{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  padding:8px 6px !important;
  border:0 !important;
  border-bottom:1px solid rgba(15,45,70,.08) !important;
  background:#fff !important;
  box-sizing:border-box !important;
  text-align:left !important;
  touch-action:pan-y !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestRowV261:last-child{
  border-bottom:0 !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestInfoV261{
  min-width:0 !important;
  pointer-events:none !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestInfoV261 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.15 !important;
  color:#17324d !important;
  font-weight:900 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestInfoV261 span{
  display:block !important;
  margin-top:3px !important;
  font-size:12px !important;
  line-height:1.22 !important;
  color:#667085 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestInfoV261 em{
  display:inline-block !important;
  margin-top:4px !important;
  padding:2px 7px !important;
  border-radius:999px !important;
  background:#fff0ca !important;
  color:#885800 !important;
  font-style:normal !important;
  font-size:11px !important;
  font-weight:800 !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestSelectV261{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#737d89 !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(51,65,85,.20) !important;
  padding:0 !important;
  margin:0 !important;
  touch-action:manipulation !important;
}
#modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestSelectV261:active{
  background:#606b78 !important;
  transform:scale(.96) !important;
}
@media(max-height:620px){
  #modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261{
    max-height:220px !important;
  }
  #modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestRowV261{
    padding:7px 5px !important;
  }
  #modalItemPedido #itemProdutoSugestoes.autoSuggestProdutoV261 .autoSuggestSelectV261{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:11px !important;
    line-height:36px !important;
  }
}

/* v262 - produto autocomplete isolado e preso ao modal */
#modalItemPedido #produtoAutocompleteAnchor{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262{
  display:block !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  max-height:min(34vh,240px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
  background:#fff !important;
  border:1px solid rgba(13,92,151,.18) !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(13,35,55,.18) !important;
  padding:6px !important;
  margin:7px 0 0 0 !important;
  box-sizing:border-box !important;
  z-index:40 !important;
  contain:none !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262:empty{
  display:none !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 *{
  box-sizing:border-box !important;
  max-width:100% !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoRowV262{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  padding:8px 6px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(15,45,70,.08) !important;
  border-radius:0 !important;
  background:#fff !important;
  text-align:left !important;
  touch-action:pan-y !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoRowV262:last-child{
  border-bottom:0 !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoInfoV262{
  min-width:0 !important;
  pointer-events:none !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoInfoV262 strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:#17324d !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoInfoV262 span{
  display:block !important;
  margin-top:3px !important;
  font-size:12px !important;
  line-height:1.22 !important;
  color:#667085 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoInfoV262 em{
  display:inline-block !important;
  margin-top:4px !important;
  padding:2px 7px !important;
  border-radius:999px !important;
  background:#fff0ca !important;
  color:#885800 !important;
  font-style:normal !important;
  font-size:11px !important;
  font-weight:800 !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 button.produtoSelectV262{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#737d89 !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(51,65,85,.20) !important;
  padding:0 !important;
  margin:0 !important;
  text-align:center !important;
  touch-action:manipulation !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 button.produtoSelectV262:active{
  background:#606b78 !important;
  transform:scale(.96) !important;
}
#modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoEmptyV262{
  padding:12px !important;
  color:#667085 !important;
  font-size:13px !important;
}
@media(max-height:620px){
  #modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262{
    max-height:190px !important;
  }
  #modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 .produtoRowV262{
    min-height:50px !important;
    padding:7px 5px !important;
  }
  #modalItemPedido #itemProdutoSugestoes.produtoAutocompleteV262 button.produtoSelectV262{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    max-width:36px !important;
    border-radius:11px !important;
    line-height:36px !important;
  }
}


/* v263 - trava visual final somente para autocomplete de PRODUTO */
#itemProdutoSugestoes.produtoAutocompleteFixV263{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  background:#fff!important;
  border:1px solid rgba(13,92,151,.18)!important;
  border-radius:14px!important;
  box-shadow:0 14px 32px rgba(13,35,55,.22)!important;
  padding:6px!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:2147483000!important;
}
#itemProdutoSugestoes.produtoAutocompleteFixV263:empty{display:none!important;}
#itemProdutoSugestoes.produtoAutocompleteFixV263 .produtoRowFixV263{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  padding:8px 6px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(15,45,70,.08)!important;
  border-radius:0!important;
  background:#fff!important;
  text-align:left!important;
  touch-action:pan-y!important;
}
#itemProdutoSugestoes.produtoAutocompleteFixV263 .produtoRowFixV263:last-child{border-bottom:0!important;}
#itemProdutoSugestoes.produtoAutocompleteFixV263 .produtoInfoFixV263{min-width:0!important;pointer-events:none!important;overflow:hidden!important;}
#itemProdutoSugestoes.produtoAutocompleteFixV263 .produtoInfoFixV263 strong{display:block!important;font-size:14px!important;line-height:1.15!important;font-weight:900!important;color:#17324d!important;white-space:normal!important;word-break:break-word!important;}
#itemProdutoSugestoes.produtoAutocompleteFixV263 .produtoInfoFixV263 span{display:block!important;margin-top:3px!important;font-size:12px!important;line-height:1.22!important;color:#667085!important;white-space:normal!important;word-break:break-word!important;}
#itemProdutoSugestoes.produtoAutocompleteFixV263 button.produtoSelectFixV263{
  width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;border:0!important;border-radius:11px!important;background:#737d89!important;color:#fff!important;font-size:20px!important;font-weight:900!important;line-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 4px 12px rgba(51,65,85,.20)!important;padding:0!important;margin:0!important;text-align:center!important;touch-action:manipulation!important;
}


/* v270 - Detalhe do cliente: cobranças em aberto em 2 colunas no tablet/desktop e 1 no smartphone */
.detailGrid > .clienteCobrancasResumo{
  grid-column:1 / -1!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.detailGrid > .clienteCobrancasRegua{
  grid-column:1 / -1!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}

.clienteCobrancasRegua > .clienteFinanceItem{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

.clienteCobrancasRegua .dashListMain,
.clienteCobrancasRegua .dashListSide{
  min-width:0!important;
}

@media (max-width:640px){
  .detailGrid > .clienteCobrancasRegua{
    grid-template-columns:1fr!important;
  }
}


/* v280 - Modal Obs. representante em largura correta */
#dashboardModal.obsRepresentanteModalV280 .dashboardDetailPanel{
  width:min(760px, calc(100vw - 28px)) !important;
  max-width:760px !important;
}
#dashboardModal.obsRepresentanteModalV280 .detailSection{
  width:100% !important;
  max-width:100% !important;
}
#dashboardModal.obsRepresentanteModalV280 .detailGrid{
  display:block !important;
  grid-template-columns:1fr !important;
  width:100% !important;
}
#dashboardModal.obsRepresentanteModalV280 .pedidoObsRepTextoV202{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  white-space:pre-wrap;
}
@media (max-width:520px){
  #dashboardModal.obsRepresentanteModalV280 .dashboardDetailPanel{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
  }
}

/* v281 - botão repetir pedido */
.pedidoActionBtn.repeatBtn{
  background:linear-gradient(135deg,#6f7a86,#4f5964);
}

@media (min-width:700px){
  .pedidoActions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}


/* v282 - ações do detalhe do pedido responsivas */
#pedidoDetalheModal .pedidoActions{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(104px,1fr)) !important;
  gap:8px !important;
  align-items:stretch !important;
}

#pedidoDetalheModal .pedidoActionBtn{
  min-width:0 !important;
  width:100% !important;
  padding:0 10px !important;
  white-space:nowrap !important;
}

#pedidoDetalheModal .pedidoActionBtn.repeatBtn{
  background:linear-gradient(135deg,#6f7a86,#4f5964) !important;
}

@media (min-width:700px){
  #pedidoDetalheModal .pedidoActions{
    grid-template-columns:repeat(auto-fit,minmax(92px,1fr)) !important;
  }
}

@media (max-width:520px){
  #pedidoDetalheModal .pedidoActions{
    grid-template-columns:repeat(auto-fit,minmax(48px,1fr)) !important;
    gap:7px !important;
  }
  #pedidoDetalheModal .pedidoActionBtn{
    height:44px !important;
    padding:0 !important;
    font-size:0 !important;
    border-radius:14px !important;
  }
  #pedidoDetalheModal .pedidoActionBtn::before{
    content:attr(data-icon);
    font-size:18px !important;
    line-height:1 !important;
    font-weight:800 !important;
  }
  #pedidoDetalheModal .pedidoActionBtn.nfeBtn::before{
    font-size:13px !important;
    letter-spacing:-.3px !important;
  }
  #pedidoDetalheModal .pedidoActionBtn.financeiroBtn::before{
    font-size:14px !important;
  }
}

/* v2.0.42 - Lançamento de itens: tipo único para desconto/acréscimo */
.discountModeGridV2042{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:end;
  margin:0 0 2px;
}
.discountModeGridV2042 label{
  min-width:0;
}
.discountModeGridV2042 select,
.discountModeGridV2042 input{
  width:100%!important;
  height:50px!important;
  border-radius:14px!important;
}
.discountModeGridV2042 select{
  padding:0 8px!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:900!important;
  background:#eef4f8!important;
  color:#244054!important;
}
.discountModeGridV2042 input:disabled{
  opacity:.55;
  background:#eef2f5!important;
  color:#8190a0!important;
}
@media (max-width:430px){
  .discountModeGridV2042{
    grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);
    gap:7px;
  }
  .discountModeGridV2042 select,
  .discountModeGridV2042 input{
    height:48px!important;
    font-size:14px!important;
  }
}

/* v2.0.83 - PWA: bloquear seleção/menu de navegador fora de campos editáveis */
html,
body,
#app,
.app,
.page,
.card,
.btn,
button,
a,
label,
.pedido-card,
.produto-card,
.cliente-card,
.item-row,
.list-row,
.orderItemCard,
.orderBottomActions,
.orderBottomActions *:not(input):not(textarea):not(select) {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

img,
svg,
a,
button,
.btn,
.card,
.pedido-card,
.produto-card,
.cliente-card,
.item-row,
.list-row,
.orderItemCard {
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

input,
textarea,
select,
[contenteditable="true"],
.permitirSelecao,
.permitirSelecao *,
.tinymce,
.tox,
.tox *,
.tox-edit-area,
.tox-edit-area iframe {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0.08) !important;
}

html,
body{
  font-size:15px;
}

button,
input,
select,
textarea{
  font-size:16px;
}

.content,
.card,
.searchPanel,
.localItem,
.pedidoCard,
.pedidoDetailSection,
.orderCard,
.detailPanel,
.detailBody,
.sideMenuPanel,
.syncMainCard,
.syncModuleCard,
.dashSection,
.dashListItem{
  font-size:15px;
}

.sub,
.searchHint,
.localItemMain span,
.localItemMeta span,
.pedidoCliente span,
.pedidoValor span,
.pedidoChip,
.pedidoDetailItem span,
.pedidoDetailItem small,
.detailHeader span,
.detailField strong,
.dashSectionTitle span,
.dashListMain span,
.dashListSide span,
.syncModuleTop span,
.syncModuleFooter small,
.sideMenuUser span,
.orderItemCard span,
.orderItemCard small,
.selectedProductBox span,
.stockRow span,
.productPhotoSlide span,
.emptyLocalList,
.dashEmpty,
.pedidoObs{
  font-size:13px;
}

.listItem strong,
.localItemMain strong,
.pedidoCliente strong,
.pedidoValor strong,
.pedidoDetailSection > strong,
.pedidoDetailItem strong,
.pedidoDetailItem b,
.detailField strong,
.dashListMain strong,
.dashListSide strong,
.orderItemCard strong,
.selectedProductBox strong,
.stockRow strong,
.stockRow b{
  font-size:15px;
}

.detailHeader strong,
.syncMainHeader strong,
.syncModuleTop strong,
.dashSectionTitle strong,
.sectionTitleRow strong,
.sectionTitle{
  font-size:17px;
}

.orderCard label,
.orderDetailPanel label{
  font-size:15px;
}

.orderCard input,
.orderCard select,
.orderCard textarea,
.orderDetailPanel input,
.orderDetailPanel select,
.orderDetailPanel textarea,
.searchInputWrap input{
  font-size:17px;
}

.autoSuggest strong,
.offersList strong{
  font-size:15px;
}

.autoSuggest span,
.offersList span{
  font-size:13px;
}

.pedidoActionBtn,
.smallGreenBtn,
.sectionTitleRow button,
.primaryFullBtn,
.secondaryFullBtn,
.orderBottomActions button,
.fieldWithActions button,
.cepRow button{
  font-size:15px;
}

.navbtn .txt{
  font-size:10px;
}

@media (max-width:360px){
  .navbtn .txt{
    font-size:9px;
  }
}


/* Ajuste 2.1.80 - limita últimas vendas do mês no mesmo padrão da régua de cobrança */
#dashPedidosLista{
  max-height:330px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:4px!important;
}


/* Ajuste 2.1.83 - mantém últimas vendas do mês com altura limitada e carregamento por rolagem */
.dashboardContent #dashPedidosLista,
#dashPedidosLista.dashList,
#dashPedidosLista{
  max-height:330px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-right:4px!important;
}


/* Produtos - manter labels dos filtros visíveis no smartphone */
@media(max-width:560px){
  .produtoFilterLineV271 .produtoFiltroBtnV271{
    justify-content:space-between!important;
    gap:4px!important;
    padding:0 9px!important;
  }
  .produtoFilterLineV271 .produtoFiltroBtnV271 span{
    display:inline!important;
    flex:0 0 auto!important;
    font-size:11px!important;
  }
  .produtoFilterLineV271 .produtoFiltroBtnV271 strong{
    flex:1 1 auto!important;
    min-width:0!important;
    text-align:left!important;
    font-size:11px!important;
  }
  .produtoFilterLineV271 .produtoFiltroBtnV271 em{
    flex:0 0 auto!important;
  }
}


.produtoItemOferta .localItemMetaRight{
  min-width:112px;
}

.localItemMetaRight .produtoPrecoVendaLista{
  color:#708092;
  font-size:11px;
  font-weight:700;
  text-decoration:line-through;
  opacity:.82;
}

.localItemMetaRight .produtoPrecoOfertaLista{
  margin-top:3px;
  color:#b42318;
  font-size:14px;
  font-weight:800;
  line-height:1.15;
}

/* Pesquisa manual: botão de lupa dentro do campo */
.searchInputWrap{
  gap:8px !important;
}

.searchInputWrap .searchManualIconBtn{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border:1px solid #cfe0d7 !important;
  border-radius:13px !important;
  background:#ffffff !important;
  color:#009640 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:17px !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:0 4px 10px rgba(20,45,62,.08) !important;
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent !important;
  flex:0 0 auto !important;
}

.searchInputWrap .searchManualIconBtn:active{
  transform:scale(.96) !important;
  background:#f3faf6 !important;
}

.searchInputWrap .searchManualIconBtn[disabled],
.searchInputWrap .searchManualIconBtn.disabled{
  opacity:.65 !important;
  pointer-events:none !important;
}

.searchInputWrap input{
  min-width:0 !important;
}

@media (max-width:520px){
  .searchInputWrap{
    padding-right:7px !important;
  }

  .searchInputWrap .searchManualIconBtn{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:12px !important;
    font-size:16px !important;
  }
}


/* v2.1.138 - ajuste leve de performance somente para tablets Android */
html.android-tablet-performance,
body.android-tablet-performance{
  --shadow:0 6px 16px rgba(31,45,61,.055);
}

body.android-tablet-performance *{
  -webkit-tap-highlight-color:transparent;
}

body.android-tablet-performance .card,
body.android-tablet-performance .detailPanel,
body.android-tablet-performance .detailCard,
body.android-tablet-performance .modalPanel,
body.android-tablet-performance .pwaStatusBox,
body.android-tablet-performance .syncCard,
body.android-tablet-performance .clienteCard,
body.android-tablet-performance .produtoCard,
body.android-tablet-performance .pedidoCard,
body.android-tablet-performance .visitaCard,
body.android-tablet-performance .itemCard,
body.android-tablet-performance .historyCard,
body.android-tablet-performance .appInputDialogPanel{
  box-shadow:0 6px 16px rgba(31,45,61,.055) !important;
}

body.android-tablet-performance .footer,
body.android-tablet-performance #toast,
body.android-tablet-performance .sideMenu,
body.android-tablet-performance .autocompleteList,
body.android-tablet-performance .suggestionsBox,
body.android-tablet-performance #itemProdutoSugestoes,
body.android-tablet-performance #clienteSugestoes,
body.android-tablet-performance .produtoSugestoes,
body.android-tablet-performance .clienteSugestoes{
  box-shadow:0 4px 12px rgba(0,0,0,.08) !important;
}

body.android-tablet-performance .appInputDialogOverlay,
body.android-tablet-performance .modalOverlay,
body.android-tablet-performance .detailOverlay,
body.android-tablet-performance .reguaFiltroOverlay{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.android-tablet-performance .appInputDialogPanel,
body.android-tablet-performance .detailPanel,
body.android-tablet-performance .modalPanel{
  animation:none !important;
}

body.android-tablet-performance .sideMenu,
body.android-tablet-performance #toast,
body.android-tablet-performance .appInputDialogOverlay,
body.android-tablet-performance .modalOverlay,
body.android-tablet-performance .detailOverlay{
  transition-duration:.08s !important;
}

body.android-tablet-performance input,
body.android-tablet-performance textarea,
body.android-tablet-performance select,
body.android-tablet-performance button{
  transition:background-color .08s ease,border-color .08s ease,color .08s ease !important;
}

.dashGreetingActions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  flex:0 0 auto;
}

/* Ajuste 2.1.142 - ícone de privacidade compatível com iOS/Safari */
.dashPrivacyBtn{
  width:34px;
  height:34px;
  min-width:34px;
  border:1px solid rgba(0,150,64,.24);
  border-radius:999px;
  background:#fff;
  color:#009640;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  cursor:pointer;
  position:relative;
  z-index:20;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  -webkit-appearance:none;
  appearance:none;
  padding:0;
  line-height:1;
}

.dashPrivacyBtn .dashPrivacySvg{
  width:21px;
  height:21px;
  display:block;
  flex:0 0 auto;
  pointer-events:none;
  overflow:visible;
}

.dashPrivacyEye,
.dashPrivacySlash{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dashPrivacyPupil{
  fill:currentColor;
}

.dashPrivacyBtn.off .dashPrivacySlash{
  display:block;
}

.dashPrivacyBtn.on .dashPrivacySlash{
  display:none;
}

.dashPrivacyBtn.on{
  background:#009640;
  border-color:#009640;
  color:#fff;
  box-shadow:0 8px 20px rgba(0,150,64,.24);
}

.dashSensitiveValue{
  white-space:nowrap;
}


/* Régua de desconto do item */
.itemDescontoReguaRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:8px;
  align-items:center;
}
.itemDescontoReguaRow #itemDesconto{
  min-width:0;
}
.itemDescontoReguaBtn{
  width:46px!important;
  height:50px!important;
  border:1px solid rgba(13,92,151,.16)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#f7fbff,#e9f3fb)!important;
  color:#0d5c97!important;
  box-shadow:0 10px 22px rgba(13,92,151,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;
}
.itemDescontoReguaBtn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.itemDescontoReguaBtn:active{
  transform:scale(.97);
}
.itemDescontoReguaBtn:disabled{
  opacity:.45;
  filter:grayscale(1);
  box-shadow:none!important;
}
#modalReguaDescontoItem.orderModal .descontoReguaPanel{
  width:min(430px, calc(100vw - 26px))!important;
  max-height:calc(100dvh - 34px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
#modalReguaDescontoItem .descontoReguaHeader{
  background:linear-gradient(135deg,#0d5c97,#1681c4)!important;
  color:#fff!important;
}
#modalReguaDescontoItem .descontoReguaHeader strong,
#modalReguaDescontoItem .descontoReguaHeader span{
  color:#fff!important;
}
#modalReguaDescontoItem .descontoReguaHeader span{
  opacity:.86!important;
}
#modalReguaDescontoItem .descontoReguaHeader button{
  color:#fff!important;
  background:rgba(255,255,255,.15)!important;
  border-color:rgba(255,255,255,.25)!important;
}
.descontoReguaBody{
  padding:18px!important;
  background:linear-gradient(180deg,#f8fbfd,#eef5fa)!important;
}
.descontoReguaResumo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.descontoReguaResumo div{
  border:1px solid rgba(13,92,151,.10);
  background:rgba(255,255,255,.86);
  border-radius:18px;
  padding:12px;
  box-shadow:0 12px 28px rgba(15,47,80,.08);
}
.descontoReguaResumo span,
.descontoReguaPercentual span,
.descontoReguaEscala span{
  display:block;
  font-size:11px;
  color:#6d7f90;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.descontoReguaResumo strong{
  display:block;
  margin-top:5px;
  font-size:18px;
  color:#153a56;
  font-weight:900;
  letter-spacing:-.02em;
}
.descontoReguaGauge{
  position:relative;
  border:1px solid rgba(13,92,151,.12);
  border-radius:24px;
  padding:18px 16px 14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 40px rgba(15,47,80,.10);
  overflow:hidden;
}
.descontoReguaGauge:before{
  content:"";
  position:absolute;
  inset:-40% auto auto 48%;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(13,92,151,.13),rgba(13,92,151,0) 68%);
  pointer-events:none;
}
.descontoReguaPercentual{
  position:relative;
  text-align:center;
  margin-bottom:14px;
}
.descontoReguaPercentual strong{
  display:block;
  font-size:42px;
  line-height:1;
  letter-spacing:-.05em;
  color:#0d5c97;
  font-weight:950;
}
.descontoReguaPercentual span{
  margin-top:7px;
  color:#49677d;
  text-transform:none;
  letter-spacing:0;
  font-size:13px;
}
#reguaDescontoRange{
  position:relative;
  width:100%;
  height:36px;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  margin:4px 0 0;
  outline:none;
  --regua-pct:0%;
}
#reguaDescontoRange::-webkit-slider-runnable-track{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#0d5c97 0%,#20a6d9 var(--regua-pct),#d9e6ef var(--regua-pct),#d9e6ef 100%);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.08);
}
#reguaDescontoRange::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:30px;
  height:30px;
  border-radius:999px;
  margin-top:-9px;
  background:#fff;
  border:7px solid #0d5c97;
  box-shadow:0 10px 24px rgba(13,92,151,.28);
}
#reguaDescontoRange::-moz-range-track{
  height:12px;
  border-radius:999px;
  background:#d9e6ef;
}
#reguaDescontoRange::-moz-range-progress{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#0d5c97,#20a6d9);
}
#reguaDescontoRange::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  border:7px solid #0d5c97;
  box-shadow:0 10px 24px rgba(13,92,151,.28);
}
.descontoReguaEscala{
  display:flex;
  justify-content:space-between;
  margin-top:3px;
}
.descontoReguaAviso{
  min-height:18px;
  margin:11px 2px 0;
  color:#8a5a00;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.descontoReguaActions{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:10px;
  margin-top:15px;
}
.descontoReguaActions button{
  height:48px;
  border-radius:16px;
  font-size:14px;
  font-weight:950;
  border:0;
}
.descontoReguaCancel{
  background:#e8eef3;
  color:#536677;
}
.descontoReguaApply{
  background:linear-gradient(135deg,#0d5c97,#1596d1);
  color:#fff;
  box-shadow:0 14px 28px rgba(13,92,151,.22);
}
.descontoReguaApply:disabled{
  opacity:.48;
  box-shadow:none;
}
@media (max-width:430px){
  .itemDescontoReguaRow{grid-template-columns:minmax(0,1fr) 42px;gap:6px;}
  .itemDescontoReguaBtn{width:42px!important;height:48px!important;}
  .descontoReguaResumo{grid-template-columns:1fr;}
  .descontoReguaPercentual strong{font-size:38px;}
}
