/* ARIS Campo · identidade visual e uso em campo. Recursos locais, disponíveis sem sinal. */
:root{--fundo:#141a1e;--card:#20292f;--linha:#36434b;--texto:#f4f5f3;--fraco:#b1bdc5;--cobre:#d99b6b;--verde:#229967;--sombra:0 16px 48px #0003}
html,body{font-family:"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.01em}body{background:var(--fundo)}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #eebc94;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--cobre);outline-offset:2px}button{transition:background .18s,transform .18s}button:active{transform:translateY(1px)}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--cobre)}
#login{position:relative;isolation:isolate;min-height:100%;max-width:500px;padding:40px 26px 24px;justify-content:center;gap:0}
#login:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 5% 0%,#b77d4821,transparent 52%),linear-gradient(150deg,#1c272e,#11171b 70%)}
#login:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#000,transparent 85%)}
.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:36px}.login-brand img{height:65px!important;width:80px!important;margin:0!important;object-fit:contain}.login-brand>span{border-left:1px solid #6b6258;padding-left:16px;max-width:170px;color:#c6b8ab;font-size:10px;line-height:1.7;font-weight:700;letter-spacing:2px}
#login .login-intro h1{font-size:clamp(32px,8vw,42px);line-height:1.12;letter-spacing:-1.4px;font-weight:750;margin:13px 0 14px}#login .login-intro p{font-size:14px;line-height:1.7;color:#b1bdc5;margin:0 0 28px}
#formLogin{padding:25px;border:1px solid #445058;border-radius:22px;background:linear-gradient(145deg,#283239ee,#20282eee);box-shadow:var(--sombra)}#login .form-heading h2{font-size:19px;letter-spacing:-.4px;margin:0 0 7px}#login .form-heading p{font-size:12px;color:var(--fraco);margin:0 0 22px}#login label{font-size:12px;font-weight:650;color:#d3dadf;margin:17px 0 9px}#login input{height:53px;border:1px solid #50606b;border-radius:12px;background:#172128;color:#fff;padding:14px 15px;font-size:16px;box-shadow:inset 0 2px 5px #0002}#login input::placeholder{color:#9aaab5}#btnEntrar{margin-top:8px;min-height:54px;justify-content:space-between;padding:14px 17px;color:#20180f;background:#e0a575;font-size:15px;border:1px solid #edbc96;box-shadow:0 5px 18px #0002}#btnEntrar:hover{background:#efb98f}#btnEntrar span{font-size:22px}#login .erro{font-size:13px;line-height:1.45;min-height:5px;margin-top:13px}.login-footer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#9dabb5;margin-top:27px;flex-wrap:wrap}.footer-dot{width:5px;height:5px;border-radius:50%;background:var(--cobre)}
#app{height:100%;height:100dvh;background:#172027}#app>header{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));gap:10px;flex-wrap:wrap;background:#1c272e;border-bottom:1px solid #3a4851;box-shadow:0 4px 20px #0002;z-index:1001}#app .app-brand{height:37px;width:44px;object-fit:contain;flex:none}.team-identity{min-width:140px}.header-eyebrow{font-size:8px;letter-spacing:2px;color:var(--cobre);font-weight:800;display:block;margin-bottom:3px}#app header .eq{font-size:15px;letter-spacing:.2px}header .papel{font-size:11px;line-height:1.5}header .icone-btn{min-height:42px;min-width:42px;background:#2b3942;border:1px solid #46545f;border-radius:11px;font-size:18px}header button:not(.icone-btn){min-height:40px;border-radius:10px;font-size:12px!important}header .sinal{border:1px solid #2c7857;background:#143d2e;color:#c2efd9;padding:7px 10px;font-size:10px;font-weight:650}.sinal.off{background:#49351a!important;border-color:#9b7640!important;color:#f5d9aa!important}.workspace-title{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 18px 12px}.workspace-title h2{margin:5px 0 0;font-size:23px;letter-spacing:-.6px}.workspace-caption{font-size:12px;color:var(--fraco)}
#app .abas{padding:5px;gap:5px;margin:0 16px 10px;background:#10191f;border:1px solid #35434d;border-radius:13px}#app .abas button{min-height:43px;border:0;border-radius:9px;font-size:13px;color:#b7c5ce;padding:10px 12px}#app .abas button.ativa{background:#35434d;color:#fff;box-shadow:0 2px 7px #0003}#app .abas button span{font-size:18px;margin-right:6px;color:#dda474}#app .resumo{padding:0 16px 12px;background:transparent;gap:8px;scrollbar-width:thin}#app .chip{background:#26343e;border-color:#43545f;min-height:42px;padding:10px 13px;font-size:12px;border-radius:11px;color:#ced8df}#app .chip.ativa{background:#3c3026;border-color:#b2825e;color:#ffdfc5}#app main{border-top:1px solid #34434d}#lista{background:#172027;padding:14px 16px 90px}.item{border-radius:16px;padding:17px;background:#23313a;border-color:#3e505b;box-shadow:0 4px 16px #0002;margin-bottom:12px}.item .gps{font-size:18px;letter-spacing:-.3px}.item .sub{font-size:12px;line-height:1.65;margin-top:9px}.tag{font-size:10px;padding:6px 9px;letter-spacing:.3px}.vazio{margin:20px 0;border:1px dashed #52636f;border-radius:18px;background:#202c34;font-size:14px;line-height:1.6}#minhaPos{border:1px solid #657582;box-shadow:0 5px 20px #0004;background:#263942;width:54px;height:54px;border-radius:16px;bottom:max(22px,env(safe-area-inset-bottom));color:#f0c39d}.btn{min-height:49px;border-radius:12px;font-size:15px;line-height:1.35;padding:14px;font-weight:700}.btn.sec{background:#293943;border-color:#566874}.btn.laranja,#app .rotaBtn{background:#d69b69;color:#20180f;border-color:#edb98f}.btn.azul{background:#286794}.btn:not(.sec):not(.laranja):not(.azul):not(.rotaBtn){box-shadow:0 3px 10px #0002}#ficha{background:#202e37;border:1px solid #5a6b77;border-radius:25px 25px 0 0;padding:23px 20px max(23px,env(safe-area-inset-bottom));box-shadow:0 -16px 60px #0005}#ficha:before{content:"";display:block;width:40px;height:4px;background:#657680;border-radius:4px;margin:-11px auto 20px}#ficha h2{font-size:25px;letter-spacing:-.6px}#ficha .linha{padding:13px 0;font-size:14px;line-height:1.4}#ficha .acoes{gap:11px;margin-top:20px}#fundoFicha{background:#080e14b0;backdrop-filter:blur(3px)}#toast{background:#283c48;border-color:#6c8290;border-radius:14px;line-height:1.5;box-shadow:0 8px 25px #0006;font-size:14px}.aviso{border:1px solid #9d733e;background:#4b351d;color:#ffdfb4;padding:13px;line-height:1.5}
#gestao header,#equipes header{background:#1c272e;padding:15px;border-color:#435560;gap:10px;flex-wrap:wrap}#gestao .gBarra{padding:20px 16px 12px}#gestao .gRegioes button,#gestao .gModos button{min-height:44px;border-radius:12px;font-size:13px;background:#26343e;border-color:#4d5f6b}#gestao button.ativa{background:#dda474;color:#211a13;border-color:#edba94}#gLista{padding:16px}#gFicha{background:#202e37;border-color:#5a6b77;border-radius:22px;padding:22px}#gestao select,#gestao textarea,#equipes select{min-height:46px;background:#17232b;border-color:#536876;border-radius:12px}.kmzPainel header{background:#1c272e}.kmzConteudo{padding:20px 16px}.kmzPainel .item{padding:18px}.leaflet-control-layers{border-radius:12px!important;box-shadow:0 3px 15px #0003!important}.leaflet-bar{border-radius:10px!important;overflow:hidden}
@media(min-width:760px){#login{max-width:510px}#app .workspace-title{padding:22px 24px 15px}#app .abas{max-width:460px;margin-left:24px}#app .resumo{padding-left:24px}#app>header{padding-left:24px;padding-right:24px}#lista{padding:22px 24px 90px}#lista .item{max-width:900px;margin-left:auto;margin-right:auto}#ficha{left:auto;right:18px;bottom:18px;width:440px;max-height:88dvh;border-radius:22px}#ficha:before{display:none}}
@media(max-width:420px){#login{padding:25px 20px 20px}.login-brand{margin-bottom:27px}#formLogin{padding:21px}.workspace-caption{display:none}.workspace-title{padding-top:15px}.workspace-title h2{font-size:21px}#app>header{gap:8px;padding-left:12px;padding-right:12px}#app .app-brand{width:34px;height:31px}.team-identity{min-width:130px}#app>header .esp{min-width:0}#app>header button:not(.icone-btn){max-width:100%;white-space:normal}#app>header .sinal{order:3}#app .resumo{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.geo-box{flex:none;margin:10px 16px 0;padding:12px 14px;border:1px solid #41535e;border-radius:14px;background:#20323c;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center}.geo-box .btn{grid-column:1/-1;min-height:40px;padding:9px 12px;font-size:12px;background:#2c414d;border-color:#637a89}.geo-box [data-geo-status]{grid-column:1/-1;font-size:11px;color:#bdcdd7;margin:0;line-height:1.5}.geo-info{grid-column:1/-1;font-size:10px;line-height:1.5;color:#c3b4a5}.geo-info summary{cursor:pointer}.geo-info p{font-size:11px;line-height:1.6;color:#bdcdd7;margin-bottom:0}@media(max-height:720px){.workspace-title{padding-top:10px;padding-bottom:8px}.workspace-title h2{font-size:19px}.geo-box{padding:9px 12px;margin-top:8px}.login-brand{margin-bottom:22px}#login .login-intro h1{font-size:30px}#login{justify-content:flex-start}} 
/* Operação 2.0 · Meu dia, execução e envios */
#app .navegacao-campo{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin:0;border:0;border-top:1px solid #40525e;border-radius:0;padding:6px 8px max(8px,env(safe-area-inset-bottom));background:#18262f;gap:4px;z-index:1000}
#app .navegacao-campo button{min-height:58px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;padding:6px 2px;border-radius:12px;font-size:11px;position:relative;background:transparent;box-shadow:none;color:#b0bfca}
#app .navegacao-campo button span{font-size:23px;margin:0;line-height:1;color:#adbfce}#app .navegacao-campo button.ativa{background:#26343e;color:#e9b084}#app .navegacao-campo button.ativa span{color:#e9b084}#badgeEnvios{position:absolute;right:8px;top:2px;min-width:18px;height:18px;padding:2px 4px;background:#d9a16f;color:#20170e;border-radius:10px;font-size:10px;line-height:14px}
#app[data-aba="dia"]>.workspace-title,#app[data-aba="envios"]>.workspace-title,#app[data-aba="dia"]>.geo-box,#app[data-aba="envios"]>.geo-box{display:none}#app[data-aba="dia"] main,#app[data-aba="envios"] main{border-top:0}.painel-operacao{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 18px 30px;background:radial-gradient(ellipse at 100% 0%,#2e414b55,transparent 50%),#15222b}.painel-operacao>*{max-width:740px;margin-left:auto;margin-right:auto}.painel-titulo{position:relative;margin-bottom:22px}.painel-titulo h1{font-size:29px;line-height:1.2;letter-spacing:-.7px;margin:7px 0 9px}.painel-titulo p{font-size:12px;line-height:1.6;color:var(--fraco);margin:0}.painel-titulo>.sinal{display:inline-block;margin-top:6px}
.dia-indicadores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:19px}.dia-indicadores>div{border:1px solid #415967;background:linear-gradient(140deg,#273b45,#1c2c35);border-radius:14px;padding:15px 10px;display:grid;grid-template-columns:25px 1fr;gap:6px 3px;align-items:center}.dia-indicadores span{color:#e5ac7e;font-size:24px}.dia-indicadores>div:nth-child(2) span{color:#75d79a}.dia-indicadores b{font-size:26px;line-height:1;font-weight:750}.dia-indicadores small{grid-column:1/-1;text-align:center;color:#c4d0d8;font-size:10px;line-height:1.4}.texto-apoio{font-size:12px;color:#afc0cc;line-height:1.6}
.offline-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;border:1px solid #b98a65;border-radius:16px;padding:18px;background:#25333a;margin-bottom:20px}.offline-card .card-icone{display:flex;align-items:center;justify-content:center;font-size:28px;color:#efbb92}.offline-card.pronto .card-icone{background:#89dda3;color:#153224;border-radius:50%;width:36px;height:36px;font-size:22px}.offline-card h2{font-size:15px;line-height:1.45;margin:0 0 7px}.offline-card p{font-size:12px;color:#c1ced5;line-height:1.5;margin:0}.offline-card .btn{grid-column:1/-1;min-height:46px;font-size:12px}.offline-card small{grid-column:1/-1;color:#bbc7cf;font-size:10px;line-height:1.5}
.proximo-card{border:1px solid #4c616e;border-radius:16px;padding:20px;background:linear-gradient(145deg,#293b46,#20303a);margin-bottom:18px}.proximo-card h2{font-size:25px;letter-spacing:-.4px;margin:13px 0 8px}.proximo-card>p{line-height:1.5;margin:8px 0;font-size:14px}.proximo-card>p.texto-apoio{font-size:12px}.proximo-card .btn{margin-top:13px;font-size:13px}.proximo-card .btn.sec{margin-top:9px;background:transparent}.envios-resumo{width:100%;border:1px solid #415867;border-radius:14px;background:#1c2e3a;color:#e4edf1;display:flex;gap:15px;align-items:center;padding:17px;text-align:left}.envios-resumo>span:first-child{font-size:27px;color:#d8ab88}.envios-resumo>span:nth-child(2){flex:1}.envios-resumo b{font-size:12px;display:block;line-height:1.5}.envios-resumo small{font-size:10px;line-height:1.5;color:#b4c5d0;display:block;margin-top:4px}
.envios-aviso{display:flex;gap:17px;align-items:center;padding:19px 17px;border:1px solid #4a606d;background:#22343f;border-radius:16px;margin-bottom:18px}.envios-aviso>span{font-size:36px;color:#c3d3de}.envios-aviso h2{font-size:17px;line-height:1.4;margin:0 0 9px}.envios-aviso p{font-size:13px;line-height:1.6;margin:0;color:#c4d1da}.envios-indicadores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.envios-indicadores>div{padding:19px;border:1px solid #435b69;background:#213540;border-radius:14px}.envios-indicadores b{font-size:29px;color:#f2c49f;display:block;margin-bottom:9px}.envios-indicadores small{color:#b9cad6;font-size:12px;line-height:1.5}.envio-item{display:flex;gap:16px;align-items:center;padding:18px 16px;background:#223640;border:1px solid #47606d;border-radius:14px;margin-bottom:11px}.envio-icone{font-size:27px;color:#e8b287}.envio-item h3{font-size:16px;margin:0 0 7px}.envio-item p{font-size:12px;line-height:1.5;color:#c2cfda;margin:0}.envio-confirmado{padding:17px;border:1px solid #388362;border-radius:14px;background:#193d31;color:#ccebdd;font-size:13px;line-height:1.6;margin:18px auto}.envio-confirmado b{display:block;margin-left:15px}#envios>.btn{margin-top:18px;width:100%}
.execucao-form{border:1px solid #4b6472;padding:18px;border-radius:16px;background:#192c37}.execucao-form h3{font-size:18px;margin:0 0 18px}.execucao-form label{font-size:12px;color:#cfdae1;margin:16px 0 9px}.quantidade-controle{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;border:1px solid #607582;border-radius:12px;overflow:hidden}.quantidade-controle button{border:0;background:#344f60;color:#fff;font-size:26px;min-height:48px}.quantidade-controle input{border:0;border-radius:0;min-width:0;text-align:center;background:#253d4b;color:white;font-size:25px;font-weight:750;padding:8px;appearance:textfield}.quantidade-controle input::-webkit-inner-spin-button{appearance:none}.execucao-form textarea{width:100%;box-sizing:border-box;border:1px solid #607682;border-radius:12px;background:#1a2d38;color:#f2f5f6;font:inherit;font-size:14px;padding:12px;line-height:1.6;resize:vertical}.foto-acoes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.foto-acoes .btn{font-size:12px}.foto-miniaturas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media(min-width:760px){.painel-operacao{padding:30px}.dia-indicadores>div{padding:22px}.dia-indicadores small{font-size:13px}.offline-card h2{font-size:18px}.offline-card .btn{font-size:14px}.navegacao-campo{width:100%}}
@media(max-width:350px){.painel-operacao{padding:19px 12px}.dia-indicadores{gap:6px}.dia-indicadores>div{padding:12px 7px;grid-template-columns:20px 1fr}.dia-indicadores b{font-size:23px}.dia-indicadores span{font-size:20px}.dia-indicadores small{font-size:9px}}
.ficha-cabecalho{display:flex;justify-content:space-between;gap:12px;align-items:center}.ficha-cabecalho h2{min-width:0}.detalhes-ponto{margin-top:13px;font-size:12px;color:#bfcbd3}.detalhes-ponto summary{cursor:pointer;min-height:36px;padding:9px 0}.detalhes-ponto .linha{font-size:12px!important}.detalhes-ponto+div{margin-top:0}
/* Central de acompanhamento · segurança e supervisão */
#equipes{background:#101b23;color:#edf3f6}#equipes .eq-shell{display:grid;grid-template-columns:184px minmax(0,1fr);height:100dvh;min-height:640px;max-width:1920px;margin:auto}#equipes .eq-sidebar{background:linear-gradient(160deg,#1a2a34,#111d25);border-right:1px solid #3b505d;padding:28px 17px;display:flex;flex-direction:column;gap:25px}.eq-marca{display:flex;align-items:center;gap:8px;font-size:27px;font-weight:800;letter-spacing:1px}.eq-marca img{width:53px;height:53px;object-fit:contain}.eq-marca small{display:block;font-size:17px;font-weight:400;letter-spacing:.5px;color:#dda474}.eq-nav-ativo{border:1px solid #ad825e;border-radius:12px;padding:15px;background:#5b4433;color:#fff0df;font-size:13px;font-weight:650}.eq-nav-ativo span{font-size:20px;margin-right:9px}.eq-sidebar>p{font-size:11px;line-height:1.9;color:#a9bbc8;margin:0}.eq-sidebar-base{margin-top:auto;line-height:1.7}.eq-sidebar-base .eyebrow{font-size:8px;letter-spacing:1.5px}.eq-sidebar-base small{display:block;color:#9bafbc;margin-top:10px;font-size:11px}
#equipes .eq-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;padding:0 22px 0;background:radial-gradient(ellipse at 70% 0%,#293a4555,transparent 60%),#14222b}#equipes .eq-header{position:static;z-index:auto;background:transparent;border:0;border-bottom:1px solid #3a505e;padding:24px 0 20px;display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;flex:none}.eq-titulo h1{font-size:26px;letter-spacing:-.6px;margin:5px 0 7px;line-height:1.25}.eq-titulo p{color:#b4c5d0;font-size:12px;line-height:1.5;margin:0}.eq-header-acoes{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.eq-conexao{display:flex;align-items:center;gap:8px;border:1px solid #59616b;background:#25313c;color:#e1c797;padding:10px 13px;border-radius:10px;font-size:11px}.eq-conexao:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#e4ab4a}.eq-conexao.conectado{color:#d0e7db;border-color:#3f655b;background:#1e352f}.eq-conexao.conectado:before{background:#27c36b}#equipes .eq-header .icone-btn{font-size:12px;padding:11px 14px;min-height:41px}
.eq-filtros{display:grid;grid-template-columns:minmax(180px,1fr) 180px auto auto;gap:12px;align-items:end;padding:16px 0 0;flex:none}.eq-filtros label{font-size:11px;font-weight:650;color:#b8c7d1;margin:0 0 8px}.eq-filtros input,#equipes .eq-filtros select{height:44px;min-height:44px;background:#1a2e3a;border-color:#506572;border-radius:11px;padding:10px 12px;font-size:13px;color:#eef3f5}.eq-filtros .btn{min-height:44px;padding:10px 14px;font-size:12px;white-space:nowrap;background:#2a3f4c}.eq-status{font-size:11px;color:#aabecb;line-height:1.6;margin:12px 0;flex:none}.eq-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:16px;flex:1;min-height:0}.eq-map-card{border:1px solid #4b6474;border-radius:16px;position:relative;min-height:300px;overflow:hidden;background:#203540}#equipes #eqMapa{height:100%;width:100%;min-height:300px;z-index:0}.eq-legenda{position:absolute;bottom:20px;left:14px;background:#182e3bec;color:#e5edf1;z-index:450;border:1px solid #466170;padding:10px 13px;border-radius:11px;display:flex;gap:15px;font-size:10px;box-shadow:0 4px 18px #0003}.eq-legenda span{display:flex;gap:7px;align-items:center}.eq-dot{display:inline-block;width:11px;height:11px;flex:none;border-radius:50%;background:#8c9aa4;vertical-align:middle}.eq-dot.atual{background:#23c56c}.eq-dot.antiga{background:#e8ab42}.eq-dot.ausente{background:#8c9aa4}.eq-tooltip{background:#182b38;border:1px solid #6b8090;color:#eff6f9;font-size:10px;font-weight:700;border-radius:7px;padding:5px 8px;box-shadow:0 2px 7px #0003}.eq-lista-painel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.eq-lista-titulo{display:flex;justify-content:space-between;align-items:center;padding:0 2px 11px;gap:10px}.eq-lista-titulo h2{font-size:18px;margin:0}.eq-lista-titulo>span{font-size:11px;color:#b6c5d1}#eqLista{overflow-y:auto;min-height:0;padding-right:3px;scrollbar-width:thin;scrollbar-color:#516976 transparent}.eq-card{border:1px solid #425c6c;border-radius:14px;padding:17px;margin-bottom:12px;background:linear-gradient(140deg,#223a47,#1b2e39);box-shadow:0 4px 12px #0002}.eq-card.selecionada{border-color:#e7aa7a;box-shadow:inset 0 0 0 1px #e7aa7a}.eq-card-topo{display:flex;align-items:flex-start;gap:10px}.eq-card-topo>.eq-dot{width:15px;height:15px;margin-top:2px}.eq-card-topo>div{min-width:0;flex:1}.eq-card h3{font-size:14px;line-height:1.4;margin:0;overflow-wrap:anywhere}.eq-card h3 button{font:inherit;color:#edf4f8;border:0;background:none;padding:0;text-align:left;text-decoration:none;min-height:24px;cursor:pointer}.eq-card h3 button:hover{text-decoration:underline;text-underline-offset:4px}.eq-prefixo{font-size:11px;color:#9fb7c5;margin:4px 0 0}.eq-regional{font-size:9px;color:#bfd0da;border:1px solid #4b6473;background:#243e4d;padding:3px 6px;border-radius:6px;white-space:nowrap}.eq-card .eq-situacao{font-size:12px;font-weight:650;line-height:1.5;margin:12px 0 3px 25px}.eq-situacao.atual{color:#8de1a5}.eq-situacao.antiga{color:#f2c77c}.eq-situacao.ausente{color:#bbc9d1}.eq-tempo{font-size:11px;color:#c5d2db;margin:0 0 0 25px;line-height:1.6}.eq-precisao{font-size:10px;line-height:1.5;color:#a9bfcd;margin:5px 0 0 25px}#equipes .eq-card a.btn{margin-top:14px;min-height:40px;font-size:12px;padding:10px;border-radius:10px}#equipes .eq-card a.btn.sec{background:#2b4352;color:#e4edf2;border-color:#657c8c}.eq-rodape{font-size:10px;line-height:1.7;color:#a8bdcc;margin:11px 0 12px;flex:none}.eq-vazio{border:1px dashed #536d7d;border-radius:14px;padding:24px 18px;color:#b9cbd6}.eq-vazio h3{font-size:14px;color:#e1e9ee;margin:0 0 9px}.eq-vazio p{font-size:12px;line-height:1.7;margin:0}.eq-indicadores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0 0;flex:none}.eq-indicadores>div{display:flex;align-items:center;gap:10px;border:1px solid #425f70;border-radius:12px;background:#203743;padding:13px 15px}.eq-indicadores b{font-size:22px;line-height:1}.eq-indicadores span{font-size:11px;color:#bdccd7}.eq-indicadores .eq-dot{width:13px;height:13px}.gestao-marca{height:46px;width:51px;object-fit:contain}#gestao>header .eq{font-size:19px;margin:4px 0}#gestao [data-equipes]{font-size:12px;min-height:44px;border-color:#b68761;color:#f3d2b6;background:#46382e;padding:10px 14px;line-height:1.4}
@media(max-width:1100px){#equipes .eq-shell{grid-template-columns:150px minmax(0,1fr)}#equipes .eq-workspace{padding:0 16px}.eq-dashboard{grid-template-columns:minmax(0,1fr) 285px;gap:12px}.eq-marca{font-size:21px}.eq-marca img{width:42px;height:42px}.eq-marca small{font-size:15px}.eq-filtros{grid-template-columns:minmax(130px,1fr) 130px auto}.eq-filtros #eqEnquadrar{grid-column:1/-1;min-height:34px}.eq-titulo h1{font-size:23px}}
@media(max-width:800px){#equipes .eq-shell{display:block;height:auto;min-height:100dvh}#equipes .eq-sidebar{display:none}#equipes .eq-workspace{padding:0 14px;min-height:100dvh}#equipes .eq-header{padding:20px 0 16px;gap:13px}.eq-titulo h1{font-size:24px}.eq-header-acoes{width:100%;gap:8px}.eq-conexao{margin-right:auto;font-size:10px;padding:9px 10px}.eq-dashboard{display:flex;flex-direction:column;flex:none;overflow:visible}.eq-map-card{height:43dvh;min-height:300px;flex:none}.eq-lista-painel{overflow:visible;min-height:0;margin-top:8px}#eqLista{overflow:visible;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eq-card{margin-bottom:0}.eq-filtros{grid-template-columns:minmax(0,1fr) 135px}.eq-filtros #eqAtualizar,.eq-filtros #eqEnquadrar{grid-column:auto}.eq-legenda{bottom:20px;left:10px;gap:12px}.eq-rodape{margin-top:18px}.eq-indicadores{gap:8px}.eq-indicadores>div{padding:12px 10px;flex-wrap:wrap;gap:8px}.eq-indicadores span{width:100%;font-size:10px}}
@media(max-width:480px){#eqLista{display:block}.eq-card{margin-bottom:12px}.eq-titulo h1{font-size:23px}.eq-filtros{gap:10px;grid-template-columns:minmax(0,1fr) 125px}.eq-filtros .btn{font-size:11px;padding:10px}.eq-conexao{max-width:100%}.eq-header-acoes .icone-btn{font-size:11px!important;padding:9px 11px!important}.eq-titulo p{font-size:11px}.eq-indicadores>div{padding:12px}.eq-indicadores b{font-size:21px}}
.eq-mapa-vazio{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:450;max-width:85%;width:330px;border:1px solid #637d8d;border-radius:14px;background:#172f3def;color:#e0eaf0;padding:19px;text-align:center;font-size:13px;line-height:1.7;box-shadow:0 7px 24px #0004;pointer-events:none}

/* vistoriador: um cartão por circuito mandado pelo escritório */
#gestao #gCircuitos{margin:2px 0 14px;display:grid;gap:10px}
#gestao .gCircTopo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
#gestao .gCircTopo strong{font-size:17px}
#gestao .gCircTopo .btn{width:auto;min-height:38px;padding:6px 12px;margin:0}
#gestao .gCirc{background:var(--card);border:1px solid var(--linha);border-left:5px solid #eab308;border-radius:14px;padding:12px 14px}
#gestao .gCirc.feito{border-left-color:#3b82f6}
#gestao .gCirc.ativa{border-color:var(--cobre);box-shadow:0 0 0 2px #d99b6b55}
#gestao .gCircNome{display:flex;flex-direction:column;gap:2px}
#gestao .gCircNome strong{font-size:18px;letter-spacing:.3px}
#gestao .gProg{height:8px;background:#10191f;border-radius:9px;overflow:hidden;margin:10px 0 4px}
#gestao .gProg i{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:9px}
#gestao .gCirc p.sub{margin:4px 0 8px}
#gestao .gCircAcoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#gestao .gCircAcoes .btn{margin:0;min-height:42px}

/* "Equipe parada hoje" */
.parada-box{display:block;flex:none;margin:10px 16px 0;padding:12px 14px;border:1px solid #5b4a3a;border-radius:14px;background:#2a2620}
.parada-box>.btn{width:100%;min-height:40px;font-size:13px}
.parada-box>p.sub{font-size:12px;color:#d6c6b4;margin:6px 0 0;line-height:1.5}
.parada-box form{margin-top:8px}
.parada-box form label{display:block;margin:8px 0 4px;font-size:14px}
.parada-box form select,.parada-box form textarea,.parada-box form input[type=file]{width:100%;box-sizing:border-box}
.parada-box [data-parada-erro]{color:#fca5a5;margin:6px 0}
.parada-box form .btn{margin-top:8px}

/* recolha: marcar o último ponto do dia (pede a APR de encerramento) */
#ficha .ultimo-dia{display:flex;gap:8px;align-items:center;justify-content:center;font-size:14px;color:var(--fraco);margin:2px 0 4px}
#ficha .ultimo-dia input{width:20px;height:20px;margin:0}
#ficha .ultimo-dia small{font-size:12px;opacity:.8}
/* Mapa grande (estilo maps.me): na aba Mapa somem o título e os avisos; os filtros flutuam por cima do mapa */
#app[data-aba="mapa"]>.workspace-title,#app[data-aba="mapa"]>.geo-box,#app[data-aba="mapa"]>.parada-box{display:none}
#app[data-aba="mapa"] main{border-top:0}
#app[data-aba="mapa"] .resumo{position:relative;z-index:1002;margin-bottom:-54px;padding:8px 10px;pointer-events:none}
#app[data-aba="mapa"] .resumo>*{pointer-events:auto;box-shadow:0 2px 10px #0007}
/* alfinete com o GPS escrito embaixo */
.pinA{background:none;border:0}
.pinA svg{width:30px;height:40px;display:block;filter:drop-shadow(0 2px 2px #0009)}
.pinA svg path{stroke:#0b1220;stroke-width:1.4}
.pinA i{position:absolute;left:9px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff}
.pinA b{position:absolute;left:0;top:4px;width:30px;text-align:center;color:#fff;font:800 13px/16px Arial,sans-serif;text-shadow:0 1px 2px #000}
.pinA span{position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 13px/1.1 Arial,sans-serif;
  text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;pointer-events:none}
.pinA.feito{opacity:.6}
.pinA.urg svg path{stroke:#facc15;stroke-width:2.4}
.semRotulo .pinA span{display:none}
/* + / − e "minha localização" grandes, à direita (como no maps.me) */
#mapa .leaflet-control-zoom,#gMapa .leaflet-control-zoom{border:0;box-shadow:0 4px 14px #0006;border-radius:16px;overflow:hidden}
#mapa .leaflet-control-zoom a,#gMapa .leaflet-control-zoom a{width:52px;height:52px;line-height:50px;font-size:28px;background:var(--card);color:var(--texto);border-color:var(--linha)}
/* girar o mapa: seta do norte e botão bússola no mesmo tamanho dos + e − */
.leaflet-control-rotate a,.mapa-bussola{width:52px!important;height:52px!important;line-height:52px;border-radius:50%!important;background:var(--card)!important;
  box-shadow:0 4px 14px #0006;border:0!important;display:block;text-align:center;font-size:24px;text-decoration:none}
.mapa-bussola.ativa{background:var(--cobre,#d99b6b)!important}
/* acompanhamento das equipes (segurança/supervisor): mapa maior, controles grandes, nome só com o mapa perto */
.eq-map-card,#equipes #eqMapa{min-height:58vh}
#eqMapa .leaflet-control-zoom{border:0;box-shadow:0 4px 14px #0006;border-radius:16px;overflow:hidden}
#eqMapa .leaflet-control-zoom a{width:52px;height:52px;line-height:50px;font-size:28px;background:var(--card);color:var(--texto);border-color:var(--linha)}
.semRotulo .eq-tooltip{display:none}
/* lista do vistoriador (igual à das equipes): toque no ponto abre a ficha; Próximo e Rota em cima */
#gLista .item[data-ficha]{cursor:pointer}
.gRotaAcoes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.gRotaAcoes .chip{text-decoration:none}
#gLista .item.gUrgente{border-color:#ef4444}
.gFichaAcoes{display:grid;gap:8px;margin:10px 0}
.gFichaAcoes:empty{display:none}
.gFichaAcoes .btn{text-decoration:none;margin:0}
/* mapa do vistoriador/supervisor: maior e com o botão "onde estou" das equipes (acima do + e −) */
#gMapa{height:58vh;min-height:320px;position:relative}
#gMapa .gMinhaPos{width:52px;height:52px;border-radius:50%;border:0;
  background:var(--card);color:var(--texto);font-size:26px;box-shadow:0 4px 14px #0006;cursor:pointer}
#mapa .leaflet-bottom.leaflet-right{bottom:84px}
#mapa .leaflet-control-layers{border-radius:14px;box-shadow:0 4px 14px #0006}
#mapa .leaflet-control-layers-toggle{width:48px;height:48px}
#mapa .leaflet-top.leaflet-right{top:58px}
#mapa .leaflet-control-scale-line{border-color:#334;background:#fffc;font-weight:700}

/* marcar a foto (setas, traço, números) antes de salvar */
#marcarFoto{position:fixed;inset:0;z-index:10000;background:#000;display:flex;flex-direction:column;color:#fff;touch-action:none}
#marcarFoto .mf-topo{padding:max(10px,env(safe-area-inset-top)) 14px 8px;display:flex;flex-direction:column;gap:2px}
#marcarFoto .mf-topo span{font-size:13px;opacity:.75}
#marcarFoto .mf-area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
#marcarFoto canvas{touch-action:none;display:block;max-width:100%;max-height:100%}
#marcarFoto .mf-area{overflow:hidden}
#marcarFoto .mf-barra{padding:8px 10px max(10px,env(safe-area-inset-bottom));display:grid;gap:8px;background:#111}
#marcarFoto .mf-linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#marcarFoto button{min-height:44px;padding:0 12px;border-radius:10px;border:1px solid #444;background:#222;color:#fff;font-size:15px;font-weight:600}
#marcarFoto button.on{border-color:#39ff6a;background:#173d22}
#marcarFoto .mf-cor{width:40px;padding:0;border:3px solid #444}
#marcarFoto .mf-cor.on{border-color:#fff;outline:2px solid #000}
#marcarFoto .mf-sec{margin-left:auto;background:transparent}
#marcarFoto .mf-ok{background:#1f8f3a;border-color:#1f8f3a;flex:1}

/* painel ao vivo do supervisor (equipes.js) */
#equipes .eq-hoje-ind{margin-top:10px}
#equipes .eq-hoje-ind .alerta b{color:#fbbf24}#equipes .eq-hoje-ind .urgente b{color:#f87171}
#equipes .eq-hoje{margin:10px 0 4px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--linha)}
#equipes .eq-hoje-num{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
#equipes .eq-hoje-num b{font-size:18px}
#equipes .eq-hoje p{margin:6px 0 0;font-size:13px}
#equipes .eq-hoje-info{color:var(--fraco)}
#equipes .eq-hoje-alerta{color:#fbbf24;font-weight:700}
#equipes .eq-hoje-urg{color:#f87171;font-weight:700}
#equipes .eq-hoje-parado{color:#c4b5fd;font-weight:700}
#equipes .eq-card.eq-alerta{border-color:#b45309;box-shadow:0 0 0 2px rgba(245,158,11,.25)}

#gestao .gJaExec{margin-top:14px;padding:12px;border:1px dashed #64748b;border-radius:12px}
#gestao .gJaExec .btn{margin-top:8px}
#gErroExec{color:#ffb4a7}

/* Rede elétrica (rede.js): busca de trafo, chaves e religador + mapa da rede */
.redePainel{position:fixed;inset:0;z-index:1450;background:var(--fundo);display:flex;flex-direction:column}
.redePainel>header{background:#1c272e;padding-top:max(10px,env(safe-area-inset-top))}
.redeBusca{display:flex;gap:8px;padding:10px 12px 0}
.redeBusca input{flex:1;min-width:0;padding:12px;font-size:17px;border-radius:12px;background:#17232b;border:1px solid #536876}
.redeBusca .btn{width:auto;padding:12px 16px;font-size:15px}
.redeTipos{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 0;flex:none}
.redeTipos .chip,.redeCamadas .chip{cursor:pointer}
.redeInfo{margin:6px 12px 0;font-size:13px;color:var(--fraco);line-height:1.45}
.redeInfo b{color:var(--texto)}
.redePainel .linkBtn,.leaflet-popup .linkBtn{background:none;border:0;padding:0;color:#7dd3fc;text-decoration:underline;font:inherit;cursor:pointer}
.redeResultados{max-height:34vh;overflow-y:auto;margin:6px 12px 0;border:1px solid var(--linha);border-radius:12px;flex:none}
.redeItem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;background:var(--card);border:0;border-bottom:1px solid var(--linha);color:var(--texto);font:inherit;cursor:pointer}
.redeItem:last-child{border-bottom:0}
.redeItem>span:nth-child(2){flex:1;min-width:0}
.redeItem small{display:block;color:var(--fraco);font-size:12px;margin-top:2px}
.redeBola{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid #0b1220;box-shadow:0 0 0 1px #64748b}
.redeMapa{flex:1;min-height:220px;margin-top:8px;position:relative}
.redeMinhaPos{position:absolute;right:12px;bottom:110px;z-index:600;width:46px;height:46px;border-radius:50%;border:0;background:var(--card);color:var(--texto);font-size:22px;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.redeCamadas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px 0;font-size:13px}
.redeCamadas label{display:flex;align-items:center;gap:5px;margin:0;color:var(--texto);font-size:13px}
.redeCamadas input{width:auto;padding:0}
.redeLegenda{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 12px max(8px,env(safe-area-inset-bottom));font-size:11px;color:var(--fraco)}
.redeLegenda i{display:inline-block;width:16px;height:4px;border-radius:2px;margin-right:4px;vertical-align:middle}
.redeLegenda b{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid #0b1220;margin-right:4px;vertical-align:-1px}
.redeAlvo{animation:redePulso 1.2s ease-in-out infinite}
.redeMontante{margin-top:6px;padding:8px 10px;border-radius:10px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.45);color:var(--texto)}
.redeMontante b{color:#67e8f9}
.redeProj{padding:10px 12px;display:grid;gap:8px;font-size:13px}
.redeProj label{display:grid;gap:3px;margin:0;font-size:12px;color:var(--fraco)}
.redeProj input,.redeProj select{padding:8px 10px;font-size:14px;border-radius:8px;border:1px solid var(--linha);background:#17232b;color:var(--texto)}
.redeProjItem{display:grid;grid-template-columns:1fr 70px 70px;gap:6px;align-items:end;padding:8px 0;border-top:1px solid var(--linha)}
.redeProjItem input[data-pobs]{grid-column:1/3}.redeProjItem .linkBtn{justify-self:end}
.redeProjAcoes{display:flex;gap:8px}.redeProjAcoes .btn{flex:1;padding:11px;font-size:14px}
.redeProjErro{color:#fca5a5;margin:0}.redeNota{font-size:22px;letter-spacing:3px;color:#ffdfc5}
@keyframes redePulso{50%{stroke-opacity:.25}}

/* Cores compartilhadas entre pontos e equipes; símbolos distinguem o andamento. */
.equipes-mapa-info{padding:8px 12px;background:var(--card);border-bottom:1px solid var(--linha);font-size:12px;color:var(--texto)}
.equipes-mapa-cores{display:flex;gap:6px 12px;flex-wrap:wrap;margin-bottom:5px;max-height:65px;overflow:auto}
.equipes-mapa-cores span{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.equipes-mapa-cores i{display:inline-block;width:11px;height:11px;border:1px solid #fff;border-radius:50%}
.equipes-mapa-info small{color:var(--fraco)}
.caminhao-equipe{background:transparent;border:0}
.caminhao-cor{width:44px;height:38px;filter:drop-shadow(0 2px 3px #0009)}
.caminhao-cor:before{content:"";position:absolute;inset:3px;border:3px solid var(--cor-equipe);border-radius:50%;animation:caminhao-pulso 1.6s ease-out infinite}
.caminhao-cor svg{position:relative;width:44px;height:32px}
@keyframes caminhao-pulso{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(1.5)}}
.caminhao-nome{font-size:11px;font-weight:800;padding:2px 5px;white-space:nowrap}
.pinA.feito{opacity:.9}
@media(prefers-reduced-motion:reduce){.caminhao-cor:before{animation:none;opacity:.7}}

/* Organização da rede exclusiva de supervisor e vistoriador. */
.redeOrganizada>header{padding:12px 16px;min-height:64px;border-bottom:1px solid var(--linha);gap:10px}
.redeOrganizada>header strong{font-size:18px;font-weight:750;letter-spacing:-.3px}
.redeOrganizada .redeMenuBotao{font-size:28px;line-height:1;min-width:44px;min-height:44px}
.redeOrganizada .redeBusca{padding:12px 14px 0;gap:8px}
.redeOrganizada .redeBusca input{font-size:16px;padding:12px;min-height:46px;border-color:#435660}
.redeOrganizada .redeBusca .btn{border-radius:12px;min-height:46px;background:#229967;font-weight:700}
.redeOrganizada .redeFerramentas{display:flex;gap:12px;align-items:center;padding:10px 14px 4px}
.redeOrganizada .redeFiltrar{border:1px solid #60727e;background:transparent;color:var(--texto);border-radius:9px;padding:9px 13px;font-size:14px;min-height:40px}
.redeOrganizada .redeFiltroAtual{font-size:12px;color:var(--fraco);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.redeOrganizada .redeInfo{margin:6px 14px;font-size:12px;line-height:1.5;max-height:100px;overflow:auto;flex-shrink:0}
.redeOrganizada .redeMapa{margin-top:4px;min-height:180px}
.redeOrganizada .redeGrupoResultados{margin:2px 14px 6px;border:1px solid #435660;border-radius:12px;overflow:hidden;flex:none}
.redeOrganizada .redeResultadosBotao{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:10px 12px;border:0;color:var(--texto);background:#26343d;text-align:left;font-size:13px;font-weight:650}
.redeOrganizada .redeGrupoResultados .redeResultados{margin:0;border:0;border-top:1px solid var(--linha);border-radius:0;max-height:30dvh}
.redeOrganizada .redeGrupoResultados:has(.redeProj) .redeResultados{max-height:42dvh}
.redeOrganizada .redeGrupoResultados.recolhido .redeResultados{display:none}
.redeOrganizada .redeItem{padding:12px;gap:12px;min-height:60px;background:#202c34}
.redeOrganizada .redeItem b{font-size:14px}
.redeOrganizada .redeItem small{font-size:12px;line-height:1.45}
.redeOrganizada .redeOpcoesOverlay{position:absolute;inset:0;z-index:1800;background:#0008;display:flex;justify-content:flex-end;align-items:flex-start;padding:68px 12px 16px}
.redeOrganizada .redeOpcoesJanela{width:min(390px,100%);max-height:calc(100dvh - 100px);overflow:auto;background:#1d2931;border:1px solid #4a5a64;border-radius:16px;box-shadow:0 15px 60px #0008;padding:0 16px 12px}
.redeOrganizada .redeOpcoesJanela>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#1d2931;padding:12px 0 8px;border-bottom:1px solid var(--linha);z-index:1}
.redeOrganizada .redeOpcoesJanela h2{font-size:18px;letter-spacing:-.3px;margin:0;font-weight:700}
.redeOrganizada .redeOpcoesJanela h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--fraco);margin:18px 0 8px}
.redeOrganizada .redeOpcoesJanela p{font-size:13px;color:var(--fraco);line-height:1.6}
.redeOrganizada .redeCamadas{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;font-size:14px}
.redeOrganizada .redeCamadas label{flex-direction:row-reverse;justify-content:space-between;min-height:52px;gap:16px;font-size:14px;padding:10px 0;border-bottom:1px solid #ffffff0b}
.redeOrganizada .redeCamadas input{appearance:none;position:relative;width:44px;height:26px;border:0;border-radius:20px;background:#52616c;flex:none;cursor:pointer;transition:background .15s}
.redeOrganizada .redeCamadas input:before{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#f8fafc;transition:transform .15s;box-shadow:0 1px 3px #0006}
.redeOrganizada .redeCamadas input:checked{background:#229967}
.redeOrganizada .redeCamadas input:checked:before{transform:translateX(18px)}
.redeOrganizada .redeOpcaoAcao{display:flex;gap:10px;align-items:center;justify-content:flex-start;width:100%;border:0;border-top:1px solid var(--linha);border-radius:0;background:transparent;color:var(--texto);padding:17px 0;font-size:14px;text-align:left;min-height:52px}
.redeOrganizada .redeOpcaoAcao span{flex:1}
.redeOrganizada .redeTipos{display:grid;grid-template-columns:1fr 1fr;padding:4px 0 12px;gap:10px;overflow:visible}
.redeOrganizada .redeTipos button{min-height:48px;white-space:normal;text-align:left;padding:10px;border-radius:10px;border:1px solid #455966;background:#26343d;font-size:13px}
.redeOrganizada .redeTipos button.ativa{border-color:#47c792;background:#174735;color:#e5fff2}
.redeOrganizada .redeLegenda{display:grid;grid-template-columns:1fr 1fr;padding:8px 0 20px;gap:18px 12px;font-size:13px}
.redeOrganizada .redeLegenda span{line-height:1.5}
@media(max-width:420px){.redeOrganizada .redeOpcoesOverlay{padding:65px 10px 12px}.redeOrganizada .redeOpcoesJanela{width:100%}}

.redeOrganizada .redeInfo:has(.redeTabelaMontante){max-height:38dvh}
.redeTabelaMontante{margin:8px 0;padding:10px 12px;overflow:hidden}
.redeTabelaMontante summary{cursor:pointer;display:flex;gap:8px;justify-content:space-between;align-items:center;min-height:30px}
.redeTabelaMontante summary span{font-size:11px;color:var(--fraco)}
.redeTabelaMontante p{font-size:12px;margin:6px 0 10px}
.redeTabelaScroll{overflow:auto;max-height:24dvh;border:1px solid var(--linha);border-radius:8px}
.redeTabelaMontante table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}
.redeTabelaMontante th{position:sticky;top:0;background:#1a303a;padding:8px;text-align:left;font-size:10px;text-transform:uppercase}
.redeTabelaMontante td{padding:9px 8px;border-top:1px solid var(--linha)}
.redeTabelaMontante td strong,.redeTabelaMontante td span{display:block}
.redeTabelaMontante td span{font-size:13px;margin-top:3px;color:var(--texto)}
.redeTabelaMontante small,.redeTabelaAviso small{display:block;font-size:11px;color:var(--fraco);line-height:1.5;margin-top:9px;white-space:normal}
.redeOrdemEquip{background:transparent;border:0;box-shadow:none;color:#fff;font-size:10px;font-weight:800;padding:0}
.redeOrdemEquip:before{display:none}

/* Início supervisor e vistoriador: paleta ARIS, sem alterar equipes. */
.inicioGestao{display:none;max-width:780px;margin:auto;padding:24px 18px 48px;color:var(--texto)}.naInicio .inicioGestao{display:block}.inicioProfissional.naInicio>.gBarra,.inicioProfissional.naInicio>#gMapa,.inicioProfissional.naInicio>#gLista{display:none!important}.inicioVoltar{margin:14px 18px;width:auto}.inicioVoltar[hidden]{display:none}.inicioGestao h1{font-size:27px;margin:12px 0}.inicioGestao h2{font-size:19px;margin:26px 0 14px}.inicioGestao h3{font-size:21px}.inicioGestao p,.inicioGestao small{color:var(--fraco);line-height:1.5}.inicioNumeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}.inicioNumeros article{background:var(--card);border:1px solid var(--linha);padding:16px 10px;border-radius:13px;display:flex;flex-direction:column;gap:9px}.inicioNumeros b{font-size:30px;color:var(--cobre)}.inicioNumeros article:nth-child(2) b{color:#72acd0}.inicioNumeros article:nth-child(3) b{color:#59bb92}.inicioNumeros span{font-size:12px;color:var(--fraco)}.inicioLegenda{font-size:12px}.inicioGestao .inicioPrincipal{background:var(--cobre);color:#20180f;width:100%;border:1px solid #edb98f}.inicioAtalhos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inicioAtalhos button,.inicioRecentes button{background:#23313a;border:1px solid #3e505b;color:var(--texto);border-radius:14px;padding:19px 14px;text-align:left;min-height:80px}.inicioAtalhos span{display:block;color:var(--fraco);font-size:12px;line-height:1.5;margin-top:10px}.inicioContinuar{margin-top:24px;padding:20px;background:var(--card);border:1px solid var(--linha);border-radius:15px}.inicioContinuar h2{margin-top:0}.inicioTitulo{display:flex;align-items:center;justify-content:space-between;gap:12px}.inicioTitulo button{color:var(--cobre)}.inicioRecentes{display:grid;gap:10px}.inicioRecentes button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.inicioRecentes small{display:block;margin-top:8px}.inicioRecentes em{font-style:normal;color:var(--cobre);font-size:12px}.inicioGestao button:focus-visible{outline:3px solid var(--cobre);outline-offset:3px}@media(max-width:380px){.inicioAtalhos{grid-template-columns:1fr}.inicioRecentes button{align-items:flex-start;flex-direction:column}}

/* Faixas independentes: filtros, busca e legenda nunca se sobrepoem. */
#app[data-aba="mapa"] .resumo{position:relative;z-index:auto;margin-bottom:0;pointer-events:auto;flex-shrink:0}
#app .busca-gps{padding:8px 12px;background:var(--fundo);flex-shrink:0;border-bottom:1px solid var(--linha)}
#app .busca-gps label{display:block;font-size:12px;margin:0 0 5px}
#app .busca-gps>div{display:flex;gap:8px;align-items:center}
#app .busca-gps input{flex:1;min-width:0;margin:0;min-height:44px}
#app .busca-gps button{width:auto;flex:none;margin:0;min-height:44px;padding:8px 12px}
#app .busca-gps small{display:block;color:var(--fraco);font-size:12px;margin-top:5px}
#app .equipes-mapa-info{position:relative;flex-shrink:0;clear:both}
#app .equipes-mapa-cores{max-height:none;overflow:visible}

/* Foto ocupa a tela, inclusive quando a origem e uma miniatura offline. */
.foto-visualizador{position:fixed;inset:0;z-index:10000;background:#080c10;display:flex;flex-direction:column;height:100%;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.foto-barra{display:flex;align-items:center;gap:6px;padding:8px;flex-shrink:0;background:#1c2932;color:#fff}
.foto-barra b{flex:1;font-size:13px}.foto-barra button{min-width:44px;min-height:44px;border:1px solid #607580;border-radius:10px;background:#2b414e;color:#fff;font-size:18px}.foto-barra button[data-ajustar]{font-size:13px;padding:0 8px}.foto-barra button:disabled{opacity:.4}
.foto-area{flex:1;min-height:0;overflow:auto;position:relative;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;display:flex}
.foto-area img{display:block;max-width:none;max-height:none;flex:none;object-fit:contain;margin:auto;user-select:none;-webkit-user-select:none}
.foto-aviso{flex-shrink:0;text-align:center;font-size:12px;color:#c4d0d8;padding:8px;line-height:1.4}
.foto-acoes-ampliada{display:grid;grid-template-columns:repeat(var(--acoes),minmax(0,1fr));gap:8px;padding:0 10px 10px;flex-shrink:0}.foto-acoes-ampliada .btn{font-size:14px;margin:0}

/* Na lista, recolhe o aviso sem interromper GPS nem esconder erros no painel aberto. */
#app[data-aba="lista"]>.geo-box:has(.geo-compacta){display:block;margin:3px 12px 0;padding:4px 8px;border:0;border-radius:6px;background:transparent}
.geo-compacta{grid-column:1/-1;min-width:0}.geo-compacta>summary{cursor:pointer;color:var(--fraco);font-size:11px;line-height:1.5;padding:3px 0}.geo-conteudo{padding:8px 0;display:grid;gap:7px}
#app[data-aba="lista"]>.workspace-title{padding-top:8px;padding-bottom:6px}#app[data-aba="lista"]>.workspace-title .eyebrow{display:none}#app[data-aba="lista"]>.workspace-title h2{font-size:18px;margin:0}

/* Localizacao na aba Envios; lista prioriza os GPS. Nao altera a coleta. */
#app[data-aba="lista"]>.geo-box:has(.geo-compacta){display:none}
#app[data-aba="envios"]>.geo-box:has(.geo-compacta){display:block;margin:8px 12px;padding:8px 12px}
#app[data-aba="lista"]>.workspace-title{display:none}
#app[data-aba="lista"] .busca-gps{padding:5px 12px}
#app[data-aba="lista"] .busca-gps label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app[data-aba="lista"] .busca-gps input{height:44px;padding:9px 12px;font-size:16px}
#app[data-aba="lista"] .busca-gps small:empty{display:none}
#app[data-aba="lista"] #lista{padding-top:6px}
#app[data-aba="lista"] #lista .item{padding:12px 14px;margin-bottom:8px}

/* Legenda das equipes fica em Envios; mapa mantem caminhões e cores dos pontos. */
#app:not([data-aba="envios"])>.equipes-mapa-info{display:none}
#app[data-aba="envios"]>.equipes-mapa-info{display:block;margin:0 12px 8px;border:1px solid var(--linha);border-radius:10px;padding:10px 12px}

/* Supervisor: filtros juntos e alternancia de mapa/lista no celular. */
#equipes.eq-supervisor .eq-header{padding:15px 0 12px}.eq-supervisor .eq-titulo h1{font-size:23px;margin:3px 0}.eq-supervisor .eq-filtros{padding-top:12px;margin-bottom:0}
.eq-supervisor .eq-indicadores{margin-top:12px}.eq-supervisor .eq-indicadores>div{padding:10px 12px}.eq-supervisor .eq-indicadores b{font-size:21px}
.eq-resumo-detalhes{border-bottom:1px solid #3b505d;padding:10px 0;color:#cbd7df;font-size:12px;flex:none}.eq-resumo-detalhes>summary{cursor:pointer}.eq-resumo-detalhes .eq-hoje-ind{margin:10px 0 0;grid-template-columns:repeat(4,minmax(0,1fr))}
.eq-supervisor .eq-status{font-size:11px;margin:8px 0}.eq-supervisor .eq-card{padding:12px;margin-bottom:8px}.eq-supervisor .eq-card .eq-situacao{margin-top:8px;font-size:11px}.eq-supervisor .eq-card .eq-tempo{font-size:10px}.eq-supervisor .eq-hoje{padding:8px;margin:7px 0 0}.eq-supervisor .eq-hoje p{font-size:11px}.eq-supervisor .eq-card a.btn{margin-top:8px;min-height:38px;font-size:11px}.eq-supervisor .eq-rodape{font-size:10px;margin:8px 0}
.eq-abas-visao{display:none}
@media(max-width:800px){
 #equipes.eq-supervisor .eq-workspace{padding:0 12px;min-height:100dvh}.eq-supervisor .eq-header{gap:8px}.eq-supervisor .eq-header-acoes{gap:6px}.eq-supervisor .eq-header .icone-btn{min-height:36px;padding:8px 10px;font-size:11px}
 .eq-supervisor .eq-filtros{grid-template-columns:minmax(0,1fr) 110px;gap:8px}.eq-supervisor .eq-filtros label{font-size:10px;margin-bottom:4px}.eq-supervisor .eq-filtros input,.eq-supervisor .eq-filtros select{height:40px;min-height:40px;font-size:12px}.eq-supervisor .eq-filtros .btn{min-height:36px;font-size:11px}
 .eq-supervisor .eq-indicadores{gap:6px}.eq-supervisor .eq-indicadores>div{padding:8px;gap:5px}.eq-supervisor .eq-indicadores span{font-size:9px}.eq-supervisor .eq-indicadores .eq-dot{width:8px;height:8px}.eq-supervisor .eq-resumo-detalhes .eq-hoje-ind{grid-template-columns:repeat(2,minmax(0,1fr))}
 .eq-abas-visao{display:flex;gap:8px;margin:0 0 10px;flex:none}.eq-abas-visao button{flex:1;padding:11px 8px;border-radius:10px;border:1px solid #516773;background:#20323c;color:#cfdae1;font:inherit;font-size:12px}.eq-abas-visao button[aria-pressed="true"]{background:#65472f;border-color:#d99b6b;color:#fff0df}
 .eq-supervisor .eq-dashboard{display:block}.eq-supervisor .eq-dashboard[data-visao="mapa"] .eq-lista-painel{display:none}.eq-supervisor .eq-dashboard[data-visao="lista"] .eq-map-card{display:none}
 .eq-supervisor .eq-map-card,.eq-supervisor #eqMapa{height:50dvh;min-height:320px}.eq-supervisor #eqLista{display:block}.eq-supervisor .eq-lista-painel{margin-top:0}.eq-supervisor .eq-legenda{font-size:9px;gap:10px;bottom:10px}
}

/* Segurança: seleção pronta de equipes e mapa como elemento principal. */
#equipes.eq-seguranca .eq-indicadores,#equipes.eq-seguranca .eq-hoje,#equipes.eq-seguranca .eq-precisao{display:none!important}
#equipes.eq-seguranca .eq-shell{display:block;max-width:1600px;height:auto;min-height:100dvh}.eq-seguranca .eq-sidebar{display:none!important}
#equipes.eq-seguranca .eq-header{padding:13px 0;gap:10px}.eq-seguranca .eq-titulo h1{font-size:23px;margin:4px 0}.eq-seguranca .eq-titulo p{display:none}.eq-seguranca .eq-filtros{padding-top:10px;gap:8px}
#equipes.eq-seguranca .eq-dashboard{display:block;flex:none}#equipes.eq-seguranca .eq-map-card,#equipes.eq-seguranca #eqMapa{height:70dvh;min-height:420px}
.eq-seguranca .eq-lista-painel{margin-top:16px}.eq-seguranca #eqLista{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;overflow:visible}.eq-seguranca .eq-card{padding:12px;margin:0}.eq-seguranca .eq-card .eq-situacao{margin-top:8px;font-size:11px}.eq-seguranca .eq-card a.btn{margin-top:8px;min-height:38px;font-size:11px}.eq-seguranca .eq-status{margin:8px 0;font-size:11px}
@media(max-width:800px){#equipes.eq-seguranca .eq-workspace{padding:0 12px}#equipes.eq-seguranca .eq-header-acoes{gap:6px}.eq-seguranca .eq-header .icone-btn{padding:8px 10px;min-height:36px}.eq-seguranca .eq-filtros{grid-template-columns:minmax(0,1fr) 110px}.eq-seguranca .eq-filtros label{font-size:10px;margin-bottom:4px}.eq-seguranca .eq-filtros .btn{min-height:36px;font-size:11px}.eq-seguranca .eq-filtros select{min-height:44px;font-size:12px}.eq-seguranca #eqLista{display:block}.eq-seguranca .eq-card{margin-bottom:8px}}
/* Quantidades do projeto: três campos próprios, sem confundir bambu e poda BT/MT. */
.redeProjItem{grid-template-columns:repeat(3,minmax(0,1fr))}.redeProjItem>b{grid-column:1/-1}.redeProjItem input[data-pobs]{grid-column:1/3}.redeProjItem input{min-width:0;width:100%}
