/* Practical reading tools, consistent with the existing editorial design. */
.table-scroll { overflow-x:auto; max-width:100%; margin:1.5rem 0; }
.table-scroll table { width:100%; border-collapse:collapse; min-width:540px; }
.table-scroll th,.table-scroll td { text-align:left; vertical-align:top; padding:12px; border-bottom:1px solid #cbd5e1; }
.table-scroll th { background:#edf5f8; color:#14394b; }
.table-scroll caption { text-align:left; font-weight:700; padding:0 0 12px; }
.field-tool,.editorial-note { padding:24px; margin:28px 0; border:1px solid #bed4df; border-radius:12px; background:#f3f8fa; color:#17384a; }
.article-body .field-tool p,.static-content .field-tool p,.article-body .editorial-note p,
.article-body .field-tool h3,.static-content .field-tool h2,.field-tool label { color:#17384a; }
.article-body .field-tool a,.article-body .editorial-note a { color:#075779; text-decoration:underline; }
.tool-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0; }
.tool-fields label { display:flex; flex-direction:column; gap:8px; font-weight:600; min-width:0; }
.tool-fields input,.tool-fields textarea { width:100%; box-sizing:border-box; padding:12px; font:inherit; color:#17384a; border:1px solid #819daa; border-radius:6px; background:white; }
.tool-fields textarea { resize:vertical; }
.field-tool button { cursor:pointer; min-height:44px; padding:12px 20px; }
.site-header .nav-toggle { color:#17384a; }
.field-tool :focus-visible { outline:3px solid #087a9b; outline-offset:3px; }
.tool-limit,.correction-link { font-size:.93rem; line-height:1.6; }
.article-body h2,.article-body h3 { scroll-margin-top:100px; }
.field-tool [role="status"] { min-height:3em; margin-top:18px; font-weight:600; }
.journal-print-entry { margin-bottom:16px; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:600px) { .tool-fields { grid-template-columns:1fr; } .field-tool,.editorial-note { padding:16px; } }
@media print {
 body.print-journal * { visibility:hidden; }
 body.print-journal [data-journal-print],body.print-journal [data-journal-print] * { visibility:visible; }
 body.print-journal [data-journal-print] { position:absolute; left:0; top:0; display:block !important; width:100%; padding:12mm; background:white; color:black; }
 body.print-journal .site-header,body.print-journal .site-footer { display:none; }
}
