.buyer-tool { padding: 24px; border: 1px solid #e5e7eb; border-radius: 18px; margin-block: 24px; }
.buyer-tool label { display: grid; gap: 8px; font-size: 16px; line-height: 1.8; min-width: 0; margin-block: 12px; }
.buyer-tool input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 48px; border: 1px solid #64748b; border-radius: 8px; padding: 10px; font: inherit; color: #111827; background: #fff; }
.buyer-tool input:not([type=file]) { direction: ltr; text-align: right; }
.buyer-tool input[type=file] { white-space: normal; font-size: 14px; }
.buyer-tool button { min-height: 48px; border: 1px solid #2563eb; border-radius: 8px; padding: 10px 16px; margin-block: 8px; font: inherit; color: #fff; background: #1d4ed8; cursor: pointer; }
.buyer-tool button:disabled { opacity: .6; cursor: default; }
.buyer-tool :is(input,button,a):focus-visible { outline: 3px solid #111827; outline-offset: 3px; }
.buyer-tool fieldset { min-width: 0; margin: 16px 0; padding: 16px; border: 1px solid #e5e7eb; border-radius: 12px; }
.buyer-tool legend { padding-inline: 8px; font-weight: 600; }
.tool-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; }
.buyer-tool .tool-result { color: #111827; padding: 16px; border: 1px solid #e5e7eb; border-radius: 8px; overflow-wrap: anywhere; }
.buyer-tool img { max-width: 100%; max-height: 360px; height: auto; object-fit: contain; margin-block: 16px; }
.buyer-tool [hidden] { display: none; }
@media (max-width: 640px) { .buyer-tool { padding: 16px; } .tool-fields { grid-template-columns: 1fr; } .buyer-tool fieldset { padding: 12px; } }
