.di-page{margin:0;background:#f5f8f7;color:#173a32;font:1rem/1.55 system-ui,sans-serif}.di-page main{max-width:1100px;margin:auto;padding:1.5rem}.di-page article{background:white;border:1px solid #c4d9d1;border-radius:12px;padding:clamp(1rem,3vw,2rem)}.di-page a{color:#086649}.di-page h1{line-height:1.2;font-size:clamp(1.65rem,4vw,2.3rem)}.di-page section{margin-block:1.5rem}.di-page h2{line-height:1.3}.di-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.di-field{display:flex;flex-direction:column;min-width:0}.di-field label{font-weight:650}.di-field .di-hint{margin:.2rem 0 .65rem}.di-field input{margin-top:auto}.di-page input,.di-page button,.di-page select{font:inherit;border:1px solid #67867b;border-radius:5px;padding:.65rem;box-sizing:border-box;min-height:44px;max-width:100%}.di-page input{width:100%;background:#fff;color:#173a32}.di-page button{background:#0f6e56;color:#fff;cursor:pointer}.di-page button:disabled{opacity:.65;cursor:default}.di-page fieldset{min-width:0;border:1px solid #afc9be;border-radius:8px;padding:1rem}.di-page legend{font-weight:700}.di-page :focus-visible{outline:3px solid #744400;outline-offset:3px}.di-hint{color:#415d53;font-size:.925rem}.di-error{color:#9e211a}.di-page [aria-invalid=true]{border:2px solid #9e211a}.di-page [hidden]{display:none!important}.di-page form button{margin-top:1rem}.di-intro{font-size:1.1rem}.di-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.di-card{border:1px solid #b8d3c7;padding:1rem;border-radius:8px}.di-card h3{margin-top:0}.di-metrics{margin:0}.di-metrics div{padding:.5rem 0;border-bottom:1px solid #e4ede8}.di-metrics dt{font-size:.93rem}.di-metrics dd{font-weight:700;margin:0;overflow-wrap:anywhere}.di-warning{padding:.8rem;background:#fff5dc;border-left:4px solid #8e5d00}.di-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.di-table-scroll{overflow:auto;max-width:100%;margin:1rem 0}.di-page table{border-collapse:collapse;width:100%;font-size:.9rem}.di-page th,.di-page td{border:1px solid #c4d9d1;text-align:left;padding:.6rem;vertical-align:top}.di-page caption{text-align:left;font-weight:700;margin-bottom:.5rem}.di-page code{overflow-wrap:anywhere;white-space:normal}.di-page .site-footer{max-width:1100px;margin:auto;padding:1.5rem}.di-print{display:none}@media(max-width:650px){.di-fields,.di-cards{grid-template-columns:1fr}.di-page main{padding:.6rem}.di-page .site-header{flex-wrap:wrap;gap:.75rem}.di-page .site-header nav{flex-wrap:wrap}.di-page input{font-size:1rem}}@media print{@page{margin:14mm}.di-page{color:#000;background:white;font:10pt/1.4 sans-serif}.di-page .site-header,.di-page .site-footer,.di-page .skip-link,.di-page form,.di-page .di-actions,.di-page #di-boot{display:none!important}.di-page main,.di-page article{max-width:none;border:0;padding:0}.di-page .di-print{display:block}.di-page .di-table-scroll{overflow:visible}.di-page th,.di-page td{padding:3px;font-size:8pt}.di-page thead{display:table-header-group}.di-page tr{break-inside:avoid}.di-page .di-cards{grid-template-columns:1fr 1fr}.di-page a{color:#000}.di-page section{break-inside:auto}}

/* Match the site navigation while keeping the comparison and study body scoped. */
.di-page .site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:#0f6e56;color:#fff}
.di-page .site-header a{color:#fff}
.di-page .site-header .logo{font-size:1.125rem;font-weight:750;text-decoration:none}
.di-page .site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.di-page .site-header .lang-switch{border:1px solid #a2d4c7;border-radius:5px}
.di-page .skip-link{position:absolute;left:8px;z-index:999;padding:12px;background:#fff;color:#075443}
@media(max-width:650px){.di-page .site-header{padding:14px}.di-page .site-header nav{gap:12px;font-size:.94rem}}

/* Keep inputs aligned when one translated hint or validation error is longer. */
@supports (grid-template-rows:subgrid) {
  .di-fields { row-gap:.4rem; align-items:stretch; }
  .di-field { display:grid; grid-row:span 4; grid-template-rows:subgrid; }
  .di-field > label { grid-row:1; }
  .di-field > .di-hint { grid-row:2; }
  .di-field > input, .di-field > select { grid-row:3; margin-top:0; align-self:start; }
  .di-field > .di-error { grid-row:4; margin-top:0; }
}
@supports not (grid-template-rows:subgrid) {
  .di-fields { grid-template-columns:minmax(0,1fr); }
}
