.supplier-tool {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.supplier-tool .panel {
    min-width: 0;
}
.sq-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}
.sq-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 0.8rem;
    margin: 1rem 0;
}
.supplier-tool label {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}
.supplier-tool input,
.supplier-tool select,
.supplier-tool textarea {
    font: inherit;
    font-size: 1rem;
    min-height: 44px;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}
.supplier-tool input[type="checkbox"] {
    width: 44px;
    height: 44px;
}
.supplier-tool textarea {
    min-height: 90px;
    resize: vertical;
}
.supplier-tool summary {
    min-height: 44px;
    padding: 0.7rem 0;
    cursor: pointer;
    overflow-wrap: anywhere;
}
.sq-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 1rem;
    margin: 0.7rem 0;
    overflow-wrap: anywhere;
    min-width: 0;
}
.sq-card h3,
.sq-card h4 {
    margin: 0.3rem 0;
}
.sq-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    gap: 0.75rem;
}
.sq-stat {
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 10px;
}
.sq-stat strong {
    display: block;
    font-size: 1.4rem;
}
.sq-scroll {
    overflow-x: auto;
    max-width: 100%;
}
.sq-preview {
    max-height: 360px;
    overflow: auto;
}
.sq-charts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 1rem;
}
.sq-charts canvas {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.sq-alert {
    border-inline-start: 4px solid var(--brand);
    padding-inline-start: 0.6rem;
}
.sq-print {
    display: none;
}
.sq-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 0.6rem;
}
.sq-details dt {
    font-weight: 600;
}
.sq-details dd {
    margin: 0;
}
.supplier-tool button:focus-visible,
.supplier-tool summary:focus-visible {
    outline: 3px solid var(--brand);
    outline-offset: 3px;
}
.sq-matrix {
    display: none;
}
@media (min-width: 900px) {
    .sq-matrix {
        display: block;
    }
}
@media print {
    @page {
        size: A4 landscape;
        margin: 12mm;
    }
    .site-header,
    .site-footer,
    .guide,
    .page-head,
    .ad-slot,
    .supplier-tool > section,
    .supplier-tool > noscript {
        display: none !important;
    }
    .supplier-tool,
    .sq-print {
        display: block !important;
        width: 100%;
        max-width: none;
    }
    .sq-print .sq-scroll {
        overflow: visible;
    }
    .sq-print table {
        width: 100%;
        font-size: 9pt;
        table-layout: fixed;
    }
    .sq-print td,
    .sq-print th {
        overflow-wrap: anywhere;
    }
    .sq-print thead {
        display: table-header-group;
    }
    .sq-print tr {
        break-inside: avoid;
    }
    .sq-print h2,
    .sq-print h3 {
        break-after: avoid;
    }
}
