/* Portal do cliente — folha única, sem dependência externa (a CSP proíbe). */
:root{
  --bg:#fdf9f3; --surf:#fff; --bdr:#e6e4dd; --txt:#1c1b19; --txt2:#4a4842;
  --txt3:#8a8880; --acc:#2563eb; --amb:#b45309; --red:#dc2626; --ok:#16a34a;
  --r:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}

/* Cabeçalho */
.pt-hd{background:#12203a;color:#fff;position:sticky;top:0;z-index:20}
.pt-hd-in{max-width:1120px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px}
.pt-logo{font-weight:800;font-size:17px;letter-spacing:.2px}
.pt-user{margin-left:auto;display:flex;align-items:center;gap:9px;cursor:pointer;position:relative;
  padding:5px 8px;border-radius:22px}
.pt-user:hover{background:rgba(255,255,255,.10)}
.pt-ini{width:30px;height:30px;border-radius:50%;background:#2b4a7d;display:flex;align-items:center;
  justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:.4px}
.pt-nome{font-size:13px}
.pt-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surf);border:1px solid var(--bdr);
  border-radius:9px;box-shadow:0 8px 26px rgba(0,0,0,.16);min-width:150px;overflow:hidden}
.pt-sair{display:block;padding:11px 14px;color:var(--txt);text-decoration:none;font-size:13px}
.pt-sair:hover{background:var(--bdr)}

.pt-main{max-width:1120px;margin:0 auto;padding:26px 18px 70px}

/* Blocos */
.pt-card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--r);padding:18px;margin-bottom:20px}
.pt-topo{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.pt-topo h1{font-size:20px;margin:0}
.pt-voltar{color:var(--txt3);text-decoration:none;font-size:12.5px}
.pt-voltar:hover{color:var(--txt)}
.pt-atualizado{font-size:11.5px;color:var(--txt3)}
.pt-intro{font-size:12.5px;color:var(--txt2);margin:0 0 18px}
.pt-vazio{color:var(--txt3);font-size:13px;text-align:center;padding:22px 0}
.pt-dica{font-size:11.5px;color:var(--txt3)}
.pt-msg{font-size:13px;color:var(--txt2)}
.pt-erro{font-size:13px;color:var(--red);background:#fee2e2;border:1px solid #fecaca;
  border-radius:8px;padding:9px 12px}
.pt-link{color:var(--acc)}

/* Entrada */
.pt-auth{max-width:400px;margin:52px auto}
.pt-auth h1{font-size:19px;margin:0 0 14px}
.pt-auth label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.4px;color:var(--txt3);margin:14px 0 5px}
.pt-auth input{width:100%;border:1px solid var(--bdr);border-radius:8px;padding:10px 12px;
  font-size:14px;background:var(--surf);color:var(--txt);font-family:inherit}
.pt-auth input:focus{outline:none;border-color:var(--acc)}
button{background:var(--acc);color:#fff;border:none;border-radius:8px;padding:10px 18px;
  font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:16px}
button:hover{filter:brightness(1.08)}
button:disabled{opacity:.55;cursor:default}

/* Lista */
.pt-lista h1{font-size:18px;margin:0 0 14px}
.pt-item{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border:1px solid var(--bdr);
  border-radius:9px;margin-bottom:9px;text-decoration:none;color:var(--txt)}
.pt-item:hover{border-color:var(--acc);background:var(--bg)}
.pt-item-nome{font-weight:700;font-size:14px}
.pt-item-meta{font-size:11.5px;color:var(--txt3)}

/* Tabela */
.pt-tab{width:100%;border-collapse:collapse}
.pt-tab th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--txt3);padding:0 10px 9px;font-weight:700}
.pt-tab td{padding:11px 10px;border-top:1px solid var(--bdr);vertical-align:top;font-size:13px}
.c-data{width:190px;white-space:nowrap}
.c-hora{width:74px;text-align:center;font-variant-numeric:tabular-nums}
.c-acao{width:96px;text-align:right}
.pt-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle}
.pt-dow{color:var(--txt3);font-size:11px}
.pt-fds{color:var(--acc);font-weight:700;font-size:11px}
.pt-obs{font-size:11px;color:var(--acc);margin-top:3px}
.pt-btn-sug{background:none;color:var(--acc);border:1px solid var(--bdr);border-radius:20px;
  padding:4px 12px;font-size:11.5px;font-weight:700;margin:0}
.pt-btn-sug:hover{background:var(--acc);color:#fff;border-color:var(--acc);filter:none}

/* Thread de sugestões/comentários na linha */
.pt-thread{margin-top:8px}
.pt-thread:empty{margin:0}
.pt-bolha{border:1px solid var(--bdr);border-radius:8px;padding:8px 11px;margin-top:7px;background:var(--bg)}
.pt-bolha-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pt-bolha-val{font-weight:700;color:var(--amb);font-size:12px}
.pt-bolha-txt{font-size:12.5px;margin-top:3px}
.pt-bolha-meta{font-size:10.5px;color:var(--txt3);margin-top:3px}
.pt-remover{background:none;color:var(--txt3);border:none;padding:2px 6px;font-size:12px;margin:0;
  margin-left:auto;cursor:pointer}
.pt-remover:hover{color:var(--red);filter:none}

/* Formulário de sugestão */
.pt-form-sug{border:1px solid var(--acc);border-radius:9px;padding:11px;margin-top:9px;background:var(--surf)}
.pt-form-sug .linha{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pt-form-sug input[type=date],.pt-form-sug input[type=time]{border:1px solid var(--bdr);border-radius:7px;
  padding:6px 8px;font-size:12.5px;font-family:inherit;background:var(--surf);color:var(--txt)}
.pt-form-sug textarea,#pt-form-geral textarea{width:100%;border:1px solid var(--bdr);border-radius:8px;
  padding:9px 11px;font-size:13px;font-family:inherit;background:var(--surf);color:var(--txt);
  margin-top:8px;resize:vertical}
.pt-form-sug textarea:focus,#pt-form-geral textarea:focus{outline:none;border-color:var(--acc)}
.pt-form-sug button{margin-top:9px;padding:7px 14px;font-size:12.5px}
.pt-form-sug .cancelar{background:none;color:var(--txt3);border:1px solid var(--bdr);margin-left:7px}
.pt-obrig{font-size:11px;color:var(--txt3);margin-top:6px}

/* Aviso flutuante */
.pt-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#12203a;color:#fff;
  padding:11px 20px;border-radius:24px;font-size:13px;box-shadow:0 6px 22px rgba(0,0,0,.25);z-index:60}

.pt-geral h2{font-size:15px;margin:0 0 4px}

@media (max-width:700px){
  .c-data{width:auto}
  .pt-tab th,.pt-tab td{padding:9px 6px;font-size:12.5px}
  .pt-nome{display:none}
}
