.topbar { position: relative; top: auto; }
.tool-shell { width: min(1120px, calc(100% - 40px)); margin: auto; padding: 80px 0; }
.tool-shell h1 { max-width: 900px; font-size: clamp(36px, 5vw, 60px); }
.tool-shell h2 { font-family: inherit; font-size: 24px; letter-spacing: 0; }
.tool-shell a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.tool-panel { margin-top: 36px; padding: 28px; background: white; border: 1px solid var(--line); border-radius: 18px; }
.file-label { display: block; font-weight: 700; margin: 24px 0 10px; }
#image-files, #spreadsheet-file { display: block; max-width: 100%; padding: 10px 0; font: inherit; }
#image-files::file-selector-button, #spreadsheet-file::file-selector-button { padding: 12px 18px; margin-right: 12px; background: var(--lime); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font: inherit; }
#check-status, #sheet-status, #sheet-facts { color: var(--muted); overflow-wrap: anywhere; }
.tool-result-warning { color: #805d0a; font-weight: 700; }
.tool-table-wrap { max-width: 100%; overflow-x: auto; margin-block: 24px; }
.tool-table { min-width: 680px; width: 100%; border-collapse: collapse; }
.tool-table th, .tool-table td { text-align: left; vertical-align: top; padding: 14px 10px; border-bottom: 1px solid var(--line); white-space: normal; }
.tool-table th { font-size: 13px; background: #eef0eb; }
.tool-table td:first-child { max-width: 220px; overflow-wrap: anywhere; }
.tool-table td:last-child { min-width: 240px; }
.tool-table ul { padding-left: 18px; margin: 8px 0 0; }
.tool-result-ok { color: #12614c; font-weight: 700; }
.tool-result-issue { color: #994211; font-weight: 700; }
.tool-actions { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.tool-offer { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 20px; }
.tool-notes { max-width: 850px; margin-top: 42px; }
.tool-notes p { color: var(--muted); }
@media(max-width: 600px) {
  .tool-panel { padding: 18px; }
  .tool-shell { padding-top: 45px; }
  .tool-actions .button { width: 100%; }
  .tool-table { display: block; min-width: 0; }
  .tool-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .tool-table tbody { display: block; }
  .tool-table tr { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
  .tool-table td { display: block; min-width: 0; padding: 10px; overflow-wrap: anywhere; }
  .tool-table td::before { content: attr(data-label); display: block; color: var(--muted); font-size: 12px; margin-bottom: 5px; }
  .tool-table td:first-child, .tool-table td:last-child { grid-column: 1 / -1; min-width: 0; max-width: none; }
  .tool-table td:last-child { border-bottom: 0; }
}
