﻿/* Auto-generated bundle from .razor.css files */
/* DO NOT EDIT - This file is automatically generated */
/* NOTE: This file is included in source control because the GitHub build & publish action does not publish it */
/* ========================================= */
/* File: SimsAppBar.razor.css */
/* ========================================= */
/*
 * The app bar is a coloured, high-emphasis surface, so everything on it takes the inverse
 * foreground. MudBlazor's own palette already does this for text (palette.AppbarText = FgInverse),
 * but not for the icon buttons: a CoreIconButton resolves its own colour from its variant, which
 * lands on the primary hue and is close to invisible against the app-bar background.
 *
 * Handled here, once, for every page that uses SimsAppBar. Pages MUST NOT re-add a per-page
 * ToolBarClass + `.my-toolbar .mud-icon-button` override, and MUST NOT hardcode a literal colour
 * (`whitesmoke`, `#fff`) the way the components this replaces did — see .claude/rules/theming.md.
 *
 * The competing rule is MudBlazor's `.mud-button-text.mud-button-text-primary`, which is (0,2,0) —
 * exactly as specific as this one. Cascade order decides, and this bundle is linked after
 * MudBlazor.min.css in all three hosts, so it already wins WITHOUT !important. It is kept as a guard
 * against that ordering changing silently: a host that links the bundle earlier, or MudBlazor
 * adopting @layer (it ships none today), would flip the outcome, and the symptom would be
 * near-invisible icons on one host only. If you reorder the links, this can go.
 */
.sims-app-bar .mud-icon-button {
    color: var(--quipu-color-fg-inverse) !important;
}

/*
 * Add and save keep the green accent the old EditAppBar gave them, so those two actions still stand
 * out from the neutral white ones.
 *
 * The value lives in the theme (`--sims-color-fg-appbar-accent`) rather than here, because it is a
 * colour and colours are the theme's to decide. It is NOT a Quipu token — see the token's own
 * comment in sims-overrides.css for the measured contrast of all six success tokens and why none
 * of them preserves the existing look.
 *
 * The fallback is fg-inverse, i.e. the same white the other icons already get, so a theme that has
 * not declared the token renders a plain unaccented bar. It must NOT be a success token:
 * graphic-success measures 1.03 against this background, so falling back to it would hand such a
 * theme an invisible add button — a worse failure than a missing accent, and one that only shows up
 * on the theme nobody was looking at.
 *
 * TEMPORARY. Design has proposed making that white unconditional (#15619), which would delete this
 * rule, the token, and both wrapper spans, since the generic .mud-icon-button rule above already
 * paints everything white.
 */
.sims-app-bar .sims-app-bar__action--accent .mud-icon-button {
    color: var(--sims-color-fg-appbar-accent, var(--quipu-color-fg-inverse)) !important;
}

/*
 * A disabled action still has to read as disabled against the coloured surface. Without this it
 * inherits the !important rules above at full opacity and is indistinguishable from an enabled one —
 * which matters because ConsultAssignments and ManageOmkaderingen both drive the disabled state from
 * write access, so this is the only affordance telling a read-only user why nothing happens.
 *
 * MUST be the `:disabled` pseudo-class, not a class token: MudBlazor emits no `mud-button-disabled`
 * class, so a class-based selector here is dead code that silently changes nothing. Checked against
 * MudBlazor 9.9.0 (src/Directory.Packages.props); re-check after a bump, it is a NuGet artefact:
 *   grep -oE "mud-icon-button:disabled|mud-button-disabled" <MudBlazor.min.css> | sort | uniq -c
 * where the file is ~/.nuget/packages/mudblazor/<version>/staticwebassets/MudBlazor.min.css.
 * Expect only `mud-icon-button:disabled`.
 */
.sims-app-bar .mud-icon-button:disabled {
    opacity: 0.5;
}
/* ========================================= */
/* File: SimsCoreLegend.razor.css */
/* ========================================= */
.sims-core-legend__color {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    border-radius: 2px;
}
/* ========================================= */
/* File: SimsCoreMultiSelectFilter.razor.css */
/* ========================================= */
/* The dropdown renders in the popover provider, outside the component, so these rules hang off the popover class
   (SimsCoreMultiSelectFilter.PopoverClass). They cover every .mud-combobox-item in it, the "Select all" row included,
   which MudComboBox generates itself. */

/* Width, highlight and sticky buttons: what pages using MultiSelectFilter put in their own <style> block. */

/* Let the dropdown grow to fit its content instead of the (narrow) column width. */
.sims-core-multi-select-filter-popover {
    width: auto !important;
    max-width: none !important;
    min-width: 150px !important;
}

/* Do not keep the last-clicked row highlighted. */
.sims-core-multi-select-filter-popover .mud-combobox-item-hilight {
    background-color: transparent !important;
}

/* Keep Cancel and Apply in view while the list scrolls. */
.sims-core-multi-select-filter-popover .combobox-button-container {
    position: sticky;
    bottom: 0;
    background-color: var(--mud-palette-background);
    z-index: 2;
}

/* Sizes. Md has no rules: its rows are sized as MultiSelectFilter's. */

/* Quipu's small control size (28px at the 14px root), so the rows scale with the root font as the font does. */
.sims-core-multi-select-filter-popover-sm .mud-combobox-item {
    min-height: var(--quipu-control-size-sm);
    padding-top: 2px;
    padding-bottom: 2px;
}

/* The label is a <p class="mud-typography-body1">, which sets its own font size: a font on the row does not reach it. */
.sims-core-multi-select-filter-popover-sm .mud-combobox-item .mud-typography {
    font: var(--quipu-body-sm);
}

/* CheckBoxSize only reaches the option rows; this makes the "Select all" checkbox match them (MudBlazor's Size.Small). */
.sims-core-multi-select-filter-popover-sm .mud-combobox-item .mud-checkbox .mud-icon-root {
    font-size: 1.25rem;
}

/* The search box at the top of the dropdown: the only outlined input in the popover. Quipu's small control size, as
   the filter input. The selectors repeat MudBlazor's own (.mud-input.mud-input-outlined .mud-input-root-margin-dense)
   to outrank it. */
.sims-core-multi-select-filter-popover-sm .mud-input.mud-input-outlined .mud-input-root.mud-input-root-margin-dense {
    height: var(--quipu-control-size-sm);
    padding-top: 0;
    padding-bottom: 0;
}

/* The clear button appears once the user types. At its default padding it is about as tall as the box (27.5px), so
   less padding keeps the box from growing. */
.sims-core-multi-select-filter-popover-sm .mud-input.mud-input-outlined .mud-input-clear-button {
    padding: 2px;
}

.sims-core-multi-select-filter-popover-lg .mud-combobox-item .mud-typography {
    font: var(--quipu-body-lg);
}

/* The "Select all" checkbox matches the Lg option rows (MudBlazor's Size.Large, as CoreCheckbox uses). */
.sims-core-multi-select-filter-popover-lg .mud-combobox-item .mud-checkbox .mud-icon-root {
    font-size: 2.25rem;
}
