/*
 * Bay Tracker visual contract
 *
 * The product uses flat surfaces and restrained typography. Decorative
 * shadows and heavy display weights are intentionally prohibited site-wide.
 * Keep this stylesheet last in the cascade.
 */
:root {
    --app-font: Inter, "Segoe UI", Arial, sans-serif;
    --ux-font-sans: Inter, "Segoe UI", Arial, sans-serif;
    --app-card-shadow: none;
    --app-card-shadow-hover: none;
    --ux-shadow-sm: none;
    --ux-shadow-md: none;
    --ux-focus-ring: none;
    --card-shadow: none;
}

html,
body,
button,
input,
select,
textarea,
table,
th,
td {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    font-synthesis: none;
}

body,
body *,
body::before,
body::after,
body *::before,
body *::after {
    font-weight: 400 !important;
}

body :is(
    strong,
    b,
    .badge,
    .app-sidebar__item,
    .app-sidebar__subitem,
    .category-subtotals,
    .ux-summary-card > span,
    .summary-card > span,
    .stat-card > span,
    .metric-card > span,
    .kpi-card > span,
    :is(
        [class$="-metric"],
        [class*="-metric "],
        [class$="__metric"],
        [class*="__metric "]
    ) > span,
    [class$="-label"],
    [class*="-label "],
    [class$="__label"],
    [class*="__label "],
    [class$="-kicker"],
    [class*="-kicker "],
    [class$="__kicker"],
    [class*="__kicker "],
    [class$="-eyebrow"],
    [class*="-eyebrow "],
    [class$="__eyebrow"],
    [class*="__eyebrow "]
) {
    font-weight: 600 !important;
}

body input:not([type="button"]):not([type="reset"]):not([type="submit"]),
body select,
body textarea {
    font-weight: 600 !important;
}

body :is(
    th,
    label,
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"],
    summary,
    .btn,
    .button,
    .ux-button
) {
    font-weight: 650 !important;
}

body :is(
    h2,
    h3,
    h4,
    h5,
    h6,
    .section-title,
    .panel-title,
    .panel-title *,
    .card-title,
    .card-title *,
    .table-card-title,
    .table-card-title *,
    .dashboard-link > span,
    [class$="-card-title"],
    [class$="-card-title"] *,
    [class*="-card-title "],
    [class*="-card-title "] *,
    [class$="__card-title"],
    [class$="__card-title"] *,
    [class*="__card-title "],
    [class*="__card-title "] *,
    [class$="-panel-title"],
    [class$="-panel-title"] *,
    [class*="-panel-title "],
    [class*="-panel-title "] *,
    [class$="__panel-title"],
    [class$="__panel-title"] *,
    [class*="__panel-title "],
    [class*="__panel-title "] *
) {
    font-weight: 650 !important;
}

body :is(
    h1,
    .app-header__page-title,
    .app-sidebar__brand-name,
    .ux-page-header__title,
    .page-title,
    .app-sidebar__section-label,
    .app-sidebar__project-kicker,
    .ux-page-header__eyebrow
) {
    font-weight: 650 !important;
}

body :is(
    .overall-summary-metric > span,
    .ux-summary-card > strong,
    .summary-card > strong,
    .stat-card > strong,
    .metric-card > strong,
    .kpi-card > strong,
    [class$="-value"],
    [class*="-value "],
    [class$="__value"],
    [class*="__value "]
) {
    font-weight: 650 !important;
}

body :is(
    .meta > div > span,
    .open-link,
    .table-picker-link
) {
    font-weight: 650 !important;
}

/*
 * Preserve the Progress Table Selector hierarchy that defines the product
 * baseline: supporting labels at 600, with card titles and primary actions
 * capped at 650.
 */
body .overall-summary-heading h2,
body .overall-summary-options,
body .overall-summary-metric > b {
    font-weight: 600 !important;
}

body .category-title h2 {
    font-weight: 650 !important;
}

/*
 * Home and shell hierarchy:
 * - Home section, destination names, and the product brand share the
 *   site-wide 650 maximum.
 * - Sidebar child pages remain intentionally lighter than their categories.
 */
body .tool-category-header h2,
body .tool-title {
    font-weight: 650 !important;
}

body .app-sidebar__brand-name {
    font-weight: 650 !important;
}

body .app-sidebar__subitem {
    font-weight: 550 !important;
}

/*
 * Interactive and focal UI language uses title case. Operational prose and
 * raw values are intentionally excluded from this presentation rule.
 */
body :is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    button,
    [role="button"],
    [role="tab"],
    nav a,
    th,
    label,
    legend,
    summary,
    .btn,
    .button,
    .ux-button,
    .badge,
    .app-header__page-title,
    .app-sidebar__section-label,
    .app-sidebar__label,
    .app-sidebar__subitem,
    .app-sidebar__project-kicker,
    .ux-page-header__eyebrow,
    .ux-status,
    .ux-summary-card > span,
    .summary-card > span,
    .stat-card > span,
    .metric-card > span,
    .kpi-card > span,
    :is(
        [class$="-metric"],
        [class*="-metric "],
        [class$="__metric"],
        [class*="__metric "]
    ) > span,
    [class$="-title"],
    [class*="-title "],
    [class$="__title"],
    [class*="__title "],
    [class$="-heading"],
    [class*="-heading "],
    [class$="__heading"],
    [class*="__heading "],
    [class$="-label"],
    [class*="-label "],
    [class$="__label"],
    [class*="__label "],
    [class$="-kicker"],
    [class*="-kicker "],
    [class$="__kicker"],
    [class*="__kicker "],
    [class$="-eyebrow"],
    [class*="-eyebrow "],
    [class$="__eyebrow"],
    [class*="__eyebrow "],
    [class$="-tab"],
    [class*="-tab "],
    [class$="__tab"],
    [class*="__tab "]
) {
    text-transform: capitalize !important;
}

*,
*::before,
*::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

:focus-visible {
    outline: 2px solid #2f73bd !important;
    outline-offset: 2px !important;
}
