:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202020;background:#f5f5f5;font-size:16px;--ink:#161616;--muted:#686868;--line:#e2e2e2;--accent:#292929;--lime:#ffffff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-1px}h2{font-size:1.25rem}h3{font-size:1rem}p{line-height:1.6}a{color:var(--accent)}button{border:1px solid var(--line);background:white;color:var(--ink);padding:11px 16px;border-radius:9px;font-weight:600}button:hover{background:#efefef}button.primary{background:var(--marca-botao,var(--ink));color:var(--marca-botao-texto,white);border-color:var(--marca-botao,var(--ink))}button.primary:hover{background:var(--marca-botao-hover,#333333)}button.lime{background:var(--lime);color:var(--ink);border:0}button.subtle{background:transparent;border-color:transparent}input,select,textarea{padding:12px;border:1px solid #c9c9c9;border-radius:8px;background:white;color:var(--ink);min-width:0;max-width:100%}textarea{min-height:90px;resize:vertical}label{display:grid;gap:7px;font-size:.875rem;font-weight:600}label[hidden]{display:none}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}.stack{display:grid;gap:18px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--ink);color:white;padding:8vw;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.brand{display:flex;align-items:center;gap:12px;font-size:1.3rem;font-weight:750}.brand img{width:44px;height:44px;filter:brightness(0) invert(1)}.login-brand h1{font-size:3.5rem;line-height:1.07;max-width:500px;letter-spacing:-2px}.login-brand p{color:#cbcbcb;max-width:390px}.login-brand .stroke{height:4px;background:var(--lime);width:70px;margin:28px 0}.login-form{padding:65px 9vw;display:flex;flex-direction:column;justify-content:center;gap:25px}.demo-box{padding:16px;background:#ededed;border-radius:12px;display:grid;gap:12px}.demo-box button{font-size:.875rem;padding:9px}.badge{display:inline-flex;padding:6px 10px;border-radius:6px;background:#ebebeb;font-size:.75rem;font-weight:700;white-space:nowrap}.badge.green{background:#e8f5ec;color:#166534}.badge.blue{background:#e8f1ff;color:#1e40af}.badge.amber{background:#fff4d6;color:#854d0e}.badge.gray{background:#efefef;color:#686868}.badge.purple{background:#f1eafe;color:#6b21a8}.badge.demo{background:#f1f1f1;color:#585858}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:white;padding:30px 20px;display:flex;flex-direction:column;gap:35px;position:sticky;top:0;height:100vh}.sidebar .brand{font-size:1.08rem}.sidebar small{color:#b4b4b4}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:13px;text-align:left;border:0;background:transparent;color:#cecece;font-weight:500;padding:13px 14px}.nav button.active{background:var(--lime);color:var(--ink);font-weight:700}.nav button:hover:not(.active){background:#3d3d3d}.nav .icon{font-size:1.12rem;width:20px;text-align:center}.sidebar .bottom{margin-top:auto;border-top:1px solid #4a4a4a;padding-top:20px}.avatar{width:38px;height:38px;background:#ebebeb;color:var(--ink);border-radius:50%;display:grid;place-items:center;font-weight:700;flex:none}.topbar{height:80px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white;gap:15px}.topbar .context{font-size:.875rem;color:var(--muted)}.content{padding:34px 38px 60px;max-width:1560px;margin:auto}.heading{margin-bottom:26px}.heading p{margin-top:7px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:20px}.stat strong{display:block;font-size:2rem;margin:10px 0 5px;letter-spacing:-1px}.stat .small{color:var(--muted)}.stat.featured{background:var(--ink);color:white;border-color:var(--ink)}.stat.featured .small{color:#cccccc}.panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line)}.panel-body{padding:24px}.toolbar{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}.toolbar input{flex:1;min-width:170px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#fcfcfc;font-weight:600}th,td{padding:17px 22px;border-bottom:1px solid #f0f0f0}td{font-size:.875rem}td b{font-size:.9375rem;display:block;margin-bottom:5px}tr:last-child td{border-bottom:0}.two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module{text-align:left;padding:24px;min-height:170px;border-radius:14px;display:flex;flex-direction:column;gap:12px}.module .symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f2f2f2;color:var(--ink)}.module:hover .symbol{background:white}.module .abrir{display:inline-flex;align-items:center;gap:6px;margin-top:auto}.module p{font-weight:400;font-size:.875rem;color:var(--muted)}.module .badge{align-self:flex-start}.agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mission-card{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.mission-card .cardbody{padding:22px;display:grid;gap:16px}.mission-card footer{border-top:1px solid var(--line);padding:15px 22px;display:flex;justify-content:space-between;align-items:center}.mission-card .time{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.mission-card h2{font-size:1.15rem}.progress{height:6px;background:#ededed;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}.empty{padding:50px 25px;text-align:center;color:var(--muted)}.list-row{padding:17px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.timeline{border-left:2px solid #e2e2e2;margin:10px;padding-left:20px;display:grid;gap:24px}.timeline p{font-size:.875rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.notice{padding:16px 20px;border:1px solid #dfdfdf;border-radius:10px;background:#f9f9f9;color:#525252;font-size:.875rem;line-height:1.5;margin-bottom:22px}.error{color:#454545;font-size:.875rem;min-height:20px}.login-form h1{font-size:2rem}.loading{padding:80px;text-align:center}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:560px;max-width:calc(100% - 28px);color:var(--ink);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #29292950}dialog::backdrop{background:#22222280}dialog h2{margin-bottom:20px}.dialog-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.dialog-topo h2{margin:0}.dialog-x{flex:none;padding:8px}
.irpara-topo{display:flex;align-items:center;border-bottom:1px solid var(--line)}.irpara-topo input{flex:1;min-width:0;border-bottom:0}.irpara-topo .dialog-x{margin-right:10px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}canvas{border:1px dashed #a4a4a4;border-radius:10px;width:100%;height:180px;touch-action:none;background:white}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#161616;color:white;padding:14px 24px;border-radius:10px;box-shadow:0 8px 35px #00000022;display:none;z-index:10;max-width:90vw}.mobile-title{display:none}.team{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.team:last-child{border:0}.detail-title{margin:20px 0}.keyval{display:grid;gap:18px}.keyval dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:5px}.keyval dd{margin:0;font-size:.9375rem}.metric-line{display:flex;justify-content:space-between;margin-bottom:9px}.planned{opacity:.78}
@media(max-width:1150px){.shell{grid-template-columns:210px 1fr}.content{padding:28px 24px}.topbar{padding:0 24px}.module-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.login-form{padding:50px}.login-brand{padding:55px}.login-brand h1{font-size:2.8rem}}
@media(max-width:760px){h1{font-size:1.7rem}.login{grid-template-columns:1fr}.login-brand{padding:30px;gap:28px}.login-brand h1{font-size:2.1rem}.login-brand>p{display:none}.login-brand .stroke{margin:15px 0}.login-form{padding:30px 24px}.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:18px;gap:18px}.sidebar .bottom{display:none}.nav{display:flex;overflow:auto;gap:5px}.nav button{flex:none;padding:10px 12px}.nav .icon{display:none}.sidebar .eyebrow{display:none}.sidebar .brand img{width:32px;height:32px}.topbar{height:64px;padding:0 20px}.topbar .context{font-size:.75rem}.content{padding:24px 18px}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat strong{font-size:1.8rem}.agenda,.module-grid{grid-template-columns:1fr}.heading{align-items:flex-start}.panel-body,.panel-head{padding:18px}.toolbar{padding:16px}.item{align-items:flex-start}.item button{font-size:.875rem;padding:9px}.topbar .avatar{display:none}.mobile-title{display:block}.heading .row{width:100%}th,td{padding:15px}.actions button{flex-grow:1}}

progress{width:100%;height:7px;accent-color:var(--accent)}#logout-side{color:#cecece;font-size:.875rem;padding-left:0;margin-top:12px}.panel:has(>.toolbar){margin-bottom:20px}
.sidebar .eyebrow{color:#b4b4b4;margin-bottom:16px}

.sep-item{padding:18px 0;border-bottom:1px solid var(--line)}.sep-item fieldset{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:12px;align-items:end;border:0;padding:16px 0 0;margin:0}.sep-item fieldset input,.sep-item fieldset select{width:100%}@media(max-width:900px){.sep-item fieldset{grid-template-columns:1fr 1fr}.sep-item fieldset label:nth-child(3){grid-column:1 / -1}}

.sep-photo{width:110px;height:90px;object-fit:cover;border-radius:8px;margin:8px 0}.sep-report-photo{max-width:100%;width:320px;max-height:280px;object-fit:contain}#sep-report-page{padding:28px;max-width:1100px;margin:auto;background:white;color:black}.report-open #app{display:none}#sep-report-page article{border-top:1px solid #aaa;padding:20px 0;break-inside:avoid}#sep-report-page figure{margin:8px 0}#sep-report-page figcaption{font-size:12px}@media print{.no-print,#toast,dialog{display:none!important}#sep-report-page{padding:0}body{background:white}}

.badge.red{background:#fdecec;color:#991b1b}.badge:is(.green,.blue,.amber,.red,.purple)::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;align-self:center;margin-right:6px;flex:none}
.tabs{display:flex;gap:6px;margin:0 0 18px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:10px 14px;font-weight:600}.tabs button.active{border-bottom-color:currentColor}.tabs-select{display:none}
@media(min-width:641px){.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}} /* "Agenda e roteiro" numa linha só; as abas descem inteiras */.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.form-grid .actions,.campo-largo{grid-column:1/-1}.campo-qtd{width:5.5em}.item.inativo{opacity:.6}
.mapa{height:520px;border-radius:0 0 10px 10px;z-index:0}.mapa.mini{height:300px;border-radius:0}.legenda{display:flex;flex-wrap:wrap;gap:14px}.legenda i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}.pino span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#161616;color:white;font-weight:700;font-size:.8rem;border:2px solid white}.seq{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:#161616;color:white;font-weight:700}.agenda-ctrl{gap:16px;margin-bottom:18px;flex-wrap:wrap}.pool-item{display:flex;grid-template-columns:none;gap:10px;align-items:flex-start;font-weight:400;padding:10px 0;border-bottom:1px solid var(--line)}.pool-item input{margin-top:4px}@media(max-width:700px){.mapa{height:380px}}
.grow{flex:1;min-width:0}.ocupacao{height:6px;border-radius:3px;background:#ebebeb;overflow:hidden;margin-top:8px;max-width:360px}.ocupacao span{display:block;height:100%;background:#15803d}.ocupacao.med span{background:#d97706}.ocupacao.hi span{background:#dc2626}.notice.alerta{border-color:#dc2626;background:#fef2f2;color:#991b1b}.item.almoco{justify-content:flex-start;color:var(--muted);font-size:.875rem;padding:10px 0}.parada-acoes{gap:6px;flex-wrap:wrap;justify-content:flex-end}.parada-acoes .vol{width:76px;padding:8px}.parada-acoes label{grid-template-columns:auto;display:flex;align-items:center;gap:6px}

/* Navegação: barra superior e "Ir para…" (o Início lista as janelas) */
.app{min-height:100vh}
.barra{position:sticky;top:0;z-index:1000;height:60px;display:flex;align-items:center;gap:14px;padding:0 20px;background:var(--marca-fundo,var(--ink));color:var(--marca-texto,white);box-shadow:inset 0 -3px 0 var(--marca-faixa,transparent)}
.barra button{background:transparent;border:0;color:inherit;padding:8px}
.barra-marca{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.02rem}.barra-marca img{width:28px;height:28px;filter:brightness(0) invert(1)}
.trilha{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--marca-texto-2,#b4b4b4);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trilha button{padding:4px 8px;border-radius:6px;color:var(--marca-texto-2,#e5e5e5);text-decoration:underline;text-underline-offset:3px}.trilha button:hover{background:var(--marca-suave,#3d3d3d)}.trilha span:last-child{color:var(--marca-texto,white);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.barra-dir{margin-left:auto;display:flex;align-items:center;gap:12px}
.barra-busca{display:flex!important;align-items:center;gap:10px;border:1px solid var(--marca-borda,#4a4a4a)!important;border-radius:8px;padding:7px 10px!important;color:var(--marca-texto-2,#cecece)!important;min-width:180px;justify-content:flex-start}.barra-busca span{margin-right:auto}.barra-busca:hover{border-color:var(--marca-texto-2,#8a8a8a)!important;color:var(--marca-texto,white)!important}
small{font-size:.8125rem}kbd{font-family:inherit;font-size:.75rem;font-weight:600;line-height:1;padding:3px 6px;border-radius:5px;border:1px solid currentColor;opacity:.8}
.barra .avatar{width:34px;height:34px;font-size:.8rem}
.gaveta-grupo{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--marca-texto-2,#8a8a8a);margin:16px 10px 4px}
.gaveta-item{display:flex;align-items:center;gap:13px;text-align:left;border:0;background:transparent;color:var(--marca-texto-2,#cecece);font-weight:500;padding:11px 12px;border-radius:8px;text-decoration:none}.gaveta-item .icon{display:grid;place-items:center;width:22px;height:22px;flex:none}.gaveta-item:hover:not(.active){background:var(--marca-suave,#3d3d3d);color:var(--marca-texto,white)}.gaveta-item.active{background:var(--marca-destaque,var(--lime));color:var(--marca-destaque-texto,var(--ink));font-weight:700}
.gaveta-pe{margin-top:auto;border-top:1px solid var(--marca-borda,#4a4a4a);padding-top:16px;display:grid;gap:10px}.gaveta-pe small{color:var(--marca-texto-2,#b4b4b4)}.gaveta-pe .subtle{color:var(--marca-texto-2,#cecece);justify-self:start}
.grupo-inicio{margin-top:28px}.grupo-inicio>h2{margin-bottom:12px}
.recentes{display:flex;flex-wrap:wrap;gap:10px}.recentes button{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px}.recentes .icon{display:grid;place-items:center;flex:none}
dialog.dialog-irpara{padding:0;width:min(620px,94vw);margin-top:12vh;border-radius:14px}
.irpara{display:grid}.irpara input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 20px;font-size:1.05rem}.irpara input:focus{outline:none}.irpara p{padding:10px 20px}
.irpara ul{list-style:none;margin:0;padding:6px;max-height:52vh;overflow-y:auto}.irpara li{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:8px;cursor:pointer}.irpara li .icon{display:grid;place-items:center;width:22px;height:22px;flex:none}.irpara li span:nth-child(2){flex:1;min-width:0}.irpara li small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.irpara li em{font-style:normal;font-size:.75rem;color:var(--muted)}.irpara li.sel{background:var(--ink);color:white}.irpara li.sel small,.irpara li.sel em{color:#cecece}.irpara li.vazio{color:var(--muted);cursor:default}
@media(max-width:760px){.barra{gap:6px;padding:0 10px}.trilha,.barra .avatar{display:none}.barra-busca{min-width:0}.barra-busca kbd{display:none}.barra-marca{font-size:.95rem}}

/* Jornada */
.pilula-jornada{display:flex!important;align-items:center;gap:8px;border-radius:999px!important;padding:6px 12px!important;font-size:.8rem;font-weight:700;background:#3d3d3d!important;color:white!important}.pilula-jornada i{width:9px;height:9px;border-radius:50%;background:#9ca3af}.pilula-jornada.blue i{background:#60a5fa}.pilula-jornada.green i{background:#4ade80}.pilula-jornada.amber i{background:#fbbf24}.pilula-jornada.purple i{background:#c084fc}
.jornada-painel .panel-body{display:grid;gap:18px}
.jornada-estado{display:grid;gap:4px;padding:20px 22px;border-radius:12px;background:#f3f3f3;border-left:6px solid #9ca3af}.jornada-estado strong{font-size:1.6rem}.jornada-estado.blue{border-color:#2563eb}.jornada-estado.green{border-color:#16a34a}.jornada-estado.amber{border-color:#d97706}.jornada-estado.purple{border-color:#7c3aed}
.jornada-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.jornada-acoes button{padding:16px;font-size:1rem}
.jornada-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.linha-tempo{list-style:none;margin:0;padding:0;display:grid;gap:8px}.linha-tempo li{display:flex;gap:14px}.linha-tempo time{font-weight:700;min-width:48px}.linha-tempo small{display:block;color:var(--muted)}
.jornada-detalhe td{background:#fafafa}
.gps-ind{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--marca-texto-2,#cecece);white-space:nowrap}.gps-ind i{width:8px;height:8px;border-radius:50%;background:#9ca3af}.gps-ind.green i{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.25)}.gps-ind.red i{background:#f87171}.gps-ind.amber i{background:#fbbf24}@media(max-width:760px){.gps-ind{font-size:0;gap:0}}

/* RMA */
.trilha-fases{list-style:none;display:flex;gap:6px;margin:0 0 20px;padding:0;overflow-x:auto}.trilha-fases li{flex:1;min-width:110px;padding:10px 12px;border-radius:8px;background:#ebebeb;color:var(--muted);font-weight:600;font-size:.85rem;text-align:center}.trilha-fases li.feita{background:#dcfce7;color:#166534}.trilha-fases li.atual{background:var(--ink);color:white}
.estado-rma .panel-head p{margin-top:6px;color:var(--muted)}.acoes-rma{display:grid;gap:8px}.acoes-rma button{text-align:left;padding:13px 16px}
.paradas-motorista{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.paradas-motorista li{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.item-parcial{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:120px 1fr;gap:10px}.item-parcial legend{font-weight:700;font-size:.875rem;padding:0 6px}a.button{display:inline-block;padding:11px 16px;border-radius:8px;background:var(--ink);color:white;text-decoration:none;font-weight:600}

/* Rastreio público */
body.rastreio{background:#f4f4f5}.rastreio-app{max-width:520px;margin:0 auto;background:white;min-height:100vh}
.rastreio .barra{position:static;justify-content:space-between}.rastreio-sub{font-size:.85rem;color:#cecece}
.rastreio-status{padding:22px 20px 14px;text-align:center;display:grid;gap:6px}.rastreio-grande{font-size:1.45rem;font-weight:750;margin:0}
.pulso{display:inline-block;width:10px;height:10px;border-radius:50%;background:#16a34a;margin-right:8px;vertical-align:middle;animation:pulso 1.4s ease-in-out infinite}@keyframes pulso{50%{opacity:.3}}
.rastreio-mapa{height:52vh}.rastreio-etapas{list-style:none;display:flex;gap:4px;margin:0;padding:14px 16px}.rastreio-etapas li{flex:1;text-align:center;font-size:.78rem;padding:8px 4px;border-radius:6px;background:#ebebeb;color:var(--muted);font-weight:600}.rastreio-etapas li.feita{background:#dcfce7;color:#166534}.rastreio-etapas li.atual{background:var(--ink);color:white}
.rastreio-rodape{text-align:center;font-size:.8rem;color:var(--muted);padding:12px 16px 24px;margin:0}
.email-corpo{white-space:pre-wrap;font:inherit;font-size:.85rem;background:#f4f4f5;padding:10px 12px;border-radius:8px;margin-top:6px}
.imp-escolha{gap:16px;align-items:flex-end;flex-wrap:wrap}.imp-escolha p{flex-basis:100%;margin:0}

.logistica{background:#fff8e1;border-left:3px solid #FEB303;padding:6px 10px;border-radius:6px;color:#4a3b00}.notice.logistica{border-color:#FEB303;background:#fff8e1;color:#4a3b00}.produtos-card{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.875rem}.produtos-card li{line-height:1.35}.botao-whats{display:inline-flex;padding:8px 12px;border-radius:8px;background:#e8f5ec;color:#166534;font-weight:700;font-size:.875rem;text-decoration:none}
.grade-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ped-cliente{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ped-cliente>div{display:grid;gap:6px}.ped-itens input.num{width:84px;padding:8px}.ped-itens select{padding:8px;max-width:210px}.ped-itens td{vertical-align:top}.ped-flags{display:grid;gap:4px}.ped-flags label{display:flex;align-items:center;gap:6px;font-weight:500;font-size:.8rem;white-space:nowrap}.ped-total{font-size:1.8rem;font-weight:800;letter-spacing:-.5px}.ped-rodape{position:sticky;bottom:10px;box-shadow:0 8px 30px #0000001a}
.atd-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:16px;height:calc(100vh - 240px);min-height:520px}.atd-lista{overflow:auto;display:flex;flex-direction:column}.atd-abas{display:flex;flex-wrap:wrap;gap:4px;padding:10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white}.atd-abas button{padding:6px 9px;font-size:.78rem;border:0;background:transparent}.atd-abas button.ativa{background:var(--ink);color:white}.atd-abas button.ativa .badge{background:#3d3d3d;color:white}.atd-item{display:grid;gap:4px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 16px;font-weight:400}.atd-item.sel{background:#f1f1f1;box-shadow:inset 3px 0 0 var(--ink)}.atd-nl{background:#E50000;color:white;border-radius:999px;font-size:.72rem;font-weight:800;padding:1px 7px}.atd-vazio{padding:20px}
.atd-conversa{display:flex;flex-direction:column;min-height:0}.atd-conversa .panel-head h2{font-size:1.1rem}.atd-msgs{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:#fafafa}.atd-msg{max-width:78%;align-self:flex-start;display:grid;gap:3px}.atd-msg>div{background:white;border:1px solid var(--line);padding:10px 13px;border-radius:14px 14px 14px 4px;line-height:1.45;overflow-wrap:anywhere}.atd-msg>span{font-size:.72rem;color:var(--muted)}.atd-msg.eu{align-self:flex-end;text-align:right}.atd-msg.eu>div{background:var(--ink);color:white;border-color:var(--ink);border-radius:14px 14px 4px 14px;text-align:left}.atd-msg.eu a{color:#FEB303}.atd-sis{align-self:center;font-size:.75rem;color:var(--muted);background:#efefef;border-radius:999px;padding:4px 12px}.atd-digitando{font-style:italic}.atd-compositor{display:flex;gap:10px;padding:12px;border-top:1px solid var(--line)}.atd-compositor textarea{flex:1;min-height:48px;max-height:160px}.atd-conversa .notice{margin:10px 12px 0}
.atd-painel{overflow:auto}.atd-painel h3{font-size:1.05rem}.atd-painel h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:18px 0 6px}.atd-linha{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.875rem}.atd-linha button{justify-self:start;padding:4px 0;font-size:.8rem}
@media (max-width:1100px){.atd-grid{grid-template-columns:260px minmax(0,1fr);height:auto}.atd-painel{grid-column:1/-1}}
@media (max-width:760px){.atd-grid{grid-template-columns:1fr}.atd-lista{max-height:260px}.atd-conversa.aberta{min-height:70vh}.ped-cliente{flex-direction:column}}
.mt{margin-top:18px}.mt-p{margin-top:12px}

.avisos-gestao{display:grid;gap:8px;margin-bottom:22px}.aviso-g{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:white;font-size:.9rem}.aviso-g button{padding:7px 12px;font-size:.85rem}.aviso-g button:first-of-type{margin-left:auto}.aviso-g.alerta{border-color:#dc2626;background:#fef2f2;color:#991b1b}.mapa-endereco{height:300px;border-radius:10px;border:1px solid var(--line);margin-top:8px}dialog:has(.mapa-endereco){width:760px}
.pino-end i{display:block;width:26px;height:26px;background:#E50000;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 8px #0006}

.barra-sino{position:relative;background:transparent;border:0;color:inherit;padding:8px;display:flex;align-items:center}.barra-sino span{position:absolute;top:2px;right:0;background:#E50000;color:white;border-radius:999px;font-size:.75rem;font-weight:800;padding:1px 5px;line-height:1.3}
.faixa-urgente{display:flex;gap:14px;align-items:center;justify-content:space-between;background:#E50000;color:white;padding:12px 18px;border-radius:10px;margin-bottom:18px}.faixa-urgente button{background:white;color:#E50000;border:0;white-space:nowrap}.faixa-texto{flex:1;min-width:0}.faixa-urgente .faixa-ver{display:none}
@media(max-width:760px){.faixa-urgente{padding:6px 6px 6px 14px;gap:8px;margin-bottom:12px}.faixa-texto{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .faixa-detalhe,.faixa-urgente [data-aviso-ler]{display:none}.faixa-urgente .faixa-ver{display:inline-flex}}
.aviso{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:8px}.aviso.urgente:not(.lido){border-color:#E50000}.aviso.lido{opacity:.7}
.rotinas{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.rotina{display:grid;gap:8px;text-align:left;padding:16px;font-weight:400;border-left:4px solid #d4d4d4}.rotina.green{border-left-color:#16a34a}.rotina.amber{border-left-color:#d97706}.rotina.red{border-left-color:#dc2626}
.reg-det{white-space:pre-wrap;font-size:.75rem;background:#f6f6f6;padding:8px;border-radius:6px;max-height:240px;overflow:auto}.aviso-destino{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-wrap:wrap;gap:12px}.aviso-destino select{min-width:260px}label.check{display:flex;align-items:center;gap:6px;font-weight:500}.leituras{display:flex;flex-wrap:wrap;gap:6px}
.param-grupo{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:10px}.param-grupo legend{font-weight:700;padding:0 6px}

.linha-promo td{background:#fff8d6}.linha-liq td{background:#fde8e8}.linha-sem td{color:#8a8a8a}.linha-sem td b{color:#8a8a8a}
.selo-promo{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#FEB303;color:#3b2a00;font-size:.72rem;font-weight:800;vertical-align:middle}.selo-promo.liq{background:#E50000;color:white}
.preco-de{text-decoration:line-through;color:var(--muted);font-size:.85em}.preco-por{color:#b45309}.linha-liq .preco-por{color:#b91c1c}
.stat-promo{background:#fff8d6;border-color:#FEB303}.stat-liq{background:#fde8e8;border-color:#E50000}
.legenda{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.legenda .cor{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid #0002}.legenda .cor.linha-promo{background:#fff8d6}.legenda .cor.linha-liq{background:#fde8e8}.legenda .cor.linha-sem{background:#eee}
.ped-alerta{display:block;margin-top:4px;font-size:.75rem;color:#b91c1c;font-weight:600}
.lib-card{background:white;border:1px solid var(--line);border-left:4px solid #FEB303;border-radius:12px;padding:16px 18px;display:grid;gap:10px}.lib-card h3{margin-top:6px}.lib-valores{display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:baseline;text-align:right}.acao-cfg{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px}

.cx-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:16px;margin-bottom:16px}.cx-fila{padding:10px;max-height:520px;overflow:auto}.cx-item{display:grid;gap:4px;text-align:left;font-weight:400;padding:12px 14px}.cx-item.sel{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}.cx-item.bloq{opacity:.75;background:#fffbeb}.cx-vazio{padding:12px}
.cx-pag select,.cx-pag input{padding:9px}.cx-pag input[type=number]{width:130px}.cx-totais{display:grid;grid-template-columns:auto auto;gap:4px 16px;justify-content:end;font-size:1.05rem}.cx-totais b{text-align:right}.cx-falta{color:#b91c1c}.cx-formas{gap:8px}.cx-acomp{gap:8px;padding-top:10px;border-top:1px solid var(--line)}.cx-acomp input{flex:1 1 200px}.cx-pag-nome{flex:1 1 180px}.cx-pag input[data-f=nsu],.cx-pag input[data-f=autorizacao]{width:170px}
.cx-pix{align-items:center;gap:8px;padding:10px 0}.cx-pix>.row{width:100%}.cx-pix img,.cx-pix svg{width:min(240px,100%);height:auto;background:#fff;padding:8px;border-radius:8px}.cx-pix code{max-width:100%;word-break:break-all;font-size:12px}
.cx-resumo{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cx-resumo div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:2px}.cx-resumo b{font-size:1.2rem}
@media (max-width:900px){.cx-grid{grid-template-columns:1fr}}
.rastro{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:12px}.rastro li{display:grid;gap:3px;position:relative}.rastro li::before{content:'';position:absolute;left:-25px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--ink)}.rastro .badge{justify-self:start}

.assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.assinaturas div{display:grid;gap:6px;text-align:center;font-size:.85rem;color:var(--muted)}.assinaturas span{border-bottom:1px solid #333;height:36px}
@media print{body{background:white}.barra,#faixa-avisos,.no-print,.heading,#toast{display:none!important}.content{padding:0;max-width:none}.relatorio-caixa{border:0}.relatorio-caixa h2{font-size:1.2rem}.tablewrap{overflow:visible}th,td{padding:6px 8px}.cx-resumo{grid-template-columns:repeat(3,1fr)}}

/* Diário de montagem: uma página por dia na impressão */
#sep-report-page .diario-pagina{break-inside:auto}#sep-report-page .diario-pagina h3{margin:14px 0 4px;font-size:15px}@media print{#sep-report-page .diario-pagina+.diario-pagina{break-before:page}}

/* Portal de Separação e Conferência: indicador que pede atenção */
.stat.alerta{border-color:#E50000}.stat.alerta strong{color:#E50000}

/* Consulta de produtos: filtros rápidos, painel de filtros e fotos (21/10/2026) */
.chips{display:flex;gap:8px;padding:0 0 12px;flex-wrap:wrap}.panel>.chips{padding:0 20px 12px}
.chip{border-radius:999px;padding:6px 14px;font-size:14px}
.chip.ativo,.chip.active,#prod-abrir-filtros.ativo{background:#161616;color:#fff;border-color:#161616}
.filtros{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.filtros fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.filtros fieldset .row{flex-wrap:wrap;gap:6px 16px}
.col-foto{width:72px}
.prod-mini{width:64px;height:48px;object-fit:cover;border-radius:8px;background:#F4F1EA;display:block}
.prod-foto{width:168px;height:126px;object-fit:contain;border-radius:12px;background:#F4F1EA;flex:none}
.prod-cab{gap:16px;align-items:flex-start}
@media (max-width:640px){.prod-foto{width:112px;height:84px}.col-foto{width:56px}.prod-mini{width:48px;height:36px}}
/* Grade de estoque: empresas nas colunas, locais nas linhas */
.grade-estoque th,.grade-estoque td{text-align:center;white-space:nowrap;vertical-align:top}
.grade-estoque thead th{font-size:13px}.grade-estoque thead th span{display:block;font-weight:400;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.grade-estoque th[scope=row]{text-align:left}
.grade-estoque td b{display:block;font-size:16px}.grade-estoque td b.disp{color:#166534}.grade-estoque td b.zero{color:#8A8478}
.grade-estoque td span{display:block}
.grade-estoque tr.so-ver td,.grade-estoque tr.so-ver th{background:#faf8f3}
.grade-estoque tfoot th,.grade-estoque tfoot td{border-top:2px solid #161616;font-weight:700}
/* Reservado: tem estoque físico, mas não disponível */
.linha-res td{background:#eef2ff}.legenda .cor.linha-res{background:#eef2ff}.reservado{display:block;color:#3730a3;font-weight:600}
/* Janela Integrações: cartões de situação, termos e valores, gráfico por hora. */
.integ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px}
.integ-card{margin:0}.integ-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;margin:0;font-size:.875rem}.integ-dl dt{color:var(--muted)}.integ-dl dd{margin:0;font-weight:600;text-align:right;max-width:55vw;overflow-wrap:break-word}
.integ-grafico{margin:4px 0 18px}.integ-grafico svg{width:100%;max-width:760px;height:auto;display:block}.integ-eixo{font-size:11px;fill:var(--muted)}.erro-txt{color:#991b1b}
/* Cartão de chamada (janela Ligações): fica por cima de qualquer tela; no celular ocupa a largura toda. */
.chamadas{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:2000;display:grid;gap:10px;width:min(400px,calc(100vw - 32px))}
.chamada-card{background:var(--ink);color:white;border-radius:14px;padding:16px 18px;box-shadow:0 12px 32px rgba(0,0,0,.35);display:grid;gap:10px;animation:chamada-entra .2s ease-out}
.chamada-card h2{margin:0;font-size:1.25rem;color:white;overflow-wrap:anywhere}.chamada-card p{margin:0;color:#cecece}
.chamada-card button{background:#2b2b2b;color:white;border-color:#4a4a4a}.chamada-card button.primary{background:#16a34a;border-color:#16a34a}
.chamada-card button.subtle{background:transparent;border-color:transparent;color:#cecece;text-decoration:underline}
.chamada-card [data-chamada-desligar]{background:#E50000!important;border-color:#E50000!important}
@keyframes chamada-entra{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:480px){.chamadas{right:8px;left:8px;width:auto;bottom:calc(8px + env(safe-area-inset-bottom))}}
@media print{.chamadas{display:none!important}}
/* ---- Celular e app instalado (21/10/2026): tudo cabe na largura da tela, sem rolar para o lado; toque de 44px. ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,video,canvas{max-width:100%}
.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.grade-form{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}.rotinas{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
/* App instalado em tela cheia (viewport-fit=cover): a barra desce do entalhe e o fim da página sobe da barra de gestos. */
@media screen{.barra{height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .content{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}
@media(max-width:760px){
 .barra{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));gap:4px}.barra-dir{gap:4px;min-width:0}
 .content,.panel,.panel-body,.panel-head,.heading,.lib-card,.lib-card>*,.cx-grid>*,.two-col>*,section,article{min-width:0}
 p,h1,h2,h3,td,th,li,label,.small,.badge,b,strong{overflow-wrap:anywhere}.badge{white-space:normal}
 h1{font-size:clamp(1.3rem,6vw,1.7rem)}.tabs{flex-wrap:wrap;overflow-x:visible}.aviso-destino select{min-width:0;width:100%}
 .grade-estoque td{white-space:normal}.ped-flags label{white-space:normal}
}
/* Mais de 5 abas no celular: o seletor "Seção" (espelharAbas, nas duas cascas) fica no lugar dos botões. */
@media(max-width:640px){.tabs-select{display:block;width:100%;margin:0 0 14px}.tabs.com-select{display:none}}
/* Filtros das missões no celular (toolbar() do app.js): "Filtros" fechado e o Atualizar na mesma linha. */
.filtros-barra{flex:1;min-width:0}.filtros-barra>summary{font-weight:600;cursor:pointer;padding:10px 0}.filtros-campos{display:grid;gap:10px;margin-top:8px}
/* Listas longas no celular: 30 linhas e "Mostrar mais" (app.js). */
.mostrar-mais{display:none}
@media(max-width:640px){.lista-30 tbody tr:nth-child(n+31):not(.visivel){display:none}.mostrar-mais{display:flex;margin:4px auto 12px}}
/* Telas bem estreitas: a barra mostra só ícones (marca, busca e GPS sem texto). */
@media(max-width:480px){
 .barra-marca{font-size:0;gap:0}.barra-busca{min-width:44px!important;justify-content:center;padding:7px!important}.barra-busca span{display:none}
 .gps-ind{font-size:0;gap:0}.pilula-jornada{padding:6px 10px!important;font-size:.75rem}
}
/* Tabelas viram cartões: cada linha é um cartão e cada célula leva o nome da coluna (data-label, posto pelo app.js). */
@media(max-width:640px){
 .tablewrap{overflow:visible}.tablewrap table,.tablewrap tbody,.tablewrap tfoot,.tablewrap tr,.tablewrap td,.tablewrap tbody th,.tablewrap tfoot th{display:block;width:auto}
 .tablewrap thead{display:none}.tablewrap tr{border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin:0 0 10px}
 .tablewrap td,.tablewrap tbody th,.tablewrap tfoot th{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border:0;text-align:right;overflow-wrap:anywhere}
 .tablewrap td+td,.tablewrap th+td{border-top:1px solid #f3f3f3}
 .tablewrap td::before,.tablewrap tbody th::before,.tablewrap tfoot th::before{content:attr(data-label);flex:0 0 38%;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
 .tablewrap td[data-label=""],.tablewrap tbody th[data-label=""]{justify-content:flex-start;text-align:left}.tablewrap td[data-label=""]::before,.tablewrap tbody th[data-label=""]::before{display:none}
 .tablewrap td>*{max-width:100%}.tablewrap td .row{justify-content:flex-end}
 /* Célula com mais de uma informação: rótulo em cima e conteúdo embaixo, na largura toda. */
 .tablewrap td:has(> * + *){display:block;text-align:left}.tablewrap td:has(> * + *)::before{display:block;margin-bottom:4px}.tablewrap td:has(> * + *) .row{justify-content:flex-start}
 .tablewrap td:has(> * + *)>*{display:block}.tablewrap td:has(> * + *)>button,.tablewrap td:has(> * + *)>.badge{display:inline-flex;margin:2px 6px 2px 0}
}
/* Dedo em vez de mouse: alvos de pelo menos 44px. */
@media(pointer:coarse){
 .dica-teclado,.barra-busca kbd{display:none} /* atalhos de teclado (Ctrl+K, setas, Esc) não valem no toque */
 button,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),.chip{min-height:44px}
 .barra-sino,.barra button{min-width:44px;min-height:44px}
 input[type=checkbox],input[type=radio]{width:22px;height:22px}label.check{min-height:44px;align-items:center}label.check:has(> input:only-child){min-width:44px;justify-content:center}
 /* "Como configurar", "Detalhes", "Permissões do Sankhya": o resumo do <details> e os links soltos (.bo-alvo) também com 44 px. */
 summary{min-height:44px;padding-block:10px}.bo-alvo{display:inline-flex;align-items:center;min-height:44px}
 .leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:40px}
}
/* Ícones (icones.js, 21/10/2026): SVG de linha (traço 1,75) que herda a cor do texto. Tamanhos: 16 no texto pequeno,
   18 nos botões do conteúdo, 20 na barra, 24 nos cartões do Início. Ícone com texto ao lado: mesmo espaçamento
   em todo lugar; o clique no ícone vale para o botão (pointer-events). Ícone sozinho no botão só com aria-label/title. */
.ico{flex:none;vertical-align:middle;pointer-events:none}
:where(button,a):where(:has(> .ico)){display:inline-flex;align-items:center;justify-content:center;gap:.5em}a.button:has(> .ico){display:inline-flex}
.com-ico{display:inline-flex;align-items:center;gap:.5em}.linha-tempo small.com-ico{display:flex}
/* Indicadores de venda (22/10/2026) */
.ind-filtros{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:12px;margin-bottom:18px}
.ind-stats strong{font-size:clamp(1.25rem,3.4vw,1.75rem);overflow-wrap:anywhere}.ind-medidor{margin-top:8px}td .ind-medidor{width:min(90px,100%)}
.ind-grafico{position:relative;margin:0}.ind-grafico svg{width:100%;height:auto;display:block}
.ind-real{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.ind-meta{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:6 5}
.ind-grade{stroke:var(--line)}.ind-cruz{stroke:#bdbdbd}.ind-ponto{fill:var(--ink);stroke:#fff;stroke-width:2}.ind-rotulo{font-size:12px;font-weight:600;fill:var(--ink)}.muted-fill{fill:var(--muted)}
.ind-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0 4px}.ind-sw{display:inline-block;width:22px;border-top:2px solid var(--ink);vertical-align:middle;margin-right:6px}.ind-sw.tracejado{border-top-style:dashed;border-color:var(--muted)}
.ind-dica{position:absolute;top:30px;background:var(--ink);color:#fff;padding:8px 10px;border-radius:8px;font-size:.8125rem;display:grid;gap:2px;pointer-events:none;max-width:240px;z-index:2}.ind-dica[hidden]{display:none}
details.panel>summary{cursor:pointer;list-style:none}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary h2::after{content:' ▾';color:var(--muted);font-size:.9em}details.panel[open]>summary h2::after{content:' ▴'}
.ind-metas input{width:100%;max-width:180px}.ind-regras{padding-left:18px;margin:0;display:grid;gap:6px}
.pn-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}.pn-gadget{margin:0}.pn-gadget h3{font-size:1rem}
.pn-barras{display:grid;gap:8px}.pn-barra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 7.5em;gap:10px;align-items:center;font-size:.8125rem}
.pn-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-trilho{height:10px;background:#f0f0f0;border-radius:4px;overflow:hidden}.pn-trilho i{display:block;height:100%;background:var(--ink);border-radius:0 4px 4px 0}
.pn-valor{font-weight:600;text-align:right;white-space:nowrap}.pn-tabela{margin-top:10px}.pn-tabela summary{cursor:pointer;color:var(--muted)}.pn-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500}
/* Consulta de produtos (22/10/2026): compra a caminho, vendas, mix, sugestões do pedido e leitor pela câmera. */
.selo-entrada{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#e8f1ff;color:#1e40af;font-size:.72rem;font-weight:800;vertical-align:middle;white-space:nowrap}
.selo-entrada.atrasada{background:#fff4d6;color:#854d0e}.legenda .selo-entrada{margin-left:0}.stat-entrada{background:#f3f7ff;border-color:#bfd3ff}
.prod-mix{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px;margin-top:10px}
.prod-mix-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;background:white}
.prod-mix-item>div{display:grid;gap:3px;min-width:0}.prod-mix-item b{font-size:.9rem;overflow-wrap:anywhere}.prod-mix-item>button{grid-column:1/-1;justify-self:start}
.ped-sugestoes{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:6px}
.hist-vendas td progress{display:block;width:100%;max-width:140px;height:6px;margin-top:4px}
.hist-vendas thead th span{display:block;font-weight:400;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.prod-cliente{align-items:center}.ultima-venda{margin-bottom:16px}
dialog.leitor-camera{width:min(520px,calc(100% - 28px))}
.leitor-video{position:relative;border-radius:12px;overflow:hidden;background:#161616;aspect-ratio:4/3;margin-bottom:12px}
.leitor-video[hidden]{display:none}.leitor-video video{width:100%;height:100%;object-fit:cover;display:block}
.leitor-mira{position:absolute;left:10%;right:10%;top:40%;height:20%;border:3px solid #FEB303;border-radius:10px;box-shadow:0 0 0 999px #00000040}
.leitor-digitar input{flex:1;min-width:0}
/* Frente comercial (22/10/2026): ficha financeira do cliente, barra de ações do pedido, margem e espelho para impressão. */
.ped-ficha{display:grid;gap:8px;margin-top:6px}.ped-ficha>button{justify-self:start}.fin-resumo{display:flex;flex-wrap:wrap;gap:6px}
.fin-avisos{margin:4px 0 0;padding:8px 12px 8px 26px;background:#fef2f2;border-left:3px solid #dc2626;border-radius:6px;color:#991b1b;font-size:.85rem;display:grid;gap:2px}
.fin-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px}.fin-grade>div{background:white;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:2px}
.fin-grade b{font-size:1.1rem}.fin-alerta{color:#b91c1c}.fin-envios{list-style:none;margin:0;padding:0;display:grid;gap:6px}.fin-envios li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.85rem;border-bottom:1px solid #f0f0f0;padding-bottom:6px}
.ped-barra{flex-wrap:wrap;gap:8px;margin:0 0 14px}.ped-rent{display:grid;gap:2px;margin-top:8px;padding:8px 10px;border-left:3px solid #FEB303;background:#fff8e1;border-radius:6px}
#espelho-print{display:none}
.espelho{font-size:12pt;color:#111;max-width:780px;margin:0 auto}.espelho-topo{display:flex;gap:18px;align-items:center;border-bottom:3px solid #E50000;padding-bottom:10px;margin-bottom:14px}
.espelho-topo img{width:90px;height:auto}.espelho-topo h1{font-size:18pt;margin:0}.espelho-topo p{margin:2px 0}.espelho-validade{display:inline-block;background:#FEB303;color:#111;font-weight:700;padding:2px 8px;border-radius:4px}
.espelho h2{font-size:11pt;text-transform:uppercase;letter-spacing:.6px;color:#E50000;margin:10px 0 4px}.espelho-itens{width:100%;border-collapse:collapse;margin:10px 0}.espelho-itens th{background:#f3f3f3;text-align:left}
.espelho-itens th,.espelho-itens td{border-bottom:1px solid #ddd;padding:5px 6px;vertical-align:top}.espelho-totais p{margin:3px 0}.espelho-total{font-size:15pt;font-weight:700}.espelho-rodape{margin-top:18px;border-top:1px solid #ddd;padding-top:6px;font-size:9pt;color:#555}
@media print{body.imprimindo-espelho>*:not(#espelho-print){display:none!important}body.imprimindo-espelho #espelho-print{display:block}}

/* CRM de Vendas, despesas de viagem e assistente com IA (frente crm, 22/10/2026) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crm-lista{list-style:none;margin:0;padding:0 22px 12px;display:grid;gap:10px}.crm-lista>li{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;min-width:0}
.crm-lista>li.muted{border-style:dashed}.crm-lista p{margin:4px 0;overflow-wrap:anywhere}.crm-lista .row button{padding:8px 12px}
.crm-etapas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;align-items:start}.crm-etapas .crm-lista{padding:0 14px 14px}
.crm-semana{gap:6px}.crm-semana button{padding:7px 10px;font-size:.82rem}.crm-equipe{display:flex;gap:8px;align-items:center}
.crm-cli .row{flex-wrap:nowrap}.crm-cli .row input{flex:1;min-width:0}.crm-cli-res{display:grid;max-height:220px;overflow-y:auto}
.crm-bloco.compacto{display:flex;flex-wrap:wrap;gap:6px;color:#cecece}.crm-bloco.compacto .badge{background:#3a3a3a;color:#fde68a}
.desp-previa{max-width:100%;max-height:220px;object-fit:contain;border-radius:8px;border:1px solid var(--line)}.desp-resumo{margin-top:14px}
.ia-foto{cursor:pointer}.ia-voz{gap:8px}
.barra-ia{background:transparent;border:1px solid var(--marca-borda,#4a4a4a);color:var(--marca-texto,white);border-radius:999px;padding:6px 12px;font-weight:600;white-space:nowrap}
dialog.dialog-ia[open]{display:grid}dialog.dialog-ia{width:min(560px,96vw);max-height:90vh;border-radius:14px;gap:12px}
.ia-conversa{display:grid;gap:10px;max-height:52vh;overflow-y:auto;padding:4px}.ia-msg{display:grid;gap:4px;justify-items:start}.ia-msg>div{background:#f1f1f1;border-radius:12px;padding:10px 12px;overflow-wrap:anywhere}
.ia-msg.eu{justify-items:end}.ia-msg.eu>div{background:var(--ink);color:white}.ia-form{display:flex;gap:8px}.ia-form input{flex:1;min-width:0}
@media(max-width:480px){.barra-ia span{display:none}.crm-lista{padding:0 12px 12px}.crm-lista>li{padding:10px}}
#crm-root>.panel,#crm-root>.stats,#crm-root .crm-etapas>.panel{margin-bottom:18px}#desp-meu,#desp-gestao{margin-top:18px}
/* Tarefas do dia (frente crm-tarefas): números curtos no catálogo; no celular a tabela vira cartões */
.jogo-regras td:first-child{min-width:240px}.jogo-regras input:not([type=checkbox]){width:4.5rem;min-width:0}
@media(max-width:640px){.jogo-regras td:first-child{min-width:0}.jogo-regras input:not([type=checkbox]){width:100%}}
/* Logística (22/10/2026): itens do balcão e do carregamento quebram linha no celular; espaço abaixo das ações do recebimento. */
.balcao-item,.carreg-nota .item{flex-wrap:wrap}.badge.longa{white-space:normal;line-height:1.4}.carreg-nota{border-top:1px solid var(--line);padding-top:12px}.mb{margin-bottom:18px}
/* Fila offline do campo e notificações (22/10/2026): pílula da barra (registros no aparelho), faixa sem internet. */
.barra button.fila-ind{display:flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;background:#3d3d3d;color:#e5e5e5;white-space:nowrap}
.fila-ind b{font-size:.8rem}.fila-ind.amber{background:#5c4100!important;color:#ffe08a!important}.fila-ind.red{background:#7f1d1d!important;color:#fecaca!important}.fila-ind.gray{color:#cecece}
.faixa-offline{display:flex;gap:10px;align-items:flex-start;background:#fff4d6;color:#5c4100;border:1px solid #f5d27a;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:.875rem}
.faixa-offline .ico{margin-top:1px}
.notif-lista{list-style:none;padding:0;margin:6px 0;display:grid;gap:8px}.notif-lista li{display:grid;gap:2px;border-bottom:1px solid var(--line);padding-bottom:6px}
@media(max-width:760px){.barra button.fila-ind span{display:none}.barra button.fila-ind{padding:6px 8px}}
body:not(.ver-tecnico) .tec{display:none!important}

.custos-grafico{margin:0}.custos-grafico figcaption{margin-bottom:10px;gap:16px}.custos-grafico svg{width:100%;max-width:900px;height:auto;display:block}.custos-eixo{font-size:11px;fill:var(--muted)}.custos-barra{fill:var(--ink)}.custos-barra.passado{fill:#c9c9c9}.custos-real{fill:#E50000}.custos-leg{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--ink);margin-right:6px;vertical-align:-1px}.custos-leg.passado{background:#c9c9c9}.custos-leg.real{background:#E50000;height:4px;vertical-align:3px}.custos-parte{width:min(140px,100%);margin-bottom:4px}
.custos-stats strong{font-size:clamp(1.1rem,4.2vw,2rem);white-space:nowrap}
/* Atalho para o Happy Backoffice no Início (link com o mesmo visual dos cartões de janela). */
a.module{border:1px solid var(--line);background:white;color:var(--ink);text-decoration:none}
a.module:hover{background:#efefef}
.hol-cab,.hol-bases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px 18px;margin:0 0 16px}.hol-cab dt,.hol-bases dt{font-size:.78rem;color:var(--muted)}.hol-cab dd,.hol-bases dd{margin:2px 0 0}.hol-num{text-align:right;white-space:nowrap}.hol-total td{border-top:2px solid var(--ink)}.hol-prov{color:#166534}.hol-desc{color:#991b1b}.hol-liquido{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;padding:14px 16px;margin:16px 0;border-radius:10px;background:#e8f1ff;color:#1e40af;font-weight:700}.hol-liquido strong{font-size:1.35rem}.hol-vinc{display:grid;gap:6px;padding:4px 0}.hol-vinc+.hol-vinc{border-top:1px dashed var(--line);padding-top:8px}

/* Metas do mês (metas-painel.js: Indicadores e Backoffice, 23/10/2026) */
.meta-cartao{margin-bottom:18px}.meta-pct{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.meta-pct strong{font-size:2rem;letter-spacing:-1px}.meta-frases{margin:14px 0 0;padding-left:18px;display:grid;gap:6px;font-size:.9375rem;overflow-wrap:anywhere}.meta-barra{margin-top:6px}td .meta-barra{width:min(90px,100%)}.meta-aviso{margin:14px 24px}

/* Formação do dia e Acompanhamento (rotas.js, Ordem de carga, 24/10/2026): cada cor tem rótulo ao lado */
.rt-filtros{align-items:flex-end}.rt-filtros label{min-width:min(220px,100%)}.empty-motivo{padding:18px;display:grid;gap:8px}.rt-medidas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}.rt-opcao{display:grid;gap:8px;font-weight:400;padding:12px;border:1px solid var(--line);border-radius:10px}.rt-opcao:has(input:checked){border-color:var(--ink)}.rt-destaque{background:#fff8e1;outline:2px solid #FEB303;border-radius:8px}
.rota-cor{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;flex:none;vertical-align:-1px;background:#161616}.pino.rota-c0 span,.rota-cor.rota-c0{background:#E50000}.pino.rota-c1 span,.rota-cor.rota-c1{background:#1e40af}.pino.rota-c2 span,.rota-cor.rota-c2{background:#15803d}.pino.rota-c3 span,.rota-cor.rota-c3{background:#b45309}.pino.rota-c4 span,.rota-cor.rota-c4{background:#6b21a8}.pino.rota-c5 span,.rota-cor.rota-c5{background:#0f766e}.pino.rota-c6 span,.rota-cor.rota-c6{background:#be185d}.pino.rota-c7 span,.rota-cor.rota-c7{background:#334155}.pino[class*=rota-c] span{width:30px;font-size:.72rem}
/* Portal público de cadastro do Contente+ (24/10/2026): mesma moldura do rastreio. */
.cadastro-publico{padding:22px 20px 32px}.cadastro-publico h1{font-size:1.5rem;letter-spacing:-.5px;margin-bottom:6px}.cadastro-publico input,.cadastro-publico select{width:100%}.cadastro-publico label.check input{width:auto}.cadastro-isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cadastro-publico [hidden]{display:none}.cadastro-codigo{font-size:2.4rem;font-weight:800;letter-spacing:4px;margin:4px 0}
/* Movimento reduzido (preferência do sistema): sem animações, transições nem rolagem suave. */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Marca da empresa (25/10/2026, marca.js): a logo vai direto sobre a cor da barra (sem a placa branca desde 28/10/2026, pedido
   do usuário) e o "powered by" do portal ao lado. No celular estreito, a barra mostra só a logo. */
.barra-marca img.marca-logo,.brand img.marca-logo,.marca-previa img.marca-logo{width:auto;height:32px;max-width:120px;object-fit:contain;filter:none}
.marca-nome{font-size:.95rem;font-weight:800;max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.marca-powered{display:grid;font-size:.75rem;font-weight:700;line-height:1.2;text-align:left;white-space:nowrap}.marca-powered small{font-size:.75rem;font-weight:500}
/* Prévia do cadastro (Cadastros > Marcas): a barra de exemplo, com as variáveis da marca só nela. */
.marca-previa{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 14px;border-radius:10px;background:var(--marca-fundo,var(--ink));color:var(--marca-texto,white);box-shadow:inset 0 -3px 0 var(--marca-faixa,transparent);font-weight:750}.marca-previa .row{gap:10px;flex-wrap:nowrap;min-width:0}.marca-previa>span:last-child{margin-left:auto;font-size:.875rem}
.marca-cor input[type=color]{width:72px;height:44px;padding:4px;cursor:pointer}.marca-cores{display:inline-flex;gap:4px;vertical-align:middle}.marca-cores i{display:inline-block;width:18px;height:18px;border-radius:5px;border:1px solid var(--line)}
.marca-empresas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 14px}.marca-empresas label{font-weight:500}.marca-amostras{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.marca-amostras .gaveta-item{display:inline-flex}
.marca-tabela img{height:28px;width:auto;max-width:100px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 4px}
@media(max-width:480px){.barra .marca-powered{display:none}.barra-marca img.marca-logo{height:28px;max-width:76px}.barra .marca-nome{max-width:5.5em}}

/* Etiquetas de preço e cartaz por loja (Consulta de produtos, 25/10/2026). A folha só aparece na impressão. */
/* Consultar concorrentes (27/10/2026), no detalhe da Consulta de produtos. */
.conc-painel{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:22px;display:grid;gap:14px}.conc-painel .notice{margin:0}.conc-item{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px;min-width:0}.conc-item .badge{white-space:normal}.conc-form{margin-top:4px}.conc-form .actions{margin-top:0}
.etq-lista{display:flex;flex-wrap:wrap;gap:6px}.etq-lista .chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;white-space:normal}
@media(max-width:480px){.atd-compositor{flex-wrap:wrap}.atd-compositor textarea{flex-basis:100%}}
@media screen{#etiquetas-print{display:none}}
@media print{body.imprimindo-etiquetas>*:not(#etiquetas-print){display:none!important}}
@page etiquetas{size:A4;margin:10mm}
.etq-folha,.etq-folha-cartaz{page:etiquetas}.etq-folha{display:grid;grid-template-columns:repeat(2,90mm);gap:4mm;justify-content:center}
.etq-a4{width:90mm;height:55mm;box-sizing:border-box;border:1px dashed #999;padding:3mm;display:flex;flex-direction:column;gap:1mm;break-inside:avoid;color:#000;background:#fff;overflow:hidden}
.etq-a4 header{background:#000;color:#fff;font-weight:700;font-size:9pt;padding:1mm 2mm;margin:-3mm -3mm 1mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.etq-a4 h4{margin:0;font-size:10pt;line-height:1.15;max-height:3.5em;overflow:hidden}.etq-cod,.etq-de,.etq-parc{margin:0;font-size:8pt}
.etq-corpo{flex:1;display:flex;justify-content:space-between;align-items:center;gap:2mm}.etq-preco{margin:0;font-size:20pt;font-weight:800;line-height:1}
.etq-a4 .qr{width:24mm;height:24mm;flex:none}.etq-a4 footer{display:flex;justify-content:space-between;gap:2mm;border-top:.3mm solid #000;padding-top:.8mm;font-size:7pt}
.etq-cartaz{width:190mm;min-height:265mm;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10mm;text-align:center;color:#000;background:#fff}
.etq-cartaz img{width:40mm;height:auto}.etq-cartaz-titulo{font-size:30pt;font-weight:700;margin:0}.etq-cartaz .qr{width:110mm;height:110mm}.etq-cartaz p{font-size:16pt;margin:0;max-width:150mm}
.etq-cartaz footer{display:flex;justify-content:space-between;gap:6mm;width:100%;border-top:.4mm solid #000;padding-top:3mm;font-size:12pt}
/* Melhorias do site novo (25/10/2026): prévia dos modelos do WhatsApp (Integrações) e nota do cliente no fim do rastreio. */
.integ-previa{margin:10px 0;padding:12px 14px;border-left:3px solid var(--ink);background:#f7f7f7;border-radius:0 8px 8px 0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.rastreio-nota{padding:6px 20px 18px;display:grid;gap:12px;text-align:center}.rastreio-nota fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}.rastreio-nota legend{font-weight:700;margin:0 auto 4px}.rastreio-notas{display:flex;justify-content:center;gap:8px}.rastreio-notas button{min-width:48px;min-height:48px;font-size:1.1rem;font-weight:750}.rastreio-notas button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.rastreio-nota textarea{text-align:left;min-height:70px}.rastreio-nota .small{margin:0}
/* Formulários e acessibilidade (25/10/2026): "Pular para o conteúdo" só aparece no foco; aviso do campo com erro. */
.pular{position:absolute;left:12px;top:-80px;z-index:2000;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px;font-weight:700;text-decoration:none}.pular:focus{top:12px}#conteudo:focus{outline:none}
.erro-campo{display:block;color:#991b1b;font-size:.8125rem;font-weight:600}input[aria-invalid=true]{border-color:#dc2626}
/* Acompanhamento: erros das telas, alterações e pedido do titular (25/10/2026) */
button.perigo{border-color:#dc2626;color:#991b1b}button.perigo:hover{background:#fef2f2}form button.perigo[type=submit]{background:#b91c1c;border-color:#b91c1c;color:#fff}
.alt-campos{margin:0;padding-left:18px;display:grid;gap:4px;overflow-wrap:anywhere}.titular-cand{border:0;padding:0;margin:0;display:grid;gap:4px}.titular-cand span{overflow-wrap:anywhere}
#titular-print{display:none;padding:12px;color:#000;font-size:12px}#titular-print h1{font-size:20px}#titular-print h2{font-size:15px;margin:16px 0 6px;border-bottom:1px solid #999}.titular-campos{display:grid;gap:2px;margin:0 0 6px}.titular-campos>div{display:flex;gap:8px}.titular-campos dt{font-weight:700;min-width:9em}.titular-campos dd{margin:0;overflow-wrap:anywhere}.titular-lista{margin:0;padding-left:18px}
@media print{body.imprimindo-titular>*:not(#titular-print){display:none!important}body.imprimindo-titular #titular-print{display:block}}
/* Planejados Bartzen: colunas do kanban que quebram linha (nada rola para o lado) */
.pl-kanban{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}
.pl-kanban .panel{margin:0}
.pl-card{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}.pl-card.pl-oculto{display:none}
.pl-fantasma{position:fixed;z-index:1100;margin:0;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);pointer-events:none;cursor:grabbing;will-change:transform}
.pl-marcador{border:2px dashed #c9c9c9;border-radius:12px;background:#f7f7f7;margin:6px 0}.pl-coluna:has(.pl-marcador)>p.muted{display:none}
.pl-mover{position:fixed;z-index:1090;left:16px;right:16px;bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}.pl-mover[hidden]{display:none}
.pl-alvo{padding:10px 14px;border:1px dashed #b5b5b5;border-radius:999px;font-size:.875rem;font-weight:600}.pl-alvo.ativo{background:var(--ink);color:white;border-style:solid}
.pl-dica{margin:0 0 14px}
.pl-prev{padding:12px 14px;border-radius:10px;background:#f3f4f6}.pl-prev.ok{background:#e8f5ec;color:#166534}.pl-prev.atraso{background:#fdecec;color:#991b1b}
.pl-etapas li{color:var(--muted)}.pl-etapas li.feita{color:var(--ink)}.pl-etapas li.feita time::before{content:"✓ "}.pl-etapas li.atual{color:var(--ink);font-weight:700}
.pl-sub{margin-left:26px}

/* Leitor de código: o campo do código nunca fica espremido; no celular, Lote, Qtd. e os botões descem para a linha de baixo. */
form[data-leitor]>label.grow{min-width:min(240px,100%)}
/* Comprovante do recebimento do caixa (não fiscal), na térmica de 80 mm. */
#comprovante-print{display:none}
@media print{body.imprimindo-comprovante>*:not(#comprovante-print){display:none!important}body.imprimindo-comprovante #comprovante-print{display:block;page:comprovante}}
@page comprovante{margin:2mm}
.cpv{width:72mm;font:10pt/1.35 ui-monospace,Menlo,Consolas,monospace;color:#000}.cpv h1{font-size:12pt;margin:0 0 2px}.cpv p{margin:2px 0}.cpv-linha{display:flex;justify-content:space-between;gap:6px}.cpv pre{white-space:pre-wrap;word-break:break-all;font:inherit;font-size:6.8pt;line-height:1.25;margin:4px 0}.cpv hr{border:0;border-top:1px dashed #000;margin:6px 0}.cpv-aviso{font-weight:700;text-align:center;border:1px solid #000;padding:2px}.cpv .cpv-rodape{margin-top:8px;font-size:8.5pt}
/* DANFE da NFC-e e comprovante de sangria/suprimento (mesmo cupom de 80 mm). */
.danfe{font-size:8.5pt}.danfe-c{text-align:center}.danfe-titulo{font-size:7.5pt;font-weight:700}.danfe-item p{margin:1px 0}.danfe-url{word-break:break-all;font-size:7.5pt}
.danfe-chave{font-size:8pt;word-spacing:1px}.danfe-qr svg{display:block;width:38mm;height:auto;margin:4px auto}.cpv .danfe-inf{font-size:7.5pt;margin-top:6px}
.cpv-via+.cpv-via{break-before:page;margin-top:8mm}.cpv .cpv-valor{font-size:16pt;font-weight:700;text-align:center;margin:6px 0}.cpv .cpv-assina{margin-top:14mm;border-top:1px solid #000;text-align:center;font-size:8pt}
/* Fechamento do caixa em A4, letra reduzida (o mesmo #comprovante-print, com a página "fechamento"). */
@media print{body.imprimindo-comprovante #comprovante-print.a4{page:fechamento}}
@page fechamento{size:A4;margin:10mm 10mm 14mm;@bottom-right{content:"página " counter(page) " de " counter(pages);font-size:7pt}}
.fechamento-a4{font:8pt/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;color:#000}.fechamento-a4 h1{font-size:12pt;margin:0}.fechamento-a4 p{margin:2px 0}
.fechamento-a4 h2{font-size:9pt;margin:8px 0 3px;padding-bottom:1px;border-bottom:1px solid #000;break-after:avoid}.a4-cab{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid #000;padding-bottom:4px}
.a4-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 10px}.a4-resumo div{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dotted #999}
.a4-t{width:100%;border-collapse:collapse;font-size:7.5pt}.a4-t th,.a4-t td{border-bottom:1px solid #ccc;padding:1px 3px;text-align:left;vertical-align:top}.a4-t .v{text-align:right;white-space:nowrap}.a4-t tr{break-inside:avoid}
.a4-assin{display:grid;grid-template-columns:1fr 1fr;gap:30mm;margin-top:16mm;break-inside:avoid}.a4-assin span{border-top:1px solid #000;text-align:center;padding-top:2px}.fechamento-a4 .a4-rodape{margin-top:6mm;font-size:7pt}
.cpv-linha b,.cx-venc{white-space:nowrap}
/* Ponto (28/10/2026): tablet da loja e Meu ponto. */
.ponto-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px}.ponto-form .inteiro{grid-column:1/-1}
.ponto-quiosque{max-width:560px;margin:0 auto}.ponto-quiosque .panel-body{display:grid;gap:16px}.ponto-quiosque input{font-size:1.5rem;letter-spacing:3px;min-height:56px}
button.grande{min-height:60px;font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%}
.ponto-grande{font-size:1.6rem;font-weight:750;display:flex;align-items:center;gap:10px}.ponto-ok{border-color:#16653455;background:#f3faf5}
.ponto-video{width:100%;max-height:300px;border-radius:12px;background:#111;object-fit:cover;transform:scaleX(-1)}
.ponto-marca{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 14px 6px 0}.ponto-marca.riscado{text-decoration:line-through;color:var(--muted)}
button.link{border:0;background:none;padding:8px;min-height:44px;color:var(--accent);text-decoration:underline;font-weight:600}
/* Revisão de UX (29/10/2026): o título não espreme, rodapé do cartão sem botão quebrado, botão discreto com cara de link,
   valores das Integrações sem estourar, falha de rotina como aviso (não emergência), números alinhados e o celular mais leve. */
.heading>div:first-child{flex:1 1 360px;min-width:0}
.mission-card footer{gap:12px;flex-wrap:wrap}.mission-card footer button{flex:none;white-space:nowrap}
button.subtle{text-decoration:underline;text-underline-offset:3px}
.integ-dl{grid-template-columns:minmax(7em,40%) minmax(0,1fr)}.integ-dl dd{max-width:none;overflow-wrap:anywhere}.integ-card code{overflow-wrap:anywhere}
.faixa-urgente.faixa-rotina{background:#fff8e1;color:#4a3b00;border:1px solid #FEB303}.faixa-urgente.faixa-rotina button{background:#161616;color:#fff}
p+.chips{margin-top:12px}
td,.stat strong{font-variant-numeric:tabular-nums}
@media(max-width:760px){.toolbar>input,.toolbar>select{flex:1 1 100%}.stat{padding:14px 16px}.stat strong{font-size:1.5rem}}
button.gps-ind{background:transparent;border:0;padding:6px 4px;font-weight:500}button.gps-ind:hover{background:transparent;text-decoration:underline}
@media(max-width:640px){.tablewrap td:empty{display:none}}
/* Quadro do marketing (31/10/2026): kanban de seis colunas (no celular, uma por vez, escolhida nos chips) e a grade da agenda
   (agenda-grade.js: mês e semana no computador, lista por dia no celular). A cor do tipo vem sempre com o nome junto. */
.mq-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));align-items:end}.mq-filtros>.chips{grid-column:1/-1;padding:0}.mq-resumo{padding:10px 24px 14px}.mq-atraso-txt{color:#991b1b}.mq-dica{margin:14px 0}
.mq-quadro{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:1280px){.mq-quadro{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mq-quadro .panel{margin:0}.mq-col .panel-head{padding:14px 16px}.mq-col .panel-head h2{font-size:1rem}.mq-col.alvo{outline:2px dashed #686868;outline-offset:-2px}
.mq-lista{list-style:none;margin:0;padding:10px;display:grid;gap:10px;min-height:72px}.mq-vazio{padding:8px}
.mq-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;background:white;min-width:0;overflow-wrap:anywhere}.mq-card .badge{white-space:normal}.mq-card[draggable=true]{cursor:grab}
.mq-card.atrasado{border-color:#991b1b;box-shadow:inset 3px 0 0 #E50000}.mq-card.arrastando{opacity:.4}
.mq-card img,.mq-previa{width:100%;max-height:220px;object-fit:cover;border-radius:8px;background:#f2f2f2}.mq-card button,.mq-card a.button{padding:7px 12px;font-size:.875rem}
.mq-colunas{display:none}.mq-arquivados,.mq-datas{margin-top:16px}.mq-desc{white-space:pre-line}.mq-canais{border:0;padding:0;margin:0;gap:4px 14px}.mq-canais label{font-weight:500}.mq-ck{justify-content:space-between}
@media(max-width:760px){.mq-colunas{display:flex}.mq-quadro{grid-template-columns:1fr}.mq-col:not(.ativa){display:none}}
.ag-cor{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none;background:#686868}
.panel+.ag,.ag+.panel{margin-top:16px}
.ag-nav h2{font-size:1.1rem}.ag-nav .chips{padding:0}
.ag-cab,.ag-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ag-cab span{font-size:.75rem;font-weight:700;color:var(--muted);padding:6px;text-transform:capitalize}
.ag-dia{min-height:112px;border:1px solid #f0f0f0;padding:6px;display:grid;align-content:start;gap:4px;min-width:0}.ag-semana .ag-dia{min-height:300px}
.ag-dia.fora{background:#fafafa;color:var(--muted)}.ag-num{font-size:.8rem;font-weight:700}.ag-dia.hoje .ag-num span[aria-hidden]{background:var(--ink);color:white;border-radius:999px;padding:1px 7px}
.ag-alvo{outline:2px dashed #686868;outline-offset:-3px;background:#f7f7f7}
.ag-itens{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ag-item{display:flex;gap:6px;align-items:center;width:100%;text-align:left;padding:4px 6px;font-size:.78rem;font-weight:500;border-radius:6px;min-height:0;min-width:0}
.ag-item[draggable=true]{cursor:grab}.ag-item .ag-tipo{font-weight:700;flex:none}.ag-item .ag-titulo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ag-item.atrasado{border-color:#991b1b;color:#991b1b}.ag-atraso{font-weight:700;flex:none}
.ag-lista{display:none;list-style:none;margin:0;padding:0;gap:16px}.ag-lista h3{font-size:.95rem;margin-bottom:6px}
.ag-lista .ag-item{font-size:.875rem;padding:10px 12px}.ag-lista .ag-titulo{white-space:normal}
@media(max-width:760px){.ag-grade,.ag-nav{display:none}.ag-lista{display:grid}}
.mq-raias-cel{display:none}.mq-raia-nome{margin:20px 0 10px;font-size:1.1rem}
.mq-filtros-mais{grid-column:1/-1}.mq-filtros-mais summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.mq-filtros-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}
.mq-col.acima{outline:2px solid #991b1b;outline-offset:-2px}.mq-card.parado{border-color:#b45309}.mq-card.sugestao{border-style:dashed;border-color:#6b21a8;background:#faf5ff}.mq-motivo{color:#854d0e}
.mq-bib{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px}
.mq-bib-item{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px;background:white;min-width:0;overflow-wrap:anywhere}
.mq-bib-previa{aspect-ratio:4/3;display:grid;place-items:center;background:#f2f2f2;border-radius:8px;overflow:hidden}.mq-bib-previa img{width:100%;height:100%;object-fit:cover}
.mq-modelo-item{border:1px solid var(--line);border-radius:10px;padding:10px}.mq-espaco{margin-top:16px}
@media(max-width:760px){.mq-raias-cel{display:flex}.mq-raia:not(.ativa){display:none}.mq-raia-nome{display:none}}
/* Toque de 44 px no quadro e na agenda (depois das regras acima, que zeram a altura do item da grade). */
@media(pointer:coarse){.mq-canais label,.ag-item{min-height:44px}.mq-card a.button{min-height:44px;display:inline-flex;align-items:center}}
/* Regras da senha forte (troca de senha, login pelo CPF) */
.regras-senha{margin:0;padding-left:1.3em;display:grid;gap:2px}
.regras-senha li{color:#666}
.regras-senha li.ok{color:#137333}
.regras-senha li.ok::marker{content:'✓  '}

/* Banners de promoção (06/11/2026): folha A4 em tamanho real, reduzida na tela por transform; posição e cor pelo CSSOM (banners.js). */
.bn-inicio .panel{padding:18px}.bn-inicio .panel h2{margin:0}
.bn-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:18px;margin-top:12px}
.bn-card{display:flex;flex-direction:column;gap:4px;min-width:0}.bn-card strong{font-family:var(--fonte-titulo);font-weight:600}
.bn-capa{display:block;width:100%;padding:0;border-radius:10px;overflow:hidden;border:1px solid var(--cc-borda);background:#fff;transition:transform .12s,box-shadow .12s}
.bn-capa:hover{transform:translateY(-2px);box-shadow:var(--cc-sombra);background:#fff}
.bn-mini{display:block;position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;pointer-events:none}
.bn-mini .bn-pagina{position:absolute;left:0;top:0;transform-origin:0 0}
.bn-card-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.bn-card-acoes button{padding:6px 12px;font-size:13px}
.bn-pagina{position:relative;width:210mm;height:297mm;background:#fff;color:var(--cc-texto);overflow:hidden;font-family:var(--fonte-texto);print-color-adjust:exact;-webkit-print-color-adjust:exact;user-select:none;-webkit-user-select:none}
.bn-cab{position:absolute;left:0;top:0;width:100%;height:34mm;background:var(--cc-marca);border-bottom:2.2mm solid var(--cc-sorriso);box-sizing:border-box;display:flex;align-items:center;justify-content:center;z-index:3}
.bn-cab img{height:23mm;width:auto;display:block}
.bn-area{position:absolute;left:0;top:34mm;width:100%;height:245mm;overflow:hidden}
.bn-rod{position:absolute;left:0;bottom:0;width:100%;height:18mm;background:var(--cc-marca);border-top:2.2mm solid var(--cc-sorriso);box-sizing:border-box;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:1mm;padding:0 9mm;z-index:3}
.bn-rod-linha{display:flex;justify-content:space-between;gap:4mm;font-size:10.5pt;line-height:1.15}.bn-rod strong{font-family:var(--fonte-titulo);font-weight:600}
.bn-rod small{font-size:8pt;text-align:center;opacity:.92}
.bn-item{position:absolute;box-sizing:border-box;overflow:visible}.bn-com-fundo{border-radius:3mm}
.bn-txt{position:absolute;inset:1.5mm;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bn-txt-in{width:100%;line-height:1.08;white-space:pre-wrap;overflow-wrap:normal;font-family:var(--fonte-titulo);font-weight:700;outline:none;text-align:center}
.bn-txt-sticker{inset:auto}.bn-forma{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 .6mm .8mm rgb(60 60 58 / .28))}
.bn-preco{display:flex;align-items:center;justify-content:center;overflow:hidden}
.bn-preco-in{width:max-content;white-space:nowrap;text-align:center;font-family:var(--fonte-titulo);line-height:1.1}
.bn-p-nome{width:0;min-width:100%;white-space:normal;font-size:.2em;font-weight:600;line-height:1.1;margin-bottom:.25em;color:inherit}.bn-p-vazio{font-size:.3em;font-weight:600;opacity:.75}.bn-p-exemplo{position:absolute;right:1.5mm;top:1.5mm;padding:.6mm 2mm;border-radius:99px;background:var(--cc-texto);color:#fff;font:600 3mm var(--fonte-texto)}.bn-mini .bn-p-exemplo{display:none}
.bn-p-de{font-size:.2em;font-weight:500}.bn-p-de s{text-decoration-thickness:.08em}
.bn-p-topo{font-size:.3em;font-weight:600}
.bn-p-grande{font-weight:700;line-height:1;display:flex;align-items:flex-start;justify-content:center;gap:.03em;letter-spacing:-.02em}
.bn-p-rs{font-size:.34em;margin-top:.22em;margin-right:.1em;font-weight:600}.bn-p-cent{font-size:.42em;margin-top:.1em}
.bn-p-sub{font-size:.2em;font-weight:600;margin-top:.2em}.bn-p-leg{font-size:.17em;font-weight:500;margin-top:.15em}
#banner-print{position:fixed;left:-9999px;top:0}
@media print{body.imprimindo-banner{margin:0;background:#fff}body.imprimindo-banner>*:not(#banner-print){display:none!important}body.imprimindo-banner #banner-print{position:static;display:block;page:banner}body.imprimindo-banner .bn-pagina{height:296.8mm;break-inside:avoid}}
@page banner{size:A4 portrait;margin:0}
.bn-editor{display:flex;flex-direction:column;gap:12px;min-width:0}
.bn-barra{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bn-barra input{flex:1 1 180px;min-width:0;max-width:340px}.bn-barra button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px}.bn-barra button:disabled{opacity:.45}.bn-barra-fim{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.bn-saindo button{margin:4px 2px}
.bn-trabalho{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;gap:14px;align-items:start}
.bn-paleta,.bn-props{background:var(--cc-superficie);border:1px solid var(--cc-borda);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:9px;min-width:0}
.bn-paleta h3,.bn-props h3{margin:2px 0;font-family:var(--fonte-titulo);font-weight:600}.bn-paleta p{margin:0}
.bn-add{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bn-stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(88px,100%),1fr));gap:7px}
.bn-novo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 4px;border-radius:12px;cursor:grab;touch-action:none;font-size:12px;line-height:1.15;text-align:center;font-family:var(--fonte-texto);min-width:0;user-select:none;-webkit-user-select:none}.bn-novo:active{cursor:grabbing}.bn-novo span{overflow-wrap:break-word;hyphens:auto}
.bn-novo svg{width:36px;height:36px;display:block;pointer-events:none}.bn-novo-ic{font:600 19px/36px var(--fonte-titulo);width:36px;height:36px;border-radius:9px;background:var(--cc-sorriso);color:var(--cc-texto);overflow:hidden}
.bn-fantasma{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) scale(1.8);opacity:.9}.bn-fantasma svg{width:48px;height:48px;display:block}.bn-fantasma .bn-novo-ic{display:block;text-align:center}
.bn-palco{min-width:0;display:flex;justify-content:center}.bn-folha{position:relative;box-shadow:0 2px 16px rgb(60 60 58 / .25);flex:none}
.bn-folha .bn-pagina{position:absolute;left:0;top:0;transform-origin:0 0}
.bn-folha .bn-item{cursor:move;touch-action:none}.bn-folha .bn-txt-in[contenteditable=true],.bn-folha .bn-txt-in[contenteditable=plaintext-only]{cursor:text;user-select:text;-webkit-user-select:text;outline:.4mm dashed var(--cc-marca)}
.bn-sel{position:absolute;display:none;pointer-events:none;z-index:5;outline:calc(1.5px*var(--bn-inv,1)) solid var(--cc-marca)}.bn-sel.ativa{display:block}
.bn-alca{position:absolute;width:calc(12px*var(--bn-inv,1));height:calc(12px*var(--bn-inv,1));padding:0;margin:0;transform:translate(-50%,-50%);border:calc(2px*var(--bn-inv,1)) solid var(--cc-marca);border-radius:calc(3px*var(--bn-inv,1));background:#fff;pointer-events:auto;touch-action:none;min-width:0;min-height:0}.bn-alca:hover{background:var(--cc-sorriso)}
.bn-girar{position:absolute;left:50%;top:calc(-28px*var(--bn-inv,1));width:calc(16px*var(--bn-inv,1));height:calc(16px*var(--bn-inv,1));padding:0;transform:translateX(-50%);border:calc(2px*var(--bn-inv,1)) solid var(--cc-marca);border-radius:50%;background:var(--cc-sorriso);cursor:grab;pointer-events:auto;touch-action:none;min-width:0;min-height:0}
@media (pointer:coarse){.bn-alca{width:calc(20px*var(--bn-inv,1));height:calc(20px*var(--bn-inv,1))}.bn-girar{width:calc(24px*var(--bn-inv,1));height:calc(24px*var(--bn-inv,1));top:calc(-36px*var(--bn-inv,1))}}
.bn-guias{position:absolute;inset:0;pointer-events:none;z-index:4}.bn-guia-v,.bn-guia-h{position:absolute;background:#0a84ff}.bn-guia-v{top:0;bottom:0;width:calc(1px*var(--bn-inv,1))}.bn-guia-h{left:0;right:0;height:calc(1px*var(--bn-inv,1))}
.bn-props label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600}.bn-props label.check{flex-direction:row;align-items:center;gap:7px}.bn-props input:not([type=checkbox]),.bn-props select,.bn-props textarea{width:100%;box-sizing:border-box;font-weight:400}
.bn-rotulo{font-size:13px;font-weight:600}.bn-cores{display:flex;flex-wrap:wrap;gap:6px}
.bn-cor{width:30px;height:30px;min-width:30px;padding:0;border-radius:50%;border:1px solid #b9b2a7}.bn-cor.ativo{outline:2.5px solid var(--cc-texto);outline-offset:2px}.bn-sem{background:linear-gradient(135deg,#fff 46%,var(--cc-marca) 46%,var(--cc-marca) 54%,#fff 54%)}
.bn-busca{display:flex;gap:6px;font-weight:400}.bn-busca input{flex:1;min-width:0}.bn-busca button{padding:6px 10px;font-size:13px}.bn-achados{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.bn-achados button{width:100%;text-align:left;padding:7px 10px;border-radius:10px;font-size:12px;line-height:1.2}.bn-achados small{display:block;color:var(--cc-suave)}.bn-produto{margin:2px 0}
.bn-dica{margin:4px 0}.bn-acoes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.bn-acoes button{padding:7px 6px;font-size:13px}
@media (max-width:1180px){.bn-trabalho{grid-template-columns:200px minmax(0,1fr) 220px}}
@media (max-width:900px){.bn-trabalho{grid-template-columns:minmax(0,1fr)}.bn-palco{order:1}.bn-paleta{order:2}.bn-props{order:3}.bn-stickers{grid-template-columns:repeat(3,minmax(0,1fr))}.bn-add{grid-template-columns:1fr 1fr}.bn-barra-fim{margin-left:0}.bn-cor{width:36px;height:36px}}

/* Consulta de produtos (06/11/2026, pedido do usuário): lista fina e zebrada, a linha inteira abre o detalhe logo abaixo. As cores de promoção e reserva valem mais que a zebra. */
.prod-tabela>thead>tr>th,.prod-tabela>tbody>tr>td{padding:4px 10px;font-size:13px;line-height:1.25;vertical-align:middle}.prod-tabela>tbody>tr>td>span.muted{display:block;font-size:12px}
.prod-tabela>tbody>tr.prod-par:not(.linha-promo,.linha-liq,.linha-res)>td{background:var(--cc-fundo-alt)}
.prod-tabela>tbody>tr[data-produto]{cursor:pointer;scroll-margin-top:72px;-webkit-tap-highlight-color:transparent}.prod-tabela>tbody>tr[data-produto]:focus{outline:none}
@media (hover:hover) and (min-width:761px){.prod-tabela>tbody>tr[data-produto]:hover>td,.prod-tabela>tbody>tr.prod-aberto>td{box-shadow:inset 0 1px 0 var(--cc-marca),inset 0 -1px 0 var(--cc-marca)}.prod-tabela>tbody>tr[data-produto]:focus-visible{outline:2px solid var(--cc-marca);outline-offset:-2px}}
.prod-tabela>tbody>tr.prod-det-linha>td{padding:10px;background:var(--cc-fundo-alt);cursor:auto}
.prod-tabela>tbody>tr>td.prod-estoque{white-space:nowrap}.prod-tabela td.prod-estoque>b{display:inline}.prod-estoque>span{display:block;white-space:normal}.prod-reservado{color:#3730a3;font-weight:600}
.prod-acoes{text-align:right;width:56px}.etq-marca{display:inline-grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border-radius:50%}.etq-marca.ativo{background:var(--cc-marca);border-color:var(--cc-marca);color:#fff}.etq-marca.ativo:hover{background:var(--cc-marca-escura)}
@media (pointer:coarse){.etq-marca{width:44px;height:44px}}

/* Detalhe do produto (06/11/2026, pedido do usuário): grade de estoque e vendas compactas, confortáveis de ler. */
.tablewrap table.grade-estoque th,.tablewrap table.grade-estoque td,.tablewrap table.hist-vendas th,.tablewrap table.hist-vendas td{padding:3px 8px;font-size:13px;line-height:1.25;vertical-align:middle}
.grade-estoque td b{display:inline;font-size:13px}.grade-estoque td span{display:inline;margin-left:5px;font-size:11px}.grade-estoque thead th span{display:block;margin:0;font-size:11px}
.grade-estoque tr.so-ver th .badge{padding:0 6px;font-size:10px;margin-left:4px}.hist-vendas thead th span{display:block;font-size:11px}
.prod-resumo{margin:0 0 8px}.prod-resumo b{display:inline}
.tablewrap table.hist-vendas td b{display:inline}.tablewrap table.hist-vendas td progress{display:inline-block;width:80px;max-width:80px;height:6px;margin:0 0 0 6px;vertical-align:middle}

/* Cadastros > Equipe (06/11/2026, pedido do usuário): uma linha por pessoa, colunas alinhadas. */
.eq-cabeca>.row{width:100%;margin-bottom:6px}.eq-cabeca h2{margin:0}.eq-cabeca>p{margin:0}
.tablewrap table.eq-tabela th,.tablewrap table.eq-tabela td{padding:7px 12px;font-size:13px;line-height:1.25;vertical-align:middle}
.eq-pessoa{display:flex;align-items:center;gap:10px;min-width:0}.eq-pessoa .avatar{flex:none;width:34px;height:34px;font-size:12px}.eq-pessoa b{display:block}.eq-pessoa span{display:block}
.eq-tabela td span.small{display:block}.eq-acesso{display:block;max-width:240px}.eq-pendente{color:#92400e;font-weight:600}
.eq-endereco{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eq-abrir{padding:2px 4px;font-size:13px;white-space:nowrap;min-height:0}.eq-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.eq-acoes button{padding:4px 11px;font-size:12px;min-height:0;white-space:nowrap}
.eq-inativo td{color:var(--cc-suave)}.tablewrap table.eq-tabela tr.eq-detalhe>td{background:var(--cc-fundo-alt);padding:10px 12px}.eq-janelas{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:6px}
@media (pointer:coarse){.eq-acoes button{min-height:44px}.eq-abrir{min-height:44px}}
@media (max-width:640px){.eq-acoes{justify-content:flex-start}.eq-endereco{max-width:100%;white-space:normal}.eq-acesso{max-width:100%}}
/* Consulta de produtos no celular e no tablet (06/11/2026, pedido do usuário): cada produto em duas linhas: o nome inteiro em cima; preço, estoque e etiqueta embaixo. Sem rótulos nem marcação vermelha ao tocar. */
@media (max-width:760px){
 .tablewrap table.prod-tabela,.tablewrap table.prod-tabela>tbody{display:block;width:100%}.tablewrap table.prod-tabela>thead{display:none}
 .tablewrap table.prod-tabela>tbody>tr[data-produto]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:0;padding:10px 12px;border:0;border-bottom:1px solid var(--cc-borda);border-radius:0;box-shadow:none;background:transparent}
 .tablewrap table.prod-tabela>tbody>tr[data-produto]>td{display:block;padding:0;border:0;text-align:left;background:transparent;font-size:13px}.tablewrap table.prod-tabela>tbody>tr[data-produto]>td::before{display:none}
 .tablewrap table.prod-tabela>tbody>tr[data-produto]>td:first-child{grid-column:1/-1;font-size:14px}.tablewrap table.prod-tabela td.prod-acoes{width:auto;text-align:right}
 .tablewrap table.prod-tabela>tbody>tr.prod-par:not(.linha-promo,.linha-liq,.linha-res){background:var(--cc-fundo-alt)}.tablewrap table.prod-tabela>tbody>tr.linha-promo{background:#fff8d6}.tablewrap table.prod-tabela>tbody>tr.linha-liq{background:#fde8e8}.tablewrap table.prod-tabela>tbody>tr.linha-res{background:#eef2ff}
 .tablewrap table.prod-tabela>tbody>tr.prod-det-linha{display:block;margin:0;padding:0;border:0;box-shadow:none;background:var(--cc-fundo-alt)}.tablewrap table.prod-tabela>tbody>tr.prod-det-linha>td{display:block;padding:8px;border:0}.tablewrap table.prod-tabela>tbody>tr.prod-det-linha>td::before{display:none}
 .prod-det-linha .panel-head,.prod-det-linha .panel-body{padding:12px}.prod-det-linha .prod-cab{flex-wrap:nowrap}
 .prod-det-linha .tablewrap tr{padding:6px 10px;margin-bottom:6px}.prod-det-linha .tablewrap td,.prod-det-linha .tablewrap tbody th,.prod-det-linha .tablewrap tfoot th{padding:2px 0;font-size:13px}
}
/* Linha com ações: no celular, os botões vão para baixo do texto, sem apertar a coluna. */
@media(max-width:640px){.item-empilha{flex-wrap:wrap}.item-empilha>div:first-child{flex:1 1 100%;min-width:0}}
