   :root{
    --text:#0b0f12;
    --muted:#5b6770;
    --line:#d9dfe4;
    --accent:#7a1026;
    --paper:#ffffff;
    --bg:#f6f7f9;
  }
  html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.6 "Inter", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;}
  .wrap{max-width:900px;margin:48px auto;padding:0 20px;}
  .paper{
    background:var(--paper); box-shadow:0 10px 30px rgba(0,0,0,.08);
    border:1px solid var(--line); border-radius:16px; overflow:hidden;
  }
  header{
    padding:28px 28px 16px; border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fff, #fff7f8 60%);
  }
  .toptitle{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .badge{
    width:44px;height:44px;border-radius:10px;background:var(--accent);
    display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.5px;
    box-shadow:0 6px 18px rgba(122,16,38,.35);
  }
  h1{font-size:1.35rem;margin:0;color:#3a0d17;letter-spacing:.2px}
  .meta{margin-top:10px;color:var(--muted);font-size:.95rem;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;}
  .meta b{color:#2c3a43}
  main{padding:26px 28px 34px}
  section+section{margin-top:22px;border-top:1px dashed var(--line);padding-top:22px}

  /* Roman & companions */
  ol.roman{list-style-type: upper-roman; padding-left: 1.4rem; margin:0}
  ol.alpha{list-style-type: upper-alpha; padding-left: 1.2rem}
  ol.dec{list-style-type: decimal; padding-left: 1.2rem}
  ul.dash{list-style: none; padding-left:1.1rem; margin: .25rem 0; position:relative}
  ul.dash li{margin:.25rem 0 .25rem}
  ul.dash li::before{content:"– ";margin-left:-1.1rem;position:absolute}

  h2{font-size:1.05rem;margin:.2rem 0 .6rem 0;color:#4a101c}
  h3{font-size:1rem;margin:.2rem 0 .4rem 0;color:#5b1422}
  p{margin:.25rem 0 .75rem}

  .callout{
    border:1px solid var(--line); background:#fff9fa; padding:14px 16px; border-radius:10px;
  }
  .small{font-size:.95rem;color:#2a3742}
  .muted{color:var(--muted)}
  .mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}

  .toc{padding:14px 16px;background:#fffafb;border:1px solid var(--line);border-radius:10px;margin:12px 0 18px}
  .toc h3{margin:0 0 8px 0}
  .toc ol{margin:0}
  .toc a{color:#4a101c;text-decoration:none;border-bottom:1px dotted rgba(74,16,28,.4)}
  .toc a:hover{border-bottom-color:transparent}

  .stamp{float:right;font-size:.85rem;color:#6a7a86}
  .label{font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; color:#6a7a86}

  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:10px}
  .kpis .card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
  .kpis .card b{display:block;font-size:.95rem;margin-bottom:4px;color:#3a0d17}

  .riskgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
  .risk{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
  .risk h4{margin:.1rem 0 .35rem;font-size:.98rem;color:#5b1422}

  .table{
    width:100%; border-collapse:collapse; margin:.5rem 0 1rem; font-size:.95rem
  }
  .table th,.table td{border:1px solid var(--line); padding:10px 12px; vertical-align:top}
  .table th{background:#fff3f5;text-align:left}

  @media print{
    .wrap{margin:0;max-width:none}
    header{border-bottom:0;box-shadow:none}
    .paper{box-shadow:none;border:0;border-radius:0}
    .pagebreak{break-before: page;}
    a{text-decoration: none;color:inherit}
  }