
:root{
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --serif: ui-serif, Georgia, "Times New Roman", Times, serif;
  --blue:#0a2a5e;
  --gold:#c79a2d;
  --muted:#555;
  --line:#e6e6e6;
}
html,body{margin:0;padding:0;font-family:var(--sans);color:#111;background:#fff}
main{max-width:980px;margin:0 auto;padding:28px}
h1,h2,h3{font-family:var(--serif);margin:0 0 10px}
h1{font-size:34px}
h2{font-size:26px;margin-top:26px}
h3{font-size:18px;margin-top:18px}
p{line-height:1.7;margin:10px 0}
a{color:var(--blue)}
.topbar{
  position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);
  z-index:10
}
.topbar .inner{max-width:980px;margin:0 auto;padding:10px 28px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.brand .title{font-weight:800;color:var(--blue)}
.brand .sub{font-size:13px;color:var(--muted)}
.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{
  border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;
  cursor:pointer;font-weight:600
}
.btn:hover{border-color:#cfcfcf}
select{border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.card{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0;background:#fafafa}
.callout{border-left:5px solid var(--gold);padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:14px 0}
.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi .box{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.kpi .box .t{font-size:12px;color:var(--muted)}
.kpi .box .v{font-size:16px;font-weight:800}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--line);padding:10px;vertical-align:top}
.table th{background:#f3f5f7;text-align:left}
hr.sep{border:none;border-top:1px solid var(--line);margin:22px 0}
.pagebreak{break-before:page}
.cover{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:92vh;gap:18px
}
.cover img{width:100%;max-width:560px;height:auto;border:1px solid var(--line);border-radius:14px}
.muted{color:var(--muted);font-size:12px}
@page{size:A4;margin:22mm}
@media print{
  .no-print,.topbar{display:none !important}
  body{font-family:var(--serif);font-size:13.5pt;line-height:1.8}
  main{max-width:none;padding:0}
  .card,.callout{break-inside:avoid}
  h1{font-size:30pt}
  h2{font-size:20pt}
  h3{font-size:15pt}
}
