// file: crates/ksp-app-solprices-desk/frontend/sass/_app.scss // version: 4 $app-header-height: 72px; $app-footer-height: 42px; $app-sidebar-width: 250px; html, body { width: 100%; height: 100%; } body { margin: 0; overflow: hidden; background: $gray-100; } .app-header { position: fixed; inset: 0 0 auto; height: $app-header-height; z-index: 1020; border-bottom: 2px solid rgba($primary, 0.3); } .app-footer { position: fixed; inset: auto 0 0; height: $app-footer-height; z-index: 1020; border-top: 2px solid rgba($primary, 0.3); } .app-main { position: relative; height: calc(100vh - $app-header-height - $app-footer-height); margin-top: $app-header-height; margin-bottom: $app-footer-height; overflow: hidden; } .app-main > .row { flex-wrap: nowrap; min-width: 0; } .app-logo { display: block; width: auto; height: 42px; } .app-scrollable { height: 100%; max-height: 100%; } .app-shell-card { max-width: 1320px; } .app-runtime-list dd, .app-market-code, .app-market-price, .app-market-time-exact { font-family: var(--bs-font-monospace); } .app-sidebar { width: $app-sidebar-width; min-width: $app-sidebar-width; max-width: $app-sidebar-width; } .app-sidebar-scroll, .app-content { height: 100%; max-height: 100%; } .app-content { min-width: 0; } .app-sidebar .nav-link { white-space: nowrap; } .app-placeholder { min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 2rem; border: 1px dashed var(--bs-border-color); border-radius: var(--bs-border-radius-lg); color: var(--bs-secondary-color); background: var(--bs-body-bg); text-align: center; } .app-placeholder i { font-size: 2.5rem; } .app-market-toolbar { justify-content: flex-end; } .app-market-summary-card { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.65rem 0.8rem; border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); background: var(--bs-tertiary-bg); } .app-market-summary-card strong { min-width: 2ch; font-size: 1.15rem; text-align: right; } .app-market-summary-label { color: var(--bs-secondary-color); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.03em; } .app-market-table-container { max-height: min(62vh, 720px); border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); } .app-market-table { min-width: 1080px; } .app-market-table thead th { position: sticky; top: 0; z-index: 2; background: var(--bs-tertiary-bg); box-shadow: inset 0 -1px 0 var(--bs-border-color); white-space: nowrap; } .app-market-table tbody tr[data-availability="ready"] { --bs-table-accent-bg: rgba($success, 0.025); } .app-market-table tbody tr[data-availability="cooling_down"], .app-market-table tbody tr[data-availability="temporarily_unavailable"] { --bs-table-accent-bg: rgba($warning, 0.04); } .app-market-table tbody tr[data-availability="authentication_unavailable"], .app-market-table tbody tr[data-availability="misconfigured"] { --bs-table-accent-bg: rgba($danger, 0.035); } .app-market-selection-column { width: 42px; text-align: center; } .app-market-time-column { min-width: 220px; } .app-market-provider-name, .app-market-price { font-weight: 600; } .app-market-code, .app-market-time-exact { color: var(--bs-secondary-color); font-size: 0.75rem; } .app-market-price { font-variant-numeric: tabular-nums; white-space: nowrap; } .app-market-time { display: grid; gap: 0.25rem; } .app-market-time-line { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem; align-items: baseline; } .app-market-time-label { color: var(--bs-secondary-color); font-size: 0.72rem; font-weight: 600; text-transform: uppercase; } .app-market-time-value { min-width: 0; } .app-market-row-loading { opacity: 0.72; } @media (max-width: 991.98px) { .app-sidebar { width: 190px; min-width: 190px; max-width: 190px; } .app-market-toolbar { width: 100%; justify-content: flex-start; } }