:root{
  --rosa:#d6246e; --rosa-escuro:#a8164f; --rosa-claro:#fde7f0; --rosa-borda:#f6bfd5;
  --preto:#141414; --cinza:#6b6b6b; --cinza-claro:#f4f2f3; --borda:#e6e1e3;
  --fundo:#faf8f9; --branco:#fff; --amarelo:#fff3cd; --amarelo-txt:#7a5600;
  --verde:#e7f6ec; --verde-txt:#1d6b3a; --erro:#fdecea; --erro-txt:#a3231a;
  --raio:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--fundo);
  color:var(--preto);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
a{color:var(--rosa-escuro);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:17px;margin:0 0 12px}
.muted{color:var(--cinza)}
.small{font-size:13px}

/* topo */
.topo{background:var(--preto);color:#fff;position:sticky;top:0;z-index:20}
.topo-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px 16px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;letter-spacing:.2px}
.marca:hover{text-decoration:none}
.marca .ponto{width:12px;height:12px;border-radius:50%;background:var(--rosa);display:inline-block}
.marca small{font-weight:400;color:#cfcfcf}
.menu{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.menu a{color:#e8e8e8;padding:7px 11px;border-radius:8px;font-size:14px}
.menu a:hover{background:#2a2a2a;text-decoration:none}
.menu a.ativo{background:var(--rosa);color:#fff}
.quem{font-size:13px;color:#bdbdbd;white-space:nowrap}
.quem a{color:#fff;margin-left:8px}

.conteudo{max-width:1180px;margin:0 auto;padding:20px 16px 60px}

/* avisos */
.aviso{padding:11px 14px;border-radius:10px;margin-bottom:10px;font-size:14px}
.aviso.ok{background:var(--verde);color:var(--verde-txt)}
.aviso.erro{background:var(--erro);color:var(--erro-txt)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--borda);
  background:#fff;color:var(--preto);padding:9px 15px;border-radius:9px;font-size:14px;cursor:pointer;
  font-weight:600;font-family:inherit;text-decoration:none;line-height:1.2}
.btn:hover{border-color:var(--preto);text-decoration:none}
.btn.rosa{background:var(--rosa);border-color:var(--rosa);color:#fff}
.btn.rosa:hover{background:var(--rosa-escuro);border-color:var(--rosa-escuro)}
.btn.preto{background:var(--preto);border-color:var(--preto);color:#fff}
.btn.grande{padding:13px 22px;font-size:16px}
.btn.peq{padding:6px 10px;font-size:13px}
.btn.perigo{color:var(--erro-txt);border-color:#f0c4c0}
.btn.perigo:hover{background:var(--erro)}
.btn-link{background:none;border:none;color:var(--rosa-escuro);cursor:pointer;font:inherit;padding:0;font-size:13px}

/* cartões resumo */
.cab{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:22px}
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px 18px}
.card-resumo{display:block;color:inherit;position:relative;overflow:hidden}
.card-resumo:hover{text-decoration:none;border-color:var(--rosa)}
.card-resumo.sel{border-color:var(--rosa);box-shadow:0 0 0 2px var(--rosa-borda)}
.card-resumo .rot{font-size:13px;color:var(--cinza);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.card-resumo .rot b{color:var(--preto)}
.card-resumo .num{font-size:32px;font-weight:800;margin:4px 0 2px}
.card-resumo .num span{font-size:16px;font-weight:600;color:var(--cinza)}
.card-resumo .tarja{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--preto)}
.card-resumo.biab .tarja{background:var(--rosa)}
.selo{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:700}
.selo.atraso{background:var(--rosa);color:#fff}
.selo.atencao{background:var(--amarelo);color:var(--amarelo-txt)}
.selo.ok{background:var(--cinza-claro);color:var(--cinza)}
.selo.verde{background:var(--verde);color:var(--verde-txt)}
.selo.parcial{background:var(--rosa-claro);color:var(--rosa-escuro)}

/* barra de filtros */
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filtros input[type=search],.filtros select,.filtros input[type=date]{padding:9px 12px;border:1px solid var(--borda);
  border-radius:9px;font-size:14px;background:#fff;font-family:inherit}
.filtros input[type=search]{flex:1;min-width:180px}
.abas{display:flex;background:#fff;border:1px solid var(--borda);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.abas a{padding:7px 12px;border-radius:7px;color:var(--preto);font-size:14px;font-weight:600}
.abas a:hover{text-decoration:none;background:var(--cinza-claro)}
.abas a.sel{background:var(--preto);color:#fff}

/* tabela de pendentes */
.tabela{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.tabela th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--cinza);
  background:var(--cinza-claro);padding:10px 12px;font-weight:700;white-space:nowrap}
.tabela td{padding:11px 12px;border-top:1px solid var(--borda);vertical-align:middle}
.tabela tr.atraso td:first-child{box-shadow:inset 4px 0 0 var(--rosa)}
.tabela tr.atencao td:first-child{box-shadow:inset 4px 0 0 #e8b400}
.tabela .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tabela .falta{font-weight:800;font-size:16px}
.prod{font-weight:700}
.dir{font-size:13px;color:var(--cinza);white-space:nowrap}
.dir b{color:var(--preto)}
.seta{color:var(--rosa);font-weight:800}
.vazio{text-align:center;padding:40px 10px;color:var(--cinza);background:#fff;border:1px dashed var(--borda);border-radius:var(--raio)}

/* formulários */
.form{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:20px;max-width:720px}
.campo{margin-bottom:16px}
.campo label,.rotulo{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:#333}
.campo input[type=text],.campo input[type=date],.campo input[type=password],.campo select,.campo textarea,
.linha-item input{width:100%;padding:11px 12px;border:1px solid #d9d3d6;border-radius:9px;font-size:16px;font-family:inherit;background:#fff}
.campo input:focus,.campo select:focus,.campo textarea:focus,.linha-item input:focus{outline:2px solid var(--rosa-borda);border-color:var(--rosa)}
.campo textarea{min-height:64px;resize:vertical}
.dica{font-size:12px;color:var(--cinza);margin-top:4px}
.escolha{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.escolha label{display:block;margin:0;cursor:pointer}
.escolha input{position:absolute;opacity:0;pointer-events:none}
.escolha .op{border:2px solid var(--borda);border-radius:11px;padding:13px 12px;text-align:center;font-weight:700;font-size:15px;background:#fff}
.escolha .op small{display:block;font-weight:400;color:var(--cinza);font-size:12px;margin-top:3px}
.escolha input:checked + .op{border-color:var(--rosa);background:var(--rosa-claro);color:var(--rosa-escuro)}
.escolha input:focus-visible + .op{outline:2px solid var(--rosa)}
.linha-item{display:grid;grid-template-columns:1fr 120px 40px;gap:8px;margin-bottom:8px}
.linha-item .rem{border:1px solid var(--borda);background:#fff;border-radius:9px;cursor:pointer;font-size:18px;color:var(--cinza)}
.acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.caixa-info{background:var(--cinza-claro);border-radius:10px;padding:12px 14px;margin-bottom:18px}
.caixa-info .grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.caixa-info .v{font-weight:800;font-size:18px}
.caixa-info .k{font-size:12px;color:var(--cinza);text-transform:uppercase;letter-spacing:.3px}
.oculto{display:none}
.chk{display:flex;gap:9px;align-items:flex-start;font-weight:600;cursor:pointer}
.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--rosa)}

/* detalhe */
.bloco{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px 18px;margin-bottom:14px}
.peca{border-top:1px solid var(--borda);padding:14px 0}
.peca:first-of-type{border-top:none;padding-top:4px}
.peca-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.hist{list-style:none;margin:8px 0 0;padding:0}
.hist li{font-size:13px;padding:6px 10px;border-left:3px solid var(--rosa-borda);margin-bottom:4px;background:var(--fundo);border-radius:0 6px 6px 0}
.hist li.enc{border-left-color:var(--preto)}
.troca{color:var(--rosa-escuro);font-weight:700}
details.edit{margin-top:8px}
details.edit summary{cursor:pointer;font-size:13px;color:var(--rosa-escuro)}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:8px}
.inline input,.inline select{padding:8px 10px;border:1px solid var(--borda);border-radius:8px;font-size:14px;font-family:inherit}

/* recentes */
.recentes{margin-top:26px}
.recentes ul{list-style:none;padding:0;margin:0}
.recentes li{font-size:14px;padding:8px 0;border-top:1px solid var(--borda)}

/* login */
.login-pg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;
  background:linear-gradient(160deg,var(--preto) 0 55%,var(--rosa) 55%)}
.login-box{background:#fff;border-radius:16px;padding:28px 24px;width:100%;max-width:380px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.login-box h1{font-size:22px}
.login-box .sub{color:var(--cinza);margin-bottom:20px;font-size:14px}
.login-box .btn{width:100%}

/* lista simples */
.lista{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.lista td,.lista th{padding:10px 12px;border-top:1px solid var(--borda);text-align:left;font-size:14px}
.lista th{background:var(--cinza-claro);border-top:none;font-size:12px;text-transform:uppercase;color:var(--cinza)}
.lista tr.inativo td{color:#aaa}
.msg-whats{white-space:pre-wrap;background:var(--fundo);border:1px solid var(--borda);border-radius:10px;padding:12px;font-family:inherit;width:100%;min-height:200px;font-size:14px}

/* celular */
@media (max-width:760px){
  body{font-size:15px}
  .topo-in{gap:8px;padding:8px 12px}
  .menu{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap}
  .menu a{white-space:nowrap}
  .conteudo{padding:14px 12px 60px}
  .card-resumo .num{font-size:28px}
  .tabela thead{display:none}
  .tabela,.tabela tbody,.tabela tr,.tabela td{display:block;width:100%}
  .tabela{border:none;background:none}
  .tabela tr{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);margin-bottom:10px;padding:12px 14px;position:relative}
  .tabela tr.atraso{box-shadow:inset 5px 0 0 var(--rosa)}
  .tabela tr.atencao{box-shadow:inset 5px 0 0 #e8b400}
  .tabela tr.atraso td:first-child,.tabela tr.atencao td:first-child{box-shadow:none}
  .tabela td{border:none;padding:2px 0}
  .tabela .num{text-align:left}
  .tabela td[data-r]::before{content:attr(data-r) ": ";color:var(--cinza);font-size:13px;font-weight:400}
  .tabela td.acao{margin-top:8px}
  .tabela td.acao .btn{width:100%}
  .tabela td.cel-dias{position:absolute;right:14px;top:12px;width:auto}
  .tabela td.cel-prod{padding-right:80px}
  .esconde-cel{display:none!important}
  .linha-item{grid-template-columns:1fr 92px 40px}
  .form{padding:16px}
}
@media (min-width:761px){ .so-cel{display:none!important} }

/* pares de campos (data + pessoa / metros + data) */
.duas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.duas>*,.escolha>*,.linha-item>*{min-width:0}
.campo input[type=date]{min-height:46px;display:block;-webkit-appearance:none;appearance:none}
@media (max-width:520px){ .duas{grid-template-columns:1fr} }
.campo input,.campo select,.campo textarea{max-width:100%;min-width:0}
.campo input[type=date]{width:100%;max-width:100%}
@media (max-width:760px){
  .tabela td[data-r]{display:inline-block;width:auto;margin-right:14px;font-size:14px}
  .tabela td.falta{display:block;font-size:17px;margin-top:2px}
  .tabela td.dir{margin:2px 0 4px}
}
