/* SPDX-License-Identifier: Apache-2.0
 * kernwatch-sbom - free and open-source SBOM generator by Kernwatch (https://kernwatch.com/sbom-generator)
 * Copyright 2026 Strandfors Oy (Kernwatch). Licensed under the Apache License 2.0 - see LICENSE. */
/* kernwatch-sbom web - the browser tool. Uses the homepage's tokens (kernwatch.css :root). */
/* the site's .btn / .note display rules must not override the hidden attribute */
.sg [hidden] { display: none !important; }
.sg { border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg); box-shadow: var(--shadow); padding: 24px; }
.sg-drop { border: 2px dashed var(--line); border-radius: var(--radius); padding: 36px 20px; text-align: center; background: var(--bg-alt); transition: border-color .15s, background .15s; }
.sg-drop.sg-over { border-color: var(--brand); background: var(--brand-soft); }
.sg-drop h2 { font-size: 1.3rem; margin-bottom: .3em; }
.sg-drop p { color: var(--muted); margin-bottom: 1.1em; }
.sg-drop .cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.sg-icon { width: 48px; height: 48px; color: var(--brand); margin-bottom: 8px; }
.sg-privacy { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0 0; font-size: .92rem; color: var(--ink-2); }
.sg-privacy svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--brand); margin-top: 2px; }
.sg-options { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.sg-options summary { cursor: pointer; font-weight: 600; color: var(--ink-2); }
.sg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 18px; margin-top: 12px; }
.sg-grid label { display: block; font-size: .9rem; font-weight: 600; color: var(--ink-2); }
.sg-grid input[type=text], .sg-grid textarea { display: block; width: 100%; margin-top: 4px; font: inherit; font-size: .95rem; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); }
.sg-grid textarea { font-family: var(--mono); font-size: .85rem; min-height: 64px; resize: vertical; }
.sg-grid .sg-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.sg-grid .sg-check input { margin-top: 5px; }
.sg-hint { display: block; font-weight: 400; color: var(--muted); font-size: .85rem; }
.sg-progress { margin-top: 18px; }
.sg-progress progress { width: 100%; height: 10px; accent-color: var(--brand); }
.sg-progress p { margin: 6px 0 0; color: var(--ink-2); font-size: .95rem; }
.sg-error { margin-top: 18px; padding: 12px 14px; border-radius: 8px; background: var(--warn-soft); color: #7a3f06; }
.sg-result { margin-top: 22px; }
.sg-result h2 { font-size: 1.35rem; }
.sg-summary { font-size: 1.05rem; }
.sg-chips { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.sg-chips li { background: var(--brand-soft); color: var(--brand-dark); border-radius: 999px; padding: 3px 12px; font-size: .9rem; font-weight: 600; }
.sg-note { background: var(--warn-soft); border-radius: 8px; padding: 10px 14px; font-size: .95rem; }
.sg-downloads { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 16px 0; }
.sg-warnings { margin: 0 0 16px; }
.sg-warnings summary { cursor: pointer; font-weight: 600; }
.sg-warnings ul { margin: 8px 0 0; padding-left: 20px; font-size: .9rem; color: var(--ink-2); }
.sg-warnings li { overflow-wrap: anywhere; }
.sg-filter { width: 100%; max-width: 360px; font: inherit; font-size: .95rem; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 10px; }
.sg-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
.sg-table table { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 0; }
.sg-table th, .sg-table td { text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.sg-table th { background: var(--bg-alt); font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.sg-table tr:last-child td { border-bottom: 0; }
.sg-c-name { font-weight: 600; overflow-wrap: anywhere; }
.sg-c-range { color: #8a4b0c; font-style: italic; }
.sg-c-src { color: var(--muted); font-family: var(--mono); font-size: .82rem; overflow-wrap: anywhere; }
.sg-dev td { opacity: .65; }
.sg-more { margin-top: 10px; }
.sg-next { margin-top: 18px; }
.sg-after { margin-top: 12px; }
.sg-noscript { margin-top: 12px; }
.sg:not(.sg-ready) .sg-drop .cta-row { opacity: .5; pointer-events: none; }
.sg-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 18px 0; }
.sg-dl .card { padding: 16px 18px; }
.sg-dl h3 { margin-bottom: .2em; }
.sg-dl ul { list-style: none; padding: 0; margin: 8px 0 0; }
.sg-dl li { margin: 6px 0; }
.sg-dl .sg-sum { display: block; font-family: var(--mono); font-size: .72rem; color: var(--muted); overflow-wrap: anywhere; }
.sg-code { background: var(--ink); color: #e6edf5; border-radius: 8px; padding: 14px 16px; overflow-x: auto; font: .85rem/1.55 var(--mono); margin: 0 0 1em; }
.sg-code code { background: none; padding: 0; color: inherit; }
.sg-eco { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 0; }
.sg-eco th, .sg-eco td { text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.sg-eco td:nth-child(2) { font-family: var(--mono); font-size: .82rem; overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .sg { padding: 16px; }
  .sg-drop { padding: 24px 12px; }
  .sg-table th:nth-child(3), .sg-table td:nth-child(3), .sg-table th:nth-child(4), .sg-table td:nth-child(4) { display: none; }
  .sg-table td:nth-child(2) { overflow-wrap: anywhere; }
}
