/*!
 * sbomify Base Styles
 * Reset, typography, and base element styles
 */
*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:.5rem;line-height:1.2}p,label,th,td{color:var(--text-primary)}.page-title{color:var(--color-text);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xl);letter-spacing:-.025em;line-height:1.2}.item-title .fas{width:auto;height:auto;font-size:2.5rem}a{color:var(--color-primary);transition:color var(--transition-normal);text-decoration:none}a:hover:not([data-button]){color:var(--color-primary-dark);text-decoration:underline}.icon-link{text-decoration:none!important}.version-link{text-decoration:none;color:var(--brand-primary)!important}.version-link:hover{text-decoration:underline}code{font-family:var(--font-family-mono);font-size:var(--font-size-lg);color:var(--color-text);background-color:var(--color-gray-100);border-radius:var(--radius-sm);padding:.125rem .25rem}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,.nav-link:focus-visible,.sidebar-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.btn,.card,.form-control,.form-select{border-width:2px}}@media print{.sidebar,.navbar,.btn,.card-header[data-bs-toggle=collapse],.messages-container{display:none!important}.card{box-shadow:none!important;border:1px solid #000!important}body{color:#000!important;background:#fff!important}}.navbar-badge-custom{min-width:1.35rem;font-size:.65rem}.invitation-card{background:var(--color-surface);transition:all .2s}.invitation-card:hover{background:var(--color-surface-elevated);box-shadow:0 2px 8px #00000014}.invitation-info h5{color:var(--color-text);font-weight:600}.invitation-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}