/* AHS Tracker - mesma identidade visual do painel antigo */
:root{
  --bg:#14181A; --surface:#1C2124; --surface-2:#232A2D; --border:#2E363A; --border-strong:#3D474C;
  --text:#E8EAE8; --text-secondary:#9AA3A6; --text-muted:#697175;
  --amber:#F2A93B; --amber-dim:#4A3A1C; --amber-text:#FFCE7D;
  --red:#E1524B; --red-dim:#4A2220; --red-text:#FF9791;
  --teal:#2FA98C; --teal-dim:#123A31; --teal-text:#7EE0C6;
  --blue:#4C8DD9; --blue-dim:#1B2E42; --blue-text:#9DC4F2;
  --purple:#A45FD1; --purple-dim:#3A2547; --purple-text:#D9AEF2;
  --gray-dim:#2A2F32;
  --font-sans:'Inter',system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;}
a{color:var(--teal-text);text-decoration:none;}
a:hover{text-decoration:underline;}

/* Cabecalho e navegacao */
.topo{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 24px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.topo .marca{font-size:17px;font-weight:600;letter-spacing:.3px;}
.topo .marca span{display:block;font-size:11px;color:var(--text-muted);font-weight:400;letter-spacing:.2px;}
.nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center;}
.nav a{padding:7px 13px;border-radius:5px;color:var(--text-secondary);font-size:13px;}
.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none;}
.nav a.ativo{background:var(--teal-dim);color:var(--teal-text);}
.perfil-tag{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px;
  background:var(--gray-dim);color:var(--text-secondary);}
.perfil-tag.admin{background:var(--purple-dim);color:var(--purple-text);}
.perfil-tag.interno{background:var(--blue-dim);color:var(--blue-text);}

.conteudo{max-width:1400px;margin:0 auto;padding:24px;}
h1{font-size:20px;font-weight:600;margin:0 0 4px;}
.subtitulo{color:var(--text-muted);font-size:13px;margin-bottom:22px;}
.secao-titulo{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);
  margin:28px 0 12px;font-weight:600;}

/* Cards de numero */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 16px;text-align:center;}
.kpi .rotulo{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:8px;}
.kpi .valor{font-family:var(--font-mono);font-size:32px;font-weight:600;}
.kpi .sub{font-size:11px;color:var(--text-muted);margin-top:4px;}
.kpi.verde .valor{color:var(--teal-text);}
.kpi.ambar .valor{color:var(--amber-text);}
.kpi.vermelho .valor{color:var(--red-text);}
.kpi.roxo .valor{color:var(--purple-text);}

/* Barra de progresso */
.progresso{height:6px;background:var(--gray-dim);border-radius:3px;overflow:hidden;margin-top:8px;}
.progresso div{height:100%;background:var(--teal);}

/* Filtros */
/* a barra de filtros alinha tudo pela base: os campos tem rotulo em cima,
   os botoes nao - alinhar pelo centro deixava os botoes flutuando */
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;}
.filtros > span{align-self:center;}
select,input[type=text],input[type=date],input[type=email],input[type=password],input[type=number]{
  background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);
  padding:0 10px;height:34px;border-radius:5px;font-family:var(--font-sans);font-size:13px;}
textarea{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);
  padding:8px 10px;border-radius:5px;font-family:var(--font-sans);font-size:13px;}
select:focus,input:focus,textarea:focus{outline:1px solid var(--teal);}
label.campo{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-secondary);}
label.campo > span,label.campo{line-height:1.4;}

.btn{background:var(--teal);color:#0C1512;border:none;padding:0 16px;height:34px;border-radius:5px;
  font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-sans);
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;}
.btn:hover{text-decoration:none;}
.btn:hover{filter:brightness(1.1);}
.btn.secundario{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);}
.btn.perigo{background:var(--red);color:#1A0D0C;}
.btn.pequeno{padding:0 11px;height:27px;font-size:12px;}

/* Tabelas */
.tabela-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface);}
table{width:100%;border-collapse:collapse;min-width:820px;}
th{background:var(--surface-2);text-align:left;padding:10px 12px;font-size:11px;text-transform:uppercase;
  letter-spacing:.5px;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border);
  white-space:nowrap;}
td{padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;}
tbody tr:last-child td{border-bottom:none;}
tbody tr{border-left:3px solid transparent;}
tbody tr:hover{background:var(--surface-2);}
tr.l-ok{border-left-color:var(--teal);}
tr.l-pendente{border-left-color:var(--red);}
tr.l-andamento{border-left-color:var(--amber);}
tr.l-bloqueado{border-left-color:var(--purple);}
td.tag{font-family:var(--font-mono);font-weight:600;}
td.num{font-family:var(--font-mono);text-align:right;}

.badge{display:inline-block;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:600;
  letter-spacing:.2px;white-space:nowrap;}
.b-ok{background:var(--teal-dim);color:var(--teal-text);}
.b-ambar{background:var(--amber-dim);color:var(--amber-text);}
.b-vermelho{background:var(--red-dim);color:var(--red-text);}
.b-roxo{background:var(--purple-dim);color:var(--purple-text);}
.b-azul{background:var(--blue-dim);color:var(--blue-text);}
.b-cinza{background:var(--gray-dim);color:var(--text-secondary);}

/* Avisos */
.aviso{padding:11px 15px;border-radius:5px;margin-bottom:16px;font-size:13px;}
.aviso.ok{background:var(--teal-dim);color:var(--teal-text);}
.aviso.erro{background:var(--red-dim);color:var(--red-text);}
.aviso.info{background:var(--blue-dim);color:var(--blue-text);}

/* Formularios / cartoes */
.cartao{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:20px;margin-bottom:20px;}
.grade-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.grade-form .largo{grid-column:1/-1;}
textarea{width:100%;min-height:70px;resize:vertical;}

/* Login */
.login-box{max-width:380px;margin:60px auto;}

.rodape{color:var(--text-muted);font-size:12px;text-align:center;padding:30px 20px;}

@media (max-width:760px){
  .conteudo{padding:16px;}
  .topo{padding:12px 16px;}
  .nav{width:100%;margin-left:0;}
  .kpis{grid-template-columns:1fr 1fr;}
  .kpi .valor{font-size:24px;}
}

/* ---- Logo no cabeçalho ---------------------------------------------- */
.topo .logo{height:26px;width:auto;display:block;border-radius:2px;}
.topo .marca-bloco{display:flex;align-items:center;gap:14px;}

/* ---- Cards de ativo (mesmo formato do painel antigo) ----------------- */
/* grid-auto-rows:1fr iguala a altura de todos os cards da mesma fileira -
   sem isso, card sem data (ex: Integrado) fica mais baixo que os vizinhos */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  grid-auto-rows:1fr;gap:8px;margin-bottom:22px;align-items:stretch;}
/* flex-direction:column no proprio .tile para o card funcionar tambem
   sem o <a> dentro (exemplos da pagina de ajuda) */
.tile{border:1px solid var(--border);border-radius:6px;padding:9px 6px;text-align:center;
  background:var(--surface);transition:transform .08s;
  display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:64px;}
.tile:hover{transform:translateY(-1px);border-color:var(--border-strong);}
.tile .tag{font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.3px;display:block;}
.tile .situacao{font-size:10.5px;line-height:1.35;margin-top:3px;color:var(--text-secondary);}
.tile .quando{font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono);}
.tile a{text-decoration:none;display:flex;flex-direction:column;justify-content:center;
  width:100%;gap:1px;}

.tile.t-ok{background:var(--teal-dim);border-color:#1E5C4C;}
.tile.t-ok .tag{color:var(--teal-text);}
.tile.t-ok .situacao{color:var(--teal-text);opacity:.85;}

.tile.t-pendente{background:var(--surface-2);border-color:var(--border);}
.tile.t-pendente .tag{color:var(--text-secondary);}

.tile.t-andamento{background:var(--amber-dim);border-color:#6B5426;}
.tile.t-andamento .tag{color:var(--amber-text);}
.tile.t-andamento .situacao{color:var(--amber-text);opacity:.85;}

.tile.t-bloqueado{background:var(--purple-dim);border-color:#5C3A73;}
.tile.t-bloqueado .tag{color:var(--purple-text);}
.tile.t-bloqueado .situacao{color:var(--purple-text);opacity:.9;}

.tile.t-dispensado{background:var(--teal-dim);border-color:#1E5C4C;opacity:.78;}
.tile.t-dispensado .tag{color:var(--teal-text);}
.tile.t-dispensado .situacao{color:var(--teal-text);opacity:.8;}

.tile.t-fora{background:var(--gray-dim);border-color:var(--border);}
.tile.t-fora .tag{color:var(--text-muted);}

.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--text-muted);margin:-8px 0 18px;}
.legenda span{display:flex;align-items:center;gap:6px;}
.legenda i{width:10px;height:10px;border-radius:2px;display:inline-block;}

@media (max-width:760px){
  .tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;}
  .topo .logo{height:22px;}
}

/* checkbox dentro de label.campo nao deve herdar a altura dos inputs de texto */
label.campo input[type="checkbox"]{height:15px;width:15px;padding:0;accent-color:var(--teal);}
.filtros label.campo{margin-bottom:0;}

/* ---- Índice da página de ajuda --------------------------------------- */
.indice{background:var(--surface);border:1px solid var(--border);border-radius:6px;
  padding:16px 20px;margin-bottom:26px;max-width:820px;}
.indice h2{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);
  margin:0 0 12px;font-weight:600;}
.indice ol{margin:0;padding-left:20px;line-height:1.95;}
.indice ol ul{list-style:none;padding-left:0;margin:2px 0 6px;line-height:1.75;}
.indice ol ul li::before{content:"↳ ";color:var(--text-muted);}
.indice a{color:var(--teal-text);}
.indice ol ul a{color:var(--text-secondary);font-size:13px;}
.indice ol ul a:hover{color:var(--teal-text);}

/* âncora não pode ficar escondida atrás de nada e ganha respiro ao pular */
:target{scroll-margin-top:20px;}
.voltar-indice{display:inline-block;font-size:11.5px;color:var(--text-muted);
  margin:10px 0 0;text-decoration:none;}
.voltar-indice:hover{color:var(--teal-text);}

/* ---- Resumo gerencial e blocos de etapa ------------------------------ */
.resumo-gerencial{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--teal);
  border-radius:6px;padding:13px 18px;margin-bottom:18px;font-size:15px;line-height:1.6;}
.resumo-gerencial strong{font-family:var(--font-mono);font-size:17px;color:var(--amber-text);}

.partes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:24px;}
.parte{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px;}
.parte.urgente{border-color:#6B2F2B;}
.parte-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;}
.parte-nome{font-size:13.5px;font-weight:600;}
.parte-prazo{font-size:11.5px;color:var(--text-muted);margin-top:3px;}
.parte.urgente .parte-prazo{color:var(--red-text);}
.parte-numero{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--teal-text);
  line-height:1;white-space:nowrap;}
.parte-numero span{font-size:15px;color:var(--text-muted);font-weight:400;}
.parte .progresso{height:8px;}
.parte-rodape{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:11.5px;color:var(--text-muted);margin-top:9px;}

@media (max-width:760px){
  .resumo-gerencial{font-size:13.5px;}
  .resumo-gerencial strong{font-size:15px;}
}

/* ---- Abas (tripulados / AMT no painel de implementação) -------------- */
.abas{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;}
.abas a{padding:9px 18px;font-size:13.5px;color:var(--text-secondary);text-decoration:none;
  border-bottom:2px solid transparent;margin-bottom:-1px;}
.abas a:hover{color:var(--text);text-decoration:none;}
.abas a.ativa{color:var(--teal-text);border-bottom-color:var(--teal);font-weight:600;}

/* ---- Link de anexo (checklist) --------------------------------------- */
a.anexo{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;
  color:var(--blue-text);background:var(--blue-dim);padding:2px 8px;border-radius:4px;
  margin-left:4px;text-decoration:none;white-space:nowrap;}
a.anexo::before{content:"↓";font-weight:700;}
a.anexo:hover{filter:brightness(1.15);text-decoration:none;}

/* ---- Galeria de fotos da inspeção ------------------------------------ */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px;}
.galeria figure{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;
  overflow:hidden;}
.galeria img{width:100%;height:150px;object-fit:cover;display:block;background:var(--surface-2);
  transition:opacity .12s;}
.galeria a:hover img{opacity:.85;}
.galeria figcaption{padding:7px 10px;font-size:12px;color:var(--text-secondary);line-height:1.4;}

.galeria-edicao{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:8px;}
.galeria-edicao .foto-item{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;
  padding:8px;display:flex;flex-direction:column;gap:6px;}
.galeria-edicao img{width:100%;height:110px;object-fit:cover;border-radius:4px;display:block;}
.galeria-edicao input[type=text]{width:100%;font-size:12px;height:30px;}
.galeria-edicao .remover{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--red-text);cursor:pointer;}

@media (max-width:760px){
  .galeria{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
  .galeria img{height:120px;}
}

/* ---- Inspeção como relatório (ficha do ativo) ------------------------ */
.inspecao{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);
  border-radius:6px;padding:18px 20px;margin-bottom:16px;}
.inspecao.l-ok{border-left-color:var(--teal);}
.inspecao.l-pendente{border-left-color:var(--red);}
.inspecao.l-andamento{border-left-color:var(--amber);}
.inspecao.l-bloqueado{border-left-color:var(--purple);}

.inspecao-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:14px;}
.inspecao-data{font-family:var(--font-mono);font-size:16px;font-weight:600;margin-right:8px;}

.inspecao-dados{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 14px;padding:0 0 14px;
  border-bottom:1px solid var(--border);}
.inspecao-dados div{margin:0;}
.inspecao-dados dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);
  margin-bottom:2px;}
.inspecao-dados dd{margin:0;font-size:13.5px;}

.inspecao h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);
  font-weight:600;margin:0 0 8px;}
.inspecao h3 span{background:var(--gray-dim);color:var(--text-secondary);border-radius:10px;
  padding:1px 7px;margin-left:4px;font-family:var(--font-mono);}
.inspecao-descricao p{margin:0 0 7px;font-size:13.5px;line-height:1.65;}
.inspecao-descricao ul.topicos{margin:0 0 7px;padding-left:18px;}
ul.topicos{list-style:none;padding-left:16px;}
ul.topicos li{position:relative;font-size:13.5px;line-height:1.65;margin-bottom:3px;}
ul.topicos li::before{content:"";position:absolute;left:-14px;top:.62em;width:5px;height:5px;
  border-radius:50%;background:var(--teal);}
.inspecao-fotos{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);}
.inspecao-fotos .galeria{margin-bottom:0;}

/* dificulta o arrasto/salvar da imagem (não impede print de tela) */
.galeria img{user-select:none;-webkit-user-drag:none;}

@media (max-width:760px){
  .inspecao{padding:14px;}
  .inspecao-dados{gap:14px;}
}

/* data + hora lado a lado; a hora e texto porque o datetime-local nativo
   mostra AM/PM quando o navegador esta em ingles, e isso nao da pra forcar */
.par-datahora{display:flex;gap:6px;align-items:stretch;}
.par-datahora input[type=date]{flex:1 1 auto;min-width:0;}
.par-datahora input.hora24{
  flex:0 0 74px;width:74px;text-align:center;
  font-family:var(--font-mono);letter-spacing:.5px;
}
.par-datahora input.hora24:invalid{border-color:var(--red-text);}

/* passagem de turno: o que ficou em aberto, para ler antes de subir na maquina */
.pendencias{display:flex;flex-direction:column;gap:10px;margin-bottom:8px;}
.pendencia{
  background:var(--surface);border:1px solid var(--border);
  border-left:3px solid var(--amber);border-radius:8px;padding:12px 14px;
}
.pendencia.antiga{border-left-color:var(--red);}
.pendencia header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.pendencia header .tag{
  font-family:var(--font-mono);font-weight:600;font-size:14px;
  color:var(--text);text-decoration:none;
}
.pendencia header .tag:hover{text-decoration:underline;}
.pendencia header .sistema{font-size:12px;color:var(--text-secondary);}
.pendencia header .quando{font-size:12px;color:var(--text-muted);margin-left:auto;}
.pendencia .texto{font-size:13px;color:var(--text-secondary);}
.pendencia .texto p{margin:0 0 4px;}
.pendencia .texto ul.topicos{margin:0;}

/* o bloco de pendencias dentro do relatorio da inspecao, na ficha do ativo */
.inspecao-pendencias{
  margin-top:12px;padding:10px 12px;border-radius:6px;
  background:var(--amber-dim);border:1px solid var(--border);
}
.inspecao-pendencias.resolvida{background:var(--teal-dim);}
.inspecao-pendencias h3{
  font-size:12px;text-transform:uppercase;letter-spacing:.4px;
  color:var(--text-secondary);margin:0 0 6px;
}
.inspecao-pendencias .texto{font-size:13px;}
