:root{
  --grafite:#14171b; --aco:#6b7078; --dial:#ececea; --dial-2:#f6f5f2;
  --ponteiro:#d61313; --latao:#a9855a; --line:#14171b26; --card-bg:#ffffffb0;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--dial-2); color:var(--grafite);
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.55;
}
.wrap{ max-width:760px; margin:0 auto; padding:0 24px; }
a{ color:inherit; }
h1,h2{ font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:600; margin:0; }

.crew-host{ display:flex; align-items:center; gap:16px; margin-top:22px; }
.crew-host img{ width:72px; height:72px; border-radius:50%; object-fit:cover; border:1px solid var(--line); flex:none; background:var(--dial); }
.crew-host .nm{ font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:19px; }
.crew-host .role{ font-family:ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--latao); margin-top:2px; }
.crew-host .frase{ font-size:13px; color:var(--aco); margin-top:6px; max-width:42ch; }
.eyebrow{ font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--aco); }
header.top{ border-bottom:1px solid var(--line); padding:18px 0; margin-bottom:36px; }
header.top .row{ display:flex; align-items:center; justify-content:space-between; }
header.top .brand{ display:flex; align-items:center; gap:10px; font-family:ui-monospace,monospace; font-size:13px; letter-spacing:.1em; }
header.top nav a{ font-size:13px; color:var(--aco); text-decoration:none; margin-left:18px; }
header.top nav a:hover{ color:var(--grafite); }
main{ padding-bottom:60px; }
.card{ border:1px solid var(--line); background:var(--card-bg); padding:28px; margin-top:20px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:12.5px; color:var(--aco); margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); background:#fff;
  font-size:14.5px; font-family:inherit; color:var(--grafite);
}
.field .hint{ font-size:11.5px; color:var(--aco); margin-top:4px; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:560px){ .row2{ grid-template-columns:1fr; } }
.btn{
  display:inline-block; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  padding:12px 22px; border:1px solid var(--grafite); background:var(--grafite); color:#fff;
  cursor:pointer; text-decoration:none; font-family:inherit;
}
.btn.ghost{ background:transparent; color:var(--grafite); }
.alert{ padding:14px 16px; border:1px solid var(--ponteiro); color:var(--ponteiro); font-size:13.5px; margin-bottom:18px; }
.alert.ok{ border-color:#2f5d55; color:#2f5d55; }
.badge{ display:inline-block; font-family:ui-monospace,monospace; font-size:10px; letter-spacing:.08em; padding:3px 8px; border:1px solid var(--line); color:var(--aco); text-transform:uppercase; }
.badge.pendente{ border-color:var(--latao); color:var(--latao); }
.badge.enviado{ border-color:#2f5d55; color:#2f5d55; }
.badge.gerado{ border-color:var(--aco); color:var(--aco); }
.badge.visualizado{ border-color:#2f6a8f; color:#2f6a8f; }
.badge.aprovado{ border-color:#2f5d55; color:#2f5d55; }
.badge.recusado{ border-color:var(--ponteiro); color:var(--ponteiro); }
.badge.expirado{ border-color:var(--aco); color:var(--aco); }
table.list{ width:100%; border-collapse:collapse; margin-top:12px; }
table.list th{ text-align:left; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--aco); padding:8px 6px; border-bottom:1px solid var(--line); }
table.list td{ padding:12px 6px; border-bottom:1px solid var(--line); font-size:14px; }
.empty{ color:var(--aco); font-size:14px; padding:24px 0; }
footer.bottom{ border-top:1px solid var(--line); padding:20px 0; margin-top:40px; }
footer.bottom .wrap{ font-family:ui-monospace,monospace; font-size:10.5px; color:var(--aco); letter-spacing:.06em; }
.wrap.wide{ max-width:1180px; }
.filtros{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.filtros a{ font-size:12px; text-decoration:none; padding:6px 12px; border:1px solid var(--line); color:var(--aco); }
.filtros a.ativo{ border-color:var(--grafite); color:var(--grafite); font-weight:bold; }
table.list td.num{ text-align:right; white-space:nowrap; }
.kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; margin-top:20px; }
.kpi{ border:1px solid var(--line); padding:16px 18px; }
.kpi .n{ font-size:26px; font-weight:bold; font-family:Georgia,serif; }
.kpi .l{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--aco); margin-top:4px; }
