.offline-notice { margin: 12px 15px 20px; padding: 12px 16px; border: 1px solid #d4d7dc; background: #f5f6f8; color: #4d5360; font: 14px/1.5 Arial, sans-serif; }
.local-tool { padding: 24px; color: #252934; font: 15px/1.5 Arial, sans-serif; }
.local-tool h1 { margin: 0 0 20px; font: 600 28px/1.3 Arial, sans-serif; }
.local-tool h2 { margin: 20px 0 12px; font: 600 20px/1.3 Arial, sans-serif; }
.local-tool .offline-notice { margin: 0 0 20px; }
.tool-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; max-width: 900px; }
.tool-form label { display: flex; flex-direction: column; gap: 6px; font: 600 14px/1.5 Arial, sans-serif; }
.tool-form input, .tool-form select, .tool-search { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid #aeb6c3; border-radius: 3px; background: #fff; color: #252934; font: 15px Arial, sans-serif; }
.tool-results { margin: 22px 0; padding: 20px; border: 1px solid #ccd6d1; background: #edf7f2; max-width: 900px; }
.tool-results p { margin: 6px 0; font: 16px/1.5 Arial, sans-serif; }
.tool-results strong { position: static; font-family: inherit; }
.tool-results[data-error=true] { background: #fff5ed; border-color: #debfa6; }
.tool-info { margin-top: 24px; border-top: 1px solid #ddd; padding-top: 14px; }
.tool-info summary { cursor: pointer; font-weight: 600; }
.tool-info p { font-size: 15px; line-height: 1.6; }
.tool-table-wrap { width: 100%; overflow-x: auto; margin-top: 16px; }
.tool-table { width: 100%; border-collapse: collapse; font: 14px/1.5 Arial, sans-serif; }
.tool-table th, .tool-table td { padding: 12px 15px; border-bottom: 1px solid #dfe3e7; text-align: left; vertical-align: top; font-family: inherit; }
.tool-table th { color: #fff; background: #252a3a; white-space: nowrap; }
.tool-table tbody tr:nth-child(even) { background: #f4f5f7; }
.tool-table .number { text-align: right; font-variant-numeric: tabular-nums; }
.tool-search { max-width: 400px; margin: 10px 0; }
.session-open { color: #116443; font-weight: 700; }
.session-closed { color: #656b75; }
.content img, .single-publication img { max-width: 100%; height: auto; }
.publication-item a[href] { cursor: pointer; }
body { overflow-x: hidden; }
@media (max-width: 600px) { .tool-form { grid-template-columns: 1fr; } .local-tool { padding: 16px; } .tool-table th, .tool-table td { padding: 9px; } }
