/* /Components/ColorPicker.razor.rz.scp.css */
/* Scoped styles for ColorPicker (AB#3612): moved out of a page-level <style> block so the rules
   cannot leak into other components.

   SPEC 119 (Fernando, 2026-10-06): every swatch is a circle, the shape the access monitor draws a
   cone with. The chosen one gets a ring in the tenant primary, set off by a gap, and nothing moves
   or changes shape. */
.custom-color-picker[b-eda76n2t7d] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
    gap: 6px;
    padding: 0;
    background: transparent;
    max-width: 100%;
}

.color-option[b-eda76n2t7d] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: box-shadow 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.color-option:hover:not(.disabled)[b-eda76n2t7d] {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3), 0 0 0 2px var(--mud-palette-surface), 0 0 0 4px var(--mud-palette-lines-default);
}

.color-option.disabled[b-eda76n2t7d] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* The chosen swatch. Without it there is no way to tell which colour is selected. */
.color-option.selected[b-eda76n2t7d] {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3), 0 0 0 2px var(--mud-palette-surface), 0 0 0 4px var(--mud-palette-primary);
}

.color-option.solid-color[b-eda76n2t7d] {
    background-color: var(--color);
}

.color-option.pattern-black-white[b-eda76n2t7d] {
    background: linear-gradient(90deg,
        black 0%,
        black 45%,
        white 45%,
        white 55%,
        black 55%,
        black 100%);
}

.color-option.pattern-white-black[b-eda76n2t7d] {
    background: linear-gradient(90deg,
        white 0%,
        white 45%,
        black 45%,
        black 55%,
        white 55%,
        white 100%);
}

/* The check is a MudIcon, a child component: its svg doesn't carry this component's scope
   attribute, so its rules need ::deep under the swatch, or none of them reach it. */
.color-option[b-eda76n2t7d]  .color-option-check {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
}

.color-option[b-eda76n2t7d]  .check-white {
    color: white;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.6));
}

.color-option[b-eda76n2t7d]  .check-black {
    color: black;
    filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.6));
}

/* Custom styling for color picker label */
.custom-color-picker-label[b-eda76n2t7d] {
    color: var(--mud-palette-primary) !important;
    font-weight: bold !important;
    font-size: 0.75rem !important;
}
/* /Components/ConeBadge.razor.rz.scp.css */
/* SPEC 119 — the cone in the access monitor's "Acceso" column: a dot of its color and its number,
   set in the caption type the plate beside it uses, with no pill around them (Fernando,
   2026-10-06). A solid color arrives as the --cone-color custom property, written only for a solid
   dot; the patterns and the color that can't be drawn are classes. */
.cone-badge[b-z5e7l164ez] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: inherit;
    font-family: var(--mud-typography-caption-family);
    font-size: var(--mud-typography-caption-size);
    font-weight: var(--mud-typography-caption-weight);
    line-height: var(--mud-typography-caption-lineheight);
    letter-spacing: var(--mud-typography-caption-letterspacing);
    white-space: nowrap;
}

.cone-badge__dot[b-z5e7l164ez] {
    flex: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.cone-badge__dot--solid[b-z5e7l164ez] {
    background-color: var(--cone-color);
}

/* White, yellow and green in BDL: a fine ring so the dot doesn't vanish on a light row. */
.cone-badge__dot--light[b-z5e7l164ez] {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.cone-badge__dot--black-white-line[b-z5e7l164ez] {
    background: linear-gradient(90deg, #000000 0%, #000000 40%, #ffffff 40%, #ffffff 60%, #000000 60%, #000000 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.6);
}

.cone-badge__dot--white-black-line[b-z5e7l164ez] {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 40%, #000000 40%, #000000 60%, #ffffff 60%, #ffffff 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35);
}

/* A color that can't be drawn: no longer configured, or a pattern the badge doesn't know. A dashed
   ring: a solid ring reads as a white cone, and a crossed one as the column's "no access mode"
   icon (live session, Fernando, 2026-10-06). */
.cone-badge__dot--hollow[b-z5e7l164ez] {
    box-sizing: border-box;
    border: 1.5px dashed var(--mud-palette-text-secondary);
}
/* /Components/DocumentScannerComponent.razor.rz.scp.css */
/* Local layout for DocumentScannerComponent. Scoped rather than global: nothing here is reused
   outside this component, and CSS isolation keeps it that way.

   The reader-group select and the scan button group share one row when there is room, and wrap
   onto two rows when there is not (AB#4818). The row used to be unable to wrap, so in a narrow
   column the button shrank instead: "Escanear Documento con <alias>" broke onto four lines and the
   group overflowed its grid column, covering the neighbouring button. Wrapping the ROW is what
   makes room; the button is never squeezed.

   Every rule targets MudBlazor's own root classes through ::deep, because the select, the button
   group, ThalesScannerButton and the menu all render their own roots, which CSS isolation cannot
   reach from here. */

.document-scanner[b-t0wsu13tc7] {
    width: 100%;
}

/* The select takes whatever width is left, down to a floor where "Grupo de Lectores" and a group
   name still read; below that floor the row wraps rather than crushing it. */
.document-scanner[b-t0wsu13tc7]  .mud-select {
    flex: 1 1 220px;
    min-width: 200px;
}

/* The button group keeps its natural width, and its labels stay on one line. */
.document-scanner[b-t0wsu13tc7]  .mud-button-group-root {
    flex: 0 0 auto;
}

.document-scanner[b-t0wsu13tc7]  .mud-button-group-root .mud-button-root {
    white-space: nowrap;
}
/* /Components/LoadingOverlay.razor.rz.scp.css */
/* Scoped styles for LoadingOverlay (AB#3612): moved out of a page-level <style>
   block so the rules cannot leak into other components. */

.loading-overlay[b-sgs4l1te0y] {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.5);
}

.loading-overlay-fullscreen[b-sgs4l1te0y] {
    position: fixed;
}

.loading-content[b-sgs4l1te0y] {
    padding: 20px;
    border-radius: var(--dingo-radius, 6px);
    /* Follows the theme so the panel is not a white block in dark mode. */
    background-color: var(--mud-palette-surface, #fff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
/* /Components/VisitorConeNumberEditorComponent.razor.rz.scp.css */
/* Scoped styles for VisitorConeNumberEditorComponent (AB#3612): compact spacing
   for the gatehouse entry-data editor. */

.compact-form[b-x37x9hciv9] {
    padding: 8px 0;
}

    /* ::deep reaches the MudBlazor grid items rendered by the child component. */
    .compact-form[b-x37x9hciv9]  .mud-grid-item {
        padding: 4px 8px;
    }
/* /Shared/Components/PageHeader.razor.rz.scp.css */
/* Local layout for PageHeader. Scoped rather than global: nothing here is reused
   outside this component, and CSS isolation keeps it that way.

   Colours resolve from the theme so both palettes follow — no literal values. */

.page-header[b-4rc3n6j8i8] {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

/* The way out, on one line instead of the whole row BackToListLink used to take. */
.breadcrumb[b-4rc3n6j8i8] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

/* A record label is a person's name plus a code: on a phone it wraps under the list link
   instead of dragging the page sideways. */
.breadcrumb > span:last-child[b-4rc3n6j8i8] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.separator[b-4rc3n6j8i8] {
    color: var(--mud-palette-text-disabled);
}

/* MudText renders its own root, which CSS isolation cannot reach, so the colour is
   set on the wrapper and inherited. */
.description[b-4rc3n6j8i8] {
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

/* The change count sits with the buttons it describes, not at the far end of a wide row. */
[b-4rc3n6j8i8] .dingo-header-status {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}
/* /Shared/CountryCodePicker.razor.rz.scp.css */
/* Scoped styles for CountryCodePicker (AB#3612): moved out of a page-level <style>
   block so the rules cannot leak into other components. */

 .blocker[b-2hizxi1qqi] {
    display: block;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color:#000000;
    opacity:0.8;
    z-index:350;
}
 .CountryContainer[b-2hizxi1qqi] {
    display: block;
    position: fixed;
    background-color: #ffffff;
    width: 265px;
    height: 220px;
    margin-left: 20%;
    margin-right: auto;
    margin-top: 20%;
    margin-bottom: auto;
    z-index: 355;
    border-radius: 8px;
    box-shadow: 1px 1px 8px #cecece;
}
.list[b-2hizxi1qqi]{
    margin-left:3px;
    max-height:180px;
    overflow-y:scroll;
}
