/* ============================================================
   BatchBrain — Design Tokens & Typography
   Single source of truth. All other files reference these.
   ============================================================ */

:root {

    /* ── Brand ─────────────────────────────────────────── */
    --accent: #009fff;
    --accent-hover: #0088dd;
    --accent-soft: #eef7ff;
    --accent-border: #b3dfff;

    --primary-color: #009fff;
    --secondary-color: #10B981;
    --accent-color: #F59E0B;

    /* ── Surfaces ──────────────────────────────────────── */
    --bb-surface: #ffffff;
    --bb-surface-depth: #f6f9fc;
    --bb-surface-hover: #f8fafc;
    --bb-canvas: #e8e8e8;
    --shade-color: rgba(217, 217, 217, 0.45);

    /* ── Text ──────────────────────────────────────────── */
    --text-primary: #0a2540;
    --text-secondary: #425466;
    --text-light: #697386;
    --text-dark: #0a2540;
    --bb-text-primary: #0a2540;
    --bb-text-secondary: #425466;

    /* ── Borders ───────────────────────────────────────── */
    --border-color: #d8dee4;
    --bb-border: #d8dee4;
    --bb-border-light: #e9edf1;

    /* ── Shadows ───────────────────────────────────────── */
    --bb-shadow: 0 1px 2px rgba(10, 37, 64, .06), 0 2px 5px rgba(10, 37, 64, .035);
    --bb-shadow-lg: 0 18px 42px rgba(10, 37, 64, .16), 0 3px 10px rgba(10, 37, 64, .08);

    /* ── Radius ────────────────────────────────────────── */
    --bb-radius: 10px;
    --bb-radius-small: 6px;

    /* ── Bootstrap overrides ───────────────────────────── */
    --bs-primary: #009fff;
    --bs-primary-rgb: 0, 159, 255;
    /* was 111,66,193 (purple) — fixed */
    --bs-link-color: #009fff;
    --bs-link-color-rgb: 0, 159, 255;
    /* was purple — fixed */
    --bs-link-hover-color: #0088dd;

    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;

    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    /* was #009fff — restored to actual purple */
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #ffffff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;

    /* ── Typography — Inter is the single app font ─────── */
    --font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-mono: 'IBM Plex Mono', SFMono-Regular, Menlo, Consolas, monospace;

    --bs-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --bs-font-monospace: 'IBM Plex Mono', SFMono-Regular, Menlo, Consolas, monospace;

    /* Type scale — 8:9 major-second rhythm */
    --text-2xs: 0.75rem;    /* 12px */
    --text-xs: 0.8125rem;   /* 13px */
    --text-sm: 0.875rem;    /* 14px */
    --text-base: 0.9375rem; /* 15px — Inter's optimal reading size */
    --text-md: 1.0625rem;   /* 17px */
    --text-lg: 1.25rem;     /* 20px */
    --text-xl: 1.5rem;      /* 24px */
    --text-2xl: 1.875rem;   /* 30px */
    --text-3xl: 2.25rem;    /* 36px */
    --leading-tight: 1.25;
    --leading-normal: 1.6;
    --leading-relaxed: 1.75;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));

    /* ── Legacy aliases (kept for backward compat) ─────── */
    --dark-color: #1F2937;
    --light-color: #F9FAFB;
    --bb-purple-primary: #009fff;
    /* BatchBrain brand, not Bootstrap purple */
    --bb-purple-light: #b489f6;
    --bb-purple-dark: #7d4cc5;
}

/* ============================================================
   Base typography — Inter for everything
   ============================================================ */
body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: var(--leading-normal);
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background-color: var(--bb-canvas);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-display);
    line-height: var(--leading-tight);
    letter-spacing: -0.02em;
}

h1, .h1 { font-size: var(--text-3xl); font-weight: 700; }
h2, .h2 { font-size: var(--text-2xl); font-weight: 700; }
h3, .h3 { font-size: var(--text-xl); font-weight: 700; }
h4, .h4 { font-size: var(--text-lg); font-weight: 600; }
h5, .h5 { font-size: var(--text-md); font-weight: 600; }
h6, .h6 { font-size: var(--text-base); font-weight: 600; }

/* Body-weight headings (e.g. card titles, UI labels) */
.label, .caption, .overline, .nav-label, .section-tag {
    font-family: var(--font-body);
    font-weight: 500;
}

/* UI small text */
small, .small, .text-small {
    font-size: var(--text-sm);
    font-weight: 400;
}

code, pre, kbd, samp {
    font-family: var(--font-mono);
    font-size: 0.875em;
}

/* ============================================================
   Logo
   ============================================================ */
.logo-area {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.logo-icon {
    width: 28px;
    height: 28px;
}

.logo-text {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--text-primary) 30%, var(--accent) 80%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.top-nav-bar-hieght {
    height: 62px !important;
}

@media (max-width: 767px) {
    .top-nav-bar-hieght {
        height: 50px !important;
    }

    .logo-text {
        font-size: 1.37rem !important;
    }

    .logo-icon {
        width: 23px !important;
        height: 23px !important;
    }

    .zm-border-radius {
        border-radius: 0 !important;
        border: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgb(0 159 255 / 49%) !important;
}

.form-control {
    background-color: var(--bb-surface-depth) !important;
}

.form-select {
    background-color: var(--bb-surface-depth) !important;
}

@media (max-width: 575.98px) {
  .bb-page-header__title { font-size: var(--text-lg, 1.25rem); margin-top: 16px; }
  .bb-eyebrow { display: none !important;}
}
