:root{
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  --serif: ui-serif, Georgia, "Times New Roman", Times, serif;
  --ink:#0b1b2b;
  --muted:#5b6670;
  --line: rgba(0,0,0,.14);
  --card: rgba(0,0,0,.02);
  --radius: 16px;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family:var(--sans); color:#111; background:#fff; }
a{ color:inherit; text-decoration:none; }
main{ max-width: 940px; margin: 0 auto; padding: 28px 18px 40px; }
h1{ font-size: 34px; margin: 6px 0 10px; color:var(--ink); font-family:var(--serif); }
h2{ font-size: 24px; margin: 18px 0 8px; color:var(--ink); font-family:var(--serif); }
h3{ font-size: 18px; margin: 14px 0 6px; color:var(--ink); }
p{ line-height:1.72; margin: 10px 0; }
ul,ol{ line-height:1.72; }
.topbar{ position: sticky; top:0; background:#fff; border-bottom:1px solid var(--line); z-index:50; }
.topbar .inner{ max-width: 1100px; margin:0 auto; padding: 12px 14px; display:flex; gap:12px; align-items:center; justify-content:space-between; }
.brand .title{ font-weight:700; font-size:14px; color:var(--ink); }
.brand .sub{ font-size:12px; color:var(--muted); margin-top:2px; }
.navbtns{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.btn, button{
  border:1px solid var(--line);
  background:#fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-family:var(--sans);
  font-size: 12.5px;
  cursor:pointer;
}
button:hover,.btn:hover{ background: rgba(0,0,0,.03); }
select{
  border:1px solid var(--line);
  border-radius: 999px;
  padding: 8px 10px;
  font-size:12.5px;
  background:#fff;
}
.box, .callout, .nota, .regional, .exemplo, .glossario, .questoes, .caso, .checklist, .passos, .tabela{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 14px;
  margin: 16px 0;
  background: var(--card);
}
.boxtitle{ font-weight:700; margin-bottom:8px; color:var(--ink); }
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.muted{ color:var(--muted); }
.sep{ border:none; border-top:1px solid var(--line); margin: 18px 0; }
.pagebreak{ break-before: page; page-break-before: always; }

table{ width:100%; border-collapse: collapse; }
th,td{ border:1px solid var(--line); padding: 8px; text-align:left; vertical-align:top; }
th{ background: rgba(0,0,0,.03); }

@media (max-width: 760px){
  .grid2{ grid-template-columns: 1fr; }
  h1{ font-size: 28px; }
}
@page { size: A4 portrait; margin: 22mm 18mm; }
@media print{
  .noprint{ display:none !important; }
  body{ font-family: var(--serif) !important; font-size: 13.5pt; line-height: 1.85; }
  main{ max-width:none !important; padding:0 !important; }
  h1{ break-before: page; page-break-before: always; margin-top:0; }
  main > h1:first-of-type{ break-before:auto !important; page-break-before:auto !important; }
  .box,.callout,.nota,.regional,.exemplo,.glossario,.questoes,.caso,.checklist,.passos,.tabela{
    background: transparent !important;
    border-color: rgba(0,0,0,.22) !important;
    padding: 10pt 10pt !important;
    margin: 12pt 0 !important;
  }
  th,td{ padding: 7pt !important; }
}
