/* FoodBI — ориентир predictive-analytics.tilda.ws */
:root {
    --fb-primary: #2b59c3;
    --fb-primary-hover: #224a9f;
    --fb-primary-subtle: #e8eefb;
    --fb-surface: #f5f8fc;
    --fb-text-muted: #5c6c7d;
    --fb-border: #dee6f2;
}

/* Bootstrap primary → брендовый синий */
.btn-primary {
    --bs-btn-bg: var(--fb-primary);
    --bs-btn-border-color: var(--fb-primary);
    --bs-btn-hover-bg: var(--fb-primary-hover);
    --bs-btn-hover-border-color: var(--fb-primary-hover);
    --bs-btn-active-bg: var(--fb-primary-hover);
    --bs-btn-active-border-color: var(--fb-primary-hover);
}

.btn-outline-primary {
    --bs-btn-color: var(--fb-primary);
    --bs-btn-border-color: var(--fb-primary);
    --bs-btn-hover-bg: var(--fb-primary);
    --bs-btn-hover-border-color: var(--fb-primary);
}

.text-primary {
    color: var(--fb-primary) !important;
}

.bg-primary-subtle {
    background-color: var(--fb-primary-subtle) !important;
}

.app-navbar {
    background: #fff;
    border-bottom: 1px solid var(--fb-border);
}

.app-navbar .navbar-brand {
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--fb-primary) !important;
}

.brand-logo-img {
    display: block;
    width: 70px;
    height: auto;
}

.app-main {
    min-height: calc(100vh - 56px);
    background: var(--fb-surface);
}

.auth-page {
    min-height: 100vh;
    background: linear-gradient(165deg, var(--fb-primary-subtle) 0%, #fff 45%, var(--fb-surface) 100%);
}

.auth-card {
    border: 1px solid var(--fb-border);
    border-radius: 0.75rem;
    box-shadow: 0 0.5rem 1.5rem rgba(43, 89, 195, 0.08);
}

/* Просмотр отчёта: графики в iframe — явная высота (без неё браузер даёт ~150px) */
.report-chart-frame-wrap {
    position: relative;
    width: 100%;
    min-height: 75vh;
    background: #fff;
    /* Если что-то шире контейнера (редко) — полоса прокрутки снаружи; обычно скролл внутри iframe */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

.report-chart-frame {
    display: block;
    width: 100%;
    max-width: none;
    /* height обязателен для iframe; min() в отдельных браузерах для replaced-элементов ведёт себя иначе */
    height: 75vh;
    min-height: 520px;
    max-height: min(92vh, 1200px);
    border: 0;
    vertical-align: top;
}

@media (max-width: 991.98px) {
    .report-doc-card {
        margin-bottom: 0;
    }
}
