@import '_content/Ew.Ui.Components/Ew.Ui.Components.quivahwy97.bundle.scp.css';

/* /Components/Organizations/Dialogs/DynamicSectionDialog.razor.rz.scp.css */
/* Each field stacks its input and (when invalid) a message directly beneath it. */
.dyn-field[b-v5gvkle5zn] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.dyn-field-error[b-v5gvkle5zn] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--rz-danger, #d32f2f);
    font-size: 0.8125rem;
    line-height: 1.25;
    padding-left: 0.125rem;
}

.dyn-field-error[b-v5gvkle5zn]  .rz-icon {
    font-size: 1rem;
    line-height: 1;
}
/* /Components/Organizations/OrganizationFilterBar.razor.rz.scp.css */
.filter-bar[b-m8k2cgbr45] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.filter-chip-wrap[b-m8k2cgbr45] {
    position: relative;
}

/* Fills and borders are text-color mixes, not the base-surface tokens (those can resolve
   transparent under the dark theme), so a chip reads correctly in both themes. */
.filter-chip[b-m8k2cgbr45] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 5px 0 10px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 5%, var(--rz-base-background-color, #fff));
    border: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 20%, transparent);
    font-size: 12.5px;
    color: var(--rz-text-color, #1b1d20);
    cursor: pointer;
    transition: border-color .12s ease, box-shadow .12s ease;
}

.filter-chip:hover[b-m8k2cgbr45] {
    border-color: var(--rz-primary, #2f6fed);
}

.filter-chip.open[b-m8k2cgbr45] {
    border-color: var(--rz-primary, #2f6fed);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rz-primary, #2f6fed) 18%, transparent);
}

/* Presence filter: a solid "on" pill, primary-tinted so it reads as an active condition
   distinct from the value chips. No value picker, so the whole chip is static bar the remove. */
.filter-chip.bool[b-m8k2cgbr45] {
    cursor: default;
    background: color-mix(in srgb, var(--rz-primary, #2f6fed) 12%, var(--rz-base-background-color, #fff));
    border-color: color-mix(in srgb, var(--rz-primary, #2f6fed) 38%, transparent);
}

.filter-chip.bool:hover[b-m8k2cgbr45] {
    border-color: color-mix(in srgb, var(--rz-primary, #2f6fed) 38%, transparent);
}

.filter-chip.bool .fc-label[b-m8k2cgbr45] {
    color: var(--rz-primary, #2f6fed);
}

.filter-chip.bool .fc-x[b-m8k2cgbr45] {
    cursor: pointer;
}

.fc-label[b-m8k2cgbr45] {
    font-weight: 700;
}

.fc-op[b-m8k2cgbr45] {
    color: var(--rz-text-tertiary-color, #8b95a6);
}

.fc-val[b-m8k2cgbr45] {
    color: var(--rz-primary, #2f6fed);
    font-weight: 600;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filter-chip.empty .fc-val[b-m8k2cgbr45] {
    color: var(--rz-text-tertiary-color, #8b95a6);
    font-weight: 400;
    font-style: italic;
}

.fc-x[b-m8k2cgbr45] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    color: var(--rz-text-tertiary-color, #8b95a6);
    font-size: 15px;
    line-height: 1;
}

.fc-x:hover[b-m8k2cgbr45] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 10%, transparent);
    color: var(--rz-text-color, #1b1d20);
}

.filter-add[b-m8k2cgbr45] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 30px;
    padding: 0 11px 0 8px;
    border-radius: 8px;
    background: transparent;
    border: 1px dashed color-mix(in srgb, var(--rz-text-color, #1b1d20) 25%, transparent);
    color: var(--rz-primary, #2f6fed);
    font-weight: 600;
    font-size: 12.5px;
    cursor: pointer;
}

.filter-add:hover[b-m8k2cgbr45] {
    background: color-mix(in srgb, var(--rz-primary, #2f6fed) 8%, transparent);
    border-color: var(--rz-primary, #2f6fed);
}

.filter-add[b-m8k2cgbr45]  .rzi {
    font-size: 16px;
}

.fb-overlay[b-m8k2cgbr45] {
    position: fixed;
    inset: 0;
    z-index: 30;
    background: transparent;
}

.filter-pop[b-m8k2cgbr45] {
    position: absolute;
    z-index: 40;
    top: 40px;
    left: 0;
    min-width: 216px;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 16%, transparent);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(16, 24, 40, .10), 0 18px 48px rgba(16, 24, 40, .28);
    padding: 6px;
}

.filter-pop.add[b-m8k2cgbr45] {
    min-width: 232px;
}

.fp-h[b-m8k2cgbr45],
.fp-grp[b-m8k2cgbr45] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--rz-text-tertiary-color, #8b95a6);
    padding: 8px 10px 3px;
}

.fp-list[b-m8k2cgbr45] {
    max-height: 288px;
    overflow: auto;
}

.fp-row[b-m8k2cgbr45] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13.5px;
    color: var(--rz-text-color, #1b1d20);
}

.fp-row:hover[b-m8k2cgbr45],
.fp-item:hover[b-m8k2cgbr45] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 6%, transparent);
}

.fp-row input[b-m8k2cgbr45] {
    accent-color: var(--rz-primary, #2f6fed);
    width: 15px;
    height: 15px;
}

.fp-item[b-m8k2cgbr45] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 8px 10px;
    border: none;
    background: none;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--rz-text-color, #1b1d20);
    cursor: pointer;
}

.fp-empty[b-m8k2cgbr45] {
    padding: 10px 12px;
    color: var(--rz-text-secondary-color, #586173);
    font-size: 12.5px;
}

.fp-text[b-m8k2cgbr45] {
    padding: 8px 8px 6px;
}

.fp-input[b-m8k2cgbr45] {
    width: 100%;
    height: 34px;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 20%, transparent);
    border-radius: 8px;
    background: var(--rz-base-background-color, #fff);
    color: var(--rz-text-color, #1b1d20);
    padding: 0 10px;
    font-size: 13.5px;
    outline: none;
}

.fp-input:focus[b-m8k2cgbr45] {
    border-color: var(--rz-primary, #2f6fed);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rz-primary, #2f6fed) 15%, transparent);
}

/* Type-to-filter box for long option lists, and the inline clear for it and the text filters. */
.fp-search[b-m8k2cgbr45] {
    padding: 6px 8px 4px;
}

.fp-input-wrap[b-m8k2cgbr45],
.fp-search[b-m8k2cgbr45] {
    position: relative;
}

.fp-search-input[b-m8k2cgbr45],
.fp-input-wrap .fp-input[b-m8k2cgbr45] {
    padding-right: 30px;
}

.fp-input-clear[b-m8k2cgbr45] {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: none;
    background: none;
    border-radius: 6px;
    color: var(--rz-text-tertiary-color, #8b95a6);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

.fp-search .fp-input-clear[b-m8k2cgbr45] {
    right: 16px;
}

.fp-input-clear:hover[b-m8k2cgbr45] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 10%, transparent);
    color: var(--rz-text-color, #1b1d20);
}
/* /Components/Organizations/Sections/WebsiteSection.razor.rz.scp.css */
/* Web links list: a fixed-width label column (type + optional Primary tag) so every
   URL lines up, and the URL truncates instead of pushing anything out of the card. */
.web-link-row[b-42paq9inmi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    margin-top: 0.35rem;
}

.web-link-label[b-42paq9inmi] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 11rem;
    min-width: 11rem;
    flex-shrink: 0;
}

.web-link-type[b-42paq9inmi] {
    color: var(--rz-text-secondary-color);
    font-size: 0.6875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Small, subtle "Primary" tag - tinted, not a loud solid pill. */
.web-link-primary[b-42paq9inmi] {
    flex-shrink: 0;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12); /* fallback tint */
    background: color-mix(in srgb, var(--rz-primary) 14%, transparent);
    color: var(--rz-primary);
}

.web-link-row .website-link[b-42paq9inmi] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Requests/ReviewRequestDialog.razor.rz.scp.css */
.review-dialog[b-pr6ukvq2ld] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* -- Header -- */
.dialog-header[b-pr6ukvq2ld] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--rz-base-300, #dfe5ec);
}

.header-left[b-pr6ukvq2ld] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.header-top[b-pr6ukvq2ld] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.header-title[b-pr6ukvq2ld] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--rz-text-color, #1b1d20);
}

.header-cr-id[b-pr6ukvq2ld] {
    font-size: 0.6875rem;
    color: var(--rz-text-tertiary-color, #74797e);
    font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
}

.header-subtitle[b-pr6ukvq2ld] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--rz-text-tertiary-color, #74797e);
}

.header-dot[b-pr6ukvq2ld] { color: var(--rz-text-disabled-color, #c6cbd2); }

.cancelled-note[b-pr6ukvq2ld] {
    display: block;
    font-size: 0.75rem;
    color: var(--rz-text-tertiary-color, #74797e);
    font-style: italic;
    margin-top: 0.125rem;
}

.cancelled-reason[b-pr6ukvq2ld] {
    display: block;
    font-size: 0.75rem;
    color: var(--rz-text-tertiary-color, #74797e);
    font-style: italic;
    margin-top: 0.125rem;
}

.resolution-tag[b-pr6ukvq2ld] {
    display: inline-block;
    padding: 0.0625rem 0.375rem;
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent);
    /* secondary, not tertiary: light tertiary misses AA on the 8% chip wash at 10px */
    color: var(--rz-text-secondary-color, #454a4f);
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 500;
}

/* -- Body: flex-grows so the footer pins to the sheet bottom -- */
.dialog-body[b-pr6ukvq2ld] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0.875rem 0;
    overflow-y: auto;
}

/* -- Meta strip (submitter · email · date) -- */
.submitter-line[b-pr6ukvq2ld] {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
    flex-wrap: wrap;
    font-size: 0.8125rem;
    color: var(--rz-text-secondary-color, #454a4f);
    margin-bottom: 0.875rem;
}

.meta-dot[b-pr6ukvq2ld] { color: var(--rz-text-disabled-color, #c6cbd2); }

.submitter-email[b-pr6ukvq2ld] {
    color: var(--rz-text-tertiary-color, #74797e);
    font-size: 0.75rem;
}

.submitter-date[b-pr6ukvq2ld] {
    color: var(--rz-text-tertiary-color, #74797e);
    font-size: 0.75rem;
}

/* -- Footer -- */
.dialog-footer[b-pr6ukvq2ld] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.625rem;
    border-top: 1px solid var(--rz-base-300, #dfe5ec);
}

.action-panel[b-pr6ukvq2ld] {
    padding-top: 0.625rem;
    border-top: 1px solid var(--rz-base-300, #dfe5ec);
}

.action-message[b-pr6ukvq2ld] {
    font-size: 0.8125rem;
    color: var(--rz-text-tertiary-color, #74797e);
}

/* -- Approval chain: inline horizontal stepper, no card chrome -- */
.approval-steps[b-pr6ukvq2ld] {
    margin-bottom: 1.125rem;
}

.steps-track[b-pr6ukvq2ld] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
    row-gap: 0.5rem;
}

.approval-step[b-pr6ukvq2ld] {
    display: flex;
    align-items: center;
    gap: 0.4375rem;
}

.step-connector[b-pr6ukvq2ld] {
    flex: 1 1 1.25rem;
    min-width: 1.25rem;
    height: 2px;
    border-radius: 1px;
    align-self: flex-start;
    margin-top: 9px; /* centers on the 20px indicator circle */
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 14%, transparent);
}

.step-connector.approved[b-pr6ukvq2ld] { background: var(--rz-success, #126d34); }
.step-connector.rejected[b-pr6ukvq2ld] { background: var(--rz-danger, #ba1a1a); }

.step-indicator[b-pr6ukvq2ld] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 600;
    flex-shrink: 0;
}

.step-indicator.approved[b-pr6ukvq2ld] { background: var(--rz-success-lighter, rgba(160, 246, 174, 0.5)); color: var(--rz-success, #126d34); }
.step-indicator.rejected[b-pr6ukvq2ld] { background: var(--rz-danger-lighter, rgba(255, 218, 214, 0.5)); color: var(--rz-danger, #ba1a1a); }
.step-indicator.pending[b-pr6ukvq2ld] { background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent); color: var(--rz-text-secondary-color, #454a4f); }
.step-indicator.default[b-pr6ukvq2ld] { background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent); color: var(--rz-text-tertiary-color, #74797e); }
[b-pr6ukvq2ld] .step-indicator .rzi { font-size: 12px !important; }

.step-content[b-pr6ukvq2ld] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.step-role[b-pr6ukvq2ld] { font-size: 0.8125rem; font-weight: 500; color: var(--rz-text-color, #1b1d20); line-height: 1.25; }
.step-date[b-pr6ukvq2ld] { font-size: 0.6875rem; color: var(--rz-text-tertiary-color, #74797e); }
.step-status[b-pr6ukvq2ld] { font-size: 0.71875rem; color: var(--rz-text-tertiary-color, #74797e); line-height: 1.3; }
.step-status.status-approved[b-pr6ukvq2ld] { color: var(--rz-success, #126d34); }
.step-status.status-rejected[b-pr6ukvq2ld] { color: var(--rz-danger, #ba1a1a); }
.step-actor[b-pr6ukvq2ld] { font-size: 0.71875rem; color: var(--rz-text-tertiary-color, #74797e); font-weight: 400; }

.step-note-line[b-pr6ukvq2ld] {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--rz-text-tertiary-color, #74797e);
}

.step-note-role[b-pr6ukvq2ld] { font-weight: 500; color: var(--rz-text-secondary-color, #454a4f); }
.step-note[b-pr6ukvq2ld] { font-style: italic; }

/* -- Changes: one card, stacked -/+ diff lines per field -- */
.changes-section[b-pr6ukvq2ld] {
    margin-bottom: 0.875rem;
}

.change-label[b-pr6ukvq2ld] {
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--rz-text-tertiary-color, #74797e);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.3125rem;
}

.change-label.deleted[b-pr6ukvq2ld] { color: var(--rz-danger, #ba1a1a); }

.change-card[b-pr6ukvq2ld] {
    border: 1px solid var(--rz-base-300, #dfe5ec);
    border-radius: 8px;
    overflow: hidden;
}

.diff-row[b-pr6ukvq2ld] {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
    padding: 0.5rem 0.625rem 0.5625rem;
}

.diff-row + .diff-row[b-pr6ukvq2ld] { border-top: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent); }

.change-field[b-pr6ukvq2ld] {
    color: var(--rz-text-tertiary-color, #74797e);
    font-size: 0.75rem;
}

.diff-line[b-pr6ukvq2ld] {
    display: flex;
    align-items: baseline;
    gap: 0.4375rem;
    padding: 0.1875rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.diff-line-old[b-pr6ukvq2ld] {
    background: color-mix(in srgb, var(--rz-danger, #ba1a1a) 7%, transparent);
    /* pull the value toward danger but keep it readable on the faint wash (both modes) */
    color: color-mix(in srgb, var(--rz-danger, #ba1a1a) 45%, var(--rz-text-color, #1b1d20));
}

.diff-line-new[b-pr6ukvq2ld] {
    background: color-mix(in srgb, var(--rz-success, #126d34) 9%, transparent);
    color: var(--rz-text-color, #1b1d20);
    font-weight: 500;
}

.diff-sign[b-pr6ukvq2ld] {
    font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
    font-weight: 700;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.diff-line-old .diff-sign[b-pr6ukvq2ld] { color: color-mix(in srgb, var(--rz-danger, #ba1a1a) 80%, var(--rz-text-color, #1b1d20)); }
.diff-line-new .diff-sign[b-pr6ukvq2ld] { color: color-mix(in srgb, var(--rz-success, #126d34) 80%, var(--rz-text-color, #1b1d20)); }

.diff-text[b-pr6ukvq2ld] { min-width: 0; overflow-wrap: anywhere; }

.diff-empty[b-pr6ukvq2ld] { color: var(--rz-text-disabled-color, #c6cbd2); font-style: italic; font-size: 0.75rem; }

/* -- Reason -- */
.reason-block[b-pr6ukvq2ld] {
    padding: 0.5rem 0.625rem;
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 4%, transparent);
    border-radius: 6px;
    margin-bottom: 0.25rem;
}

.reason-label[b-pr6ukvq2ld] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--rz-text-tertiary-color, #74797e);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.125rem;
}

.reason-text[b-pr6ukvq2ld] {
    font-size: 0.8125rem;
    color: var(--rz-text-secondary-color, #454a4f);
    line-height: 1.4;
}

/* -- Skeleton -- */
.skeleton-table[b-pr6ukvq2ld] {
    border: 1px solid var(--rz-base-300, #dfe5ec);
    border-radius: 6px;
    padding: 0.5rem 0.625rem;
}

.skeleton-table-row[b-pr6ukvq2ld] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    padding: 0.3125rem 0;
}
/* /Components/Shared/AuthSplash.razor.rz.scp.css */
.auth-splash[b-mezovu3ml5] {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    background:
        radial-gradient(120% 75% at 50% 28%, rgba(37, 99, 235, 0.08), transparent 62%),
        #f6f8fc;
    color: #1b1d20;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    text-align: center;
    padding: 1.5rem;
}

html[data-theme="dark"] .auth-splash[b-mezovu3ml5] {
    background:
        radial-gradient(120% 75% at 50% 28%, rgba(59, 130, 246, 0.16), transparent 62%),
        #0f1420;
    color: #eef1f6;
}

.auth-splash-mark[b-mezovu3ml5] {
    width: 56px;
    height: 56px;
    filter: drop-shadow(0 6px 16px rgba(37, 99, 235, 0.20));
    animation: auth-pop-b-mezovu3ml5 0.55s cubic-bezier(0.2, 0.85, 0.25, 1) both,
               auth-breathe-b-mezovu3ml5 2.8s ease-in-out 0.7s infinite;
}

.auth-splash-mark img[b-mezovu3ml5] { display: block; width: 100%; height: 100%; }

.auth-splash-title[b-mezovu3ml5] {
    font-weight: 600;
    font-size: 1.28rem;
    letter-spacing: 0.01em;
    animation: auth-fade-b-mezovu3ml5 0.55s ease 0.12s both;
}

.auth-splash-sub[b-mezovu3ml5] {
    font-size: 0.85rem;
    color: #6b7280;
    animation: auth-fade-b-mezovu3ml5 0.55s ease 0.2s both;
}

html[data-theme="dark"] .auth-splash-sub[b-mezovu3ml5] { color: #9aa6bd; }

.auth-splash-dots[b-mezovu3ml5] { display: inline-flex; gap: 3px; margin-left: 5px; vertical-align: middle; }
.auth-splash-dots i[b-mezovu3ml5] {
    width: 4px; height: 4px; border-radius: 50%; background: #2563eb;
    animation: auth-dot-b-mezovu3ml5 1.2s ease-in-out infinite;
}
html[data-theme="dark"] .auth-splash-dots i[b-mezovu3ml5] { background: #6d9bfb; }
.auth-splash-dots i:nth-child(2)[b-mezovu3ml5] { animation-delay: 0.15s; }
.auth-splash-dots i:nth-child(3)[b-mezovu3ml5] { animation-delay: 0.3s; }

.auth-splash-foot[b-mezovu3ml5] {
    position: absolute;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 8px;
    animation: auth-fade-b-mezovu3ml5 0.6s ease 0.32s both;
}

.auth-splash-poweredby[b-mezovu3ml5] {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #98a2b3;
}

.auth-splash-edw[b-mezovu3ml5] { height: 20px; width: auto; display: block; opacity: 0.95; }
.auth-splash-edw-dark[b-mezovu3ml5] { display: none; }
html[data-theme="dark"] .auth-splash-edw-light[b-mezovu3ml5] { display: none; }
html[data-theme="dark"] .auth-splash-edw-dark[b-mezovu3ml5] { display: block; }

@keyframes auth-pop-b-mezovu3ml5 {
    from { opacity: 0; transform: scale(0.82) translateY(8px); }
    to   { opacity: 1; transform: none; }
}

@keyframes auth-fade-b-mezovu3ml5 {
    from { opacity: 0; transform: translateY(7px); }
    to   { opacity: 1; transform: none; }
}

@keyframes auth-breathe-b-mezovu3ml5 {
    0%, 100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-3px) scale(1.025); }
}

@keyframes auth-dot-b-mezovu3ml5 {
    0%, 100% { opacity: 0.3; transform: translateY(0); }
    50%      { opacity: 1; transform: translateY(-2px); }
}
/* /Components/Shared/ColumnPickerDialog.razor.rz.scp.css */
.column-picker-list[b-v7ndzuadrc] {
    display: flex;
    flex-direction: column;
    border: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 12%, transparent);
    border-radius: 8px;
    overflow: hidden;
    max-height: 360px;
    overflow-y: auto;
}

.column-picker-row[b-v7ndzuadrc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent);
    background: var(--rz-base-background-color, #ffffff);
    transition: background-color 0.12s ease, opacity 0.12s ease;
}

.column-picker-row:last-child[b-v7ndzuadrc] {
    border-bottom: none;
}

/* The row being dragged fades so it reads as "in flight". */
.column-picker-row.dragging[b-v7ndzuadrc] {
    opacity: 0.4;
}

/* The row the drop will land against gets a brand-tinted highlight and outline. */
.column-picker-row.drag-over[b-v7ndzuadrc] {
    background: color-mix(in srgb, var(--rz-primary, #2196f3) 12%, var(--rz-base-background-color, #ffffff));
    box-shadow: inset 0 0 0 1px var(--rz-primary, #2196f3);
}

/* Drag handle: grab affordance, subtle until the row is hovered. */
.column-picker-handle[b-v7ndzuadrc] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    color: color-mix(in srgb, var(--rz-text-color, #1b1d20) 30%, transparent);
    cursor: grab;
}

.column-picker-handle:active[b-v7ndzuadrc] {
    cursor: grabbing;
}

.column-picker-row:hover .column-picker-handle[b-v7ndzuadrc] {
    color: var(--rz-text-secondary-color, #6b7280);
}

.column-picker-handle[b-v7ndzuadrc]  .rzi {
    font-size: 1.2rem;
}

.column-picker-label[b-v7ndzuadrc] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.9375rem;
    color: var(--rz-text-color, #1b1d20);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.column-picker-move[b-v7ndzuadrc] {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}
/* /Components/Shared/DashboardCardList.razor.rz.scp.css */
/* Explicit light + dark palettes. We do not lean on Radzen surface/text tokens here: some
   (e.g. the card background) resolve transparent in this theme, which made popovers see-through
   and dark-mode text unreadable. Brand hue still follows --rz-primary so a theme swap carries. */
.dash[b-5f1eczu6i8] {
    --card-bg: #ffffff;
    --panel-bg: #f8fafc;
    --line: #e2e8f0;
    --ink: #0f172a;
    --ink-2: #475569;
    --ink-3: #8695ab;
    --brand: var(--rz-primary, #2563eb);
    --brand-dark: var(--rz-primary-dark, #1d4ed8);
    --brand-wash: rgba(37, 99, 235, 0.10);
    --pos: #15803d;
    /* State breakdown: a curated categorical palette so each state stays distinct however many
       there are (single-hue shades blur once you get past two or three). Tuned for a light ground. */
    --s1: #2563eb;
    --s2: #0d9488;
    --s3: #7c3aed;
    --s4: #d97706;
    --s5: #db2777;
    --s6: #16a34a;

    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1rem;
}

/* App toggles dark via html[data-theme="dark"]; redefine only the tokens so every surface,
   text colour and shade has a real dark value (no light-only fallbacks bleeding through). */
html[data-theme="dark"] .dash[b-5f1eczu6i8] {
    --card-bg: #131c2f;
    --panel-bg: #0f1729;
    --line: rgba(255, 255, 255, 0.10);
    --ink: #e8edf7;
    --ink-2: #aebbd2;
    --ink-3: #7f8ea8;
    --brand-wash: rgba(147, 180, 253, 0.16);
    --pos: #4ade80;
    /* Same categorical palette, lightened so each hue reads on a dark ground. */
    --s1: #60a5fa;
    --s2: #2dd4bf;
    --s3: #a78bfa;
    --s4: #fbbf24;
    --s5: #f472b6;
    --s6: #4ade80;
}

/* ---- current-year context strip ---- */
.dash-context[b-5f1eczu6i8] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ctx-pill[b-5f1eczu6i8] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--brand-wash);
    color: var(--brand-dark);
    font-size: 0.8125rem;
    font-weight: 500;
}

.ctx-label[b-5f1eczu6i8] {
    color: var(--brand-dark);
    opacity: 0.85;
}

.ctx-value[b-5f1eczu6i8] {
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.ctx-pill[b-5f1eczu6i8]  .rzi {
    font-size: 16px;
}

/* ---- section scaffolding ---- */
.dash-eyebrow[b-5f1eczu6i8] {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ink-3);
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/* ---- estate / count cards ---- */
.estate[b-5f1eczu6i8] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

/* Plain KPI groups (org-category counts, a lone total) fill the row responsively rather than using
   the hero-plus-states layout, so any number of cards sits evenly with no empty columns. */
.kpi-grid[b-5f1eczu6i8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
}

.count-card[b-5f1eczu6i8] {
    grid-column: span 1;
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    min-height: 128px;
    position: relative;
    animation: dash-rise-b-5f1eczu6i8 0.4s ease both;
}

.count-card.hero[b-5f1eczu6i8] {
    grid-column: span 2;
    background: linear-gradient(180deg, var(--brand-wash), transparent 62%), var(--card-bg);
}

.count-card.klick[b-5f1eczu6i8] {
    cursor: pointer;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.count-card.klick:hover[b-5f1eczu6i8] {
    border-color: var(--brand);
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.10);
    /* The hover transform makes this card a stacking context; lift it above its neighbours so the
       info popover can overflow across the adjacent card instead of being clipped behind it. */
    z-index: 20;
}

.cc-top[b-5f1eczu6i8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.cc-label[b-5f1eczu6i8] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ink-2);
}

.cc-label[b-5f1eczu6i8]  .rzi {
    font-size: 18px;
    color: var(--brand);
}

.cc-stat[b-5f1eczu6i8] {
    font-size: 2.375rem;
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    margin-top: 2px;
}

.hero .cc-stat[b-5f1eczu6i8] {
    font-size: 3rem;
}

/* The foot shows passive metrics (trend, share) by default. On hover of a clickable card those fade
   out together and a single "View schools" action takes over the whole row, so the action never
   collides with the metrics the way two side-by-side texts did. */
.cc-foot[b-5f1eczu6i8] {
    position: relative;
    margin-top: auto;
    padding-top: 12px;
    min-height: 20px;
}

.cc-metrics[b-5f1eczu6i8] {
    display: flex;
    align-items: center;
    gap: 16px;
    transition: opacity 0.15s ease;
}

.cc-drill[b-5f1eczu6i8] {
    position: absolute;
    left: 0;
    top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--brand-dark);
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
}

.count-card.klick:hover .cc-metrics[b-5f1eczu6i8] {
    opacity: 0;
}

.count-card.klick:hover .cc-drill[b-5f1eczu6i8] {
    opacity: 1;
}

.cc-drill[b-5f1eczu6i8]  .rzi {
    font-size: 15px;
}

.cc-trend[b-5f1eczu6i8] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.cc-trend.up[b-5f1eczu6i8] {
    color: var(--pos);
}

.cc-trend.down[b-5f1eczu6i8] {
    color: var(--ink-2);
}

.cc-trend[b-5f1eczu6i8]  .rzi {
    font-size: 16px;
}

/* ---- info popover ---- */
.info[b-5f1eczu6i8] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    color: var(--ink-3);
    cursor: help;
    flex: none;
    outline: none;
}

.info:hover[b-5f1eczu6i8],
.info:focus-visible[b-5f1eczu6i8] {
    background: var(--brand-wash);
    color: var(--brand-dark);
}

.info[b-5f1eczu6i8]  .rzi {
    font-size: 17px;
}

.def-pop[b-5f1eczu6i8] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 264px;
    background: var(--card-bg);
    color: var(--ink-2);
    border: 1px solid var(--line);
    border-radius: 11px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
    padding: 12px 14px;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5;
    z-index: 30;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s;
    pointer-events: none;
}

.info:hover .def-pop[b-5f1eczu6i8],
.info:focus-within .def-pop[b-5f1eczu6i8] {
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* ---- state distribution ---- */
.dist[b-5f1eczu6i8] {
    margin-top: 16px;
}

.dist-bar[b-5f1eczu6i8] {
    display: flex;
    gap: 2px;
    height: 36px;
    border-radius: 9px;
    overflow: hidden;
    margin-bottom: 12px;
}

.dist-seg[b-5f1eczu6i8] {
    min-width: 4px;
    transition: filter 0.15s ease;
}

.dist-seg:hover[b-5f1eczu6i8] {
    filter: brightness(1.06);
}

.dist-legend[b-5f1eczu6i8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.leg-row[b-5f1eczu6i8] {
    display: grid;
    grid-template-columns: 12px 1fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 8px 8px;
    border-radius: 8px;
}

.leg-row.klick[b-5f1eczu6i8] {
    cursor: pointer;
}

.leg-row.klick:hover[b-5f1eczu6i8] {
    background: var(--brand-wash);
}

.leg-dot[b-5f1eczu6i8] {
    width: 11px;
    height: 11px;
    border-radius: 3px;
}

.leg-name[b-5f1eczu6i8] {
    font-size: 0.875rem;
    color: var(--ink);
}

.leg-val[b-5f1eczu6i8] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.leg-pct[b-5f1eczu6i8] {
    font-size: 0.75rem;
    color: var(--ink-3);
    width: 40px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ---- governance lane ---- */
.gov[b-5f1eczu6i8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.gov-tile[b-5f1eczu6i8] {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 15px;
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    position: relative;
    animation: dash-rise-b-5f1eczu6i8 0.4s ease both;
}

.gov-tile.klick[b-5f1eczu6i8] {
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.gov-tile.klick:hover[b-5f1eczu6i8] {
    border-color: var(--brand);
    background: var(--brand-wash);
}

.gov-ic[b-5f1eczu6i8] {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--brand-wash);
    color: var(--brand-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.gov-ic[b-5f1eczu6i8]  .rzi {
    font-size: 22px;
}

.gov-body[b-5f1eczu6i8] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gov-val[b-5f1eczu6i8] {
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.gov-name[b-5f1eczu6i8] {
    font-size: 0.8125rem;
    color: var(--ink-2);
}

.gov-arrow[b-5f1eczu6i8] {
    margin-left: auto;
    color: var(--ink-3);
}

.gov-arrow[b-5f1eczu6i8]  .rzi,
.gov-tile[b-5f1eczu6i8]  .gov-arrow {
    font-size: 20px;
}

.gov-tile .info[b-5f1eczu6i8] {
    margin-left: auto;
}

.gov-tile .info + .gov-arrow[b-5f1eczu6i8] {
    margin-left: 4px;
}

/* ---- skeleton ---- */
.dash-skeleton[b-5f1eczu6i8] {
    margin-top: 1rem;
}

.dash-skel-grid[b-5f1eczu6i8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
}

.dash-skel-card[b-5f1eczu6i8] {
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    min-height: 110px;
}

@keyframes dash-rise-b-5f1eczu6i8 {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .count-card[b-5f1eczu6i8],
    .gov-tile[b-5f1eczu6i8] {
        animation: none;
    }
}
/* /Components/Shared/MasteredMap.razor.rz.scp.css */
.mastered-map-container[b-adxm7cvzj2] {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 400px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--rz-base-background-color, #f9fafb);
}

/* Ensure Google Maps InfoWindow close button isn't clipped */
[b-adxm7cvzj2] .mastered-map-container .gm-style-iw-c {
    padding: 12px 20px 12px 12px !important;
}

.map-empty-overlay[b-adxm7cvzj2] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--rz-base-background-color, #f9fafb) 95%, transparent);
    z-index: 2;
}
/* /Components/Shared/SupportDialog.razor.rz.scp.css */
.support-label[b-blpbsfop6v] {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
    color: var(--rz-text-color);
}

.support-optional[b-blpbsfop6v] {
    font-weight: 400;
    color: var(--rz-text-tertiary-color);
}

/* Who the ticket is from, read-only. */
.support-who[b-blpbsfop6v] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 8px;
    background: var(--rz-base-background-color, transparent);
}

.support-who-name[b-blpbsfop6v] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--rz-text-color);
}

.support-who-email[b-blpbsfop6v] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

/* Category / priority chips. */
.support-chips[b-blpbsfop6v] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.support-chip[b-blpbsfop6v] {
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--rz-text-color);
    font-size: 0.82rem;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.support-chip:hover[b-blpbsfop6v] {
    border-color: var(--rz-primary);
}

.support-chip.sel[b-blpbsfop6v] {
    background: var(--rz-primary);
    border-color: var(--rz-primary);
    color: var(--rz-primary-contrast, #fff);
    font-weight: 600;
}

/* File drop zone (the native input is hidden and fills the label). */
.support-drop[b-blpbsfop6v] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    padding: 1rem;
    border: 1.5px dashed var(--rz-border-color);
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: border-color 0.12s ease, background-color 0.12s ease;
}

.support-drop:hover[b-blpbsfop6v] {
    border-color: var(--rz-primary);
    background: color-mix(in srgb, var(--rz-primary) 6%, transparent);
}

.support-drop-main[b-blpbsfop6v] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-color);
}

.support-drop-hint[b-blpbsfop6v] {
    font-size: 0.75rem;
    color: var(--rz-text-tertiary-color);
}

/* InputFile renders a child-component <input>, so it needs ::deep to be reached and hidden. */
.support-drop[b-blpbsfop6v]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Selected files. */
.support-files[b-blpbsfop6v] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.support-file[b-blpbsfop6v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 6px;
}

.support-file-name[b-blpbsfop6v] {
    flex: 1;
    font-size: 0.82rem;
    color: var(--rz-text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.support-file-size[b-blpbsfop6v] {
    font-size: 0.75rem;
    color: var(--rz-text-tertiary-color);
}

.support-file-remove[b-blpbsfop6v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0.15rem;
    border-radius: 4px;
    color: var(--rz-text-tertiary-color);
}

.support-file-remove:hover[b-blpbsfop6v] {
    color: var(--rz-danger);
    background: color-mix(in srgb, var(--rz-danger) 10%, transparent);
}

/* Required-field marker on labels. */
.support-req[b-blpbsfop6v] {
    color: var(--rz-danger);
    font-weight: 700;
}

/* Live character counter under subject / description. */
.support-count[b-blpbsfop6v] {
    margin-top: 0.25rem;
    font-size: 0.72rem;
    text-align: right;
    color: var(--rz-text-tertiary-color);
}

.support-count.warn[b-blpbsfop6v] {
    color: var(--rz-danger);
    font-weight: 600;
}

/* Accepted attachment types, under the size/count hint. */
.support-drop-types[b-blpbsfop6v] {
    font-size: 0.72rem;
    color: var(--rz-text-tertiary-color);
    margin-top: 0.1rem;
}

/* Success state. */
.support-sent[b-blpbsfop6v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 0.5rem;
}
/* /Pages/Configurations/SectionConfigurations.razor.rz.scp.css */

/* Approval-configuration explanation callout (US 6608) -- draws attention to what this screen
   does and the critical "no approvers = auto-approve" rule. */
.approval-callout[b-fzqtrb2dfn] {
    position: relative;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-top: 1rem;
    padding: 0.9rem 2.6rem 0.9rem 1.15rem;
    border: 1px solid color-mix(in srgb, var(--rz-info, #2196f3) 28%, transparent);
    border-left: 4px solid var(--rz-info, #2196f3);
    border-radius: 10px;
    background: color-mix(in srgb, var(--rz-info, #2196f3) 7%, var(--rz-base-background-color, #ffffff));
}

/* Dismiss control: subtle grey, becomes solid on hover; positioned in the top-right of the callout. */
.approval-callout-close[b-fzqtrb2dfn] {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--rz-text-tertiary-color, #6b7280);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.approval-callout-close:hover[b-fzqtrb2dfn] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 9%, transparent);
    color: var(--rz-text-color, #1b1d20);
}

/* Win over the info-blue .approval-callout .rzi rule so the X reads grey, not blue. */
.approval-callout .approval-callout-close[b-fzqtrb2dfn]  .rzi {
    color: inherit;
    font-size: 1.15rem;
    line-height: 1;
}

.approval-callout[b-fzqtrb2dfn]  .rzi {
    color: var(--rz-info, #2196f3);
    font-size: 1.35rem;
    line-height: 1.4;
    flex-shrink: 0;
}

.approval-callout-body[b-fzqtrb2dfn] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.approval-callout-title[b-fzqtrb2dfn] {
    font-weight: 700;
    font-size: 0.95rem;
}

.approval-callout-body p[b-fzqtrb2dfn] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--rz-text-color, #1b1d20);
}

.approval-callout-warn[b-fzqtrb2dfn] {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-top: 0.15rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    background: color-mix(in srgb, var(--rz-warning, #ff9800) 13%, transparent);
}

.approval-callout-warn[b-fzqtrb2dfn]  .rzi {
    color: var(--rz-warning, #ff9800);
    font-size: 1.1rem;
    line-height: 1.35;
}

/* Make the currently-selected organization type unmistakable */
.selected-type[b-fzqtrb2dfn] {
    display: flex;
    flex-direction: column;
}

.selected-type-eyebrow[b-fzqtrb2dfn] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--rz-text-tertiary-color, #6b7280);
}
/* /Pages/Descriptors/DescriptorManagement.razor.rz.scp.css */
.code-value[b-aukcjzon6j] {
    font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
    color: var(--rz-primary, #004af2);
    font-size: 0.875rem;
}

.namespace-text[b-aukcjzon6j] {
    color: var(--rz-text-tertiary-color, #74797e);
    font-size: 0.8125rem;
}

.sort-order-text[b-aukcjzon6j] {
    color: var(--rz-text-tertiary-color, #74797e);
    font-size: 0.8125rem;
}

.system-tag[b-aukcjzon6j] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--rz-text-tertiary-color, #74797e);
    text-transform: lowercase;
    letter-spacing: 0.03em;
}
/* /Pages/Organizations/NewSchool/NewSchoolWizard.razor.rz.scp.css */
.wizard-skeleton[b-0tlfqxpe23] {
    padding: 1rem 0;
}

.skeleton-content[b-0tlfqxpe23] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0;
    min-height: 200px;
}

.skeleton-form-grid[b-0tlfqxpe23] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.skeleton-buttons[b-0tlfqxpe23] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--rz-base-300, #dfe5ec);
}
/* /Pages/Organizations/Search.razor.rz.scp.css */
/* Page-specific styles. The page uses the canonical EwDataGrid scaffold: the grid owns
   search/filters/pager, and the map renders as its AlternateView (view toggle in the
   grid's filter strip). */

/* Make the page a bounded flex column so the FillHeight grid scrolls inside its own
   region (sticky header, pinned pager + horizontal scrollbar) instead of the whole page.
   The page header stays fixed at the top; the grid takes the remaining height. */
.org-search-fill[b-t8i06gg570] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Map View Container -- hosted inside the grid card's AlternateView slot, so the card
   provides the frame; this container only positions/sizes the map internals. */
.map-view-container[b-t8i06gg570] {
    position: relative;
    overflow: hidden;
    min-height: 400px;
}

/* Map List Panel */
.map-list-panel[b-t8i06gg570] {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-right: 1px solid var(--rz-base-300, #dfe5ec);
    background: var(--rz-base-background-color, #ffffff);
    overflow: hidden;
}

.map-list-header[b-t8i06gg570] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent);
    flex-shrink: 0;
}

.map-list-scroll[b-t8i06gg570] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.map-list-item[b-t8i06gg570] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent);
    transition: background 0.15s;
    border-left: 3px solid transparent;
}

.map-list-item:hover[b-t8i06gg570] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 5%, transparent);
}

.map-list-item.selected[b-t8i06gg570] {
    background: color-mix(in srgb, var(--rz-primary) 8%, transparent);
    border-left-color: var(--rz-primary, #004af2);
}

/* No-coords items are distinguished by the muted number bubble (location_off icon) only.
   Container opacity is a contrast trap: it alpha-blends every descendant (text, badges)
   below WCAG AA even when their own colors comply. */

.map-list-number[b-t8i06gg570] {
    width: 28px;
    height: 28px;
    font-weight: 600;
    background: color-mix(in srgb, var(--rz-primary) 8%, transparent);
    /* 12px digit on the tint needs 4.5:1; raw primary is ~4.4. The text-color mix darkens
       on light / lightens on dark. */
    color: color-mix(in srgb, var(--rz-primary) 85%, var(--rz-text-color, #1b1d20));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}

/* Status badge is a direct row child (vertically centered by the row's align-items). */
.map-list-item[b-t8i06gg570]  .ew-status-badge {
    flex-shrink: 0;
}

.map-list-number.no-location[b-t8i06gg570] {
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 8%, transparent);
    color: var(--rz-text-secondary-color, #454a4f);
}

.map-list-item.selected .map-list-number[b-t8i06gg570] {
    background: var(--rz-primary, #004af2);
    /* on-primary, not white: dark palettes use a LIGHT primary, where white would vanish. */
    color: var(--rz-on-primary, #fff);
}

.map-list-info[b-t8i06gg570] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    gap: 0.125rem;
}

.map-list-name[b-t8i06gg570] {
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--rz-text-color, #1b1d20);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.map-list-detail[b-t8i06gg570] {
    font-size: 0.75rem;
    /* secondary, not tertiary: 12px on the panel wash needs 4.5:1 (tertiary = 4.2 in light) */
    color: var(--rz-text-secondary-color, #454a4f);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.map-list-footer[b-t8i06gg570] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    border-top: 1px solid var(--rz-base-300, #dfe5ec);
    flex-shrink: 0;
    background: color-mix(in srgb, var(--rz-text-color, #1b1d20) 4%, transparent);
}

.map-list-page-info[b-t8i06gg570] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color, #454a4f);
    white-space: nowrap;
}

/* Map-list empty state now renders via EwEmptyState (SDK-owned styling). */

/* Grid Cell Styling */
.org-id[b-t8i06gg570] {
    font-family: 'SF Mono', 'Consolas', monospace;
    color: var(--rz-text-tertiary-color);
    font-size: 0.875rem;
}

.org-name-cell[b-t8i06gg570] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.org-name[b-t8i06gg570] {
    font-weight: 600;
    color: var(--rz-text-color, #1b1d20);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.org-short-name[b-t8i06gg570] {
    font-size: 0.8125rem;
    color: var(--rz-text-tertiary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.org-category[b-t8i06gg570] {
    font-size: 0.875rem;
    color: var(--rz-text-secondary-color, #454a4f);
}

.org-address[b-t8i06gg570] {
    font-size: 0.875rem;
    color: var(--rz-text-tertiary-color, #74797e);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Skeleton Styles */
.search-skeleton[b-t8i06gg570] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.skeleton-filter-bar[b-t8i06gg570] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--rz-base-background-color, #ffffff);
    border: 1px solid color-mix(in srgb, var(--rz-text-color, #1b1d20) 10%, transparent);
    border-radius: 10px;
}


/* Column header help affordance (e.g. Child Schools definition) */
.org-col-help[b-t8i06gg570] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    cursor: help;
}

/* Radzen renders its icon as <i class="rzi"> (not .rz-icon), default 24px. Shrink and mute
   it so it reads as a subtle help hint next to the header, not a heavy glyph. */
.org-col-help[b-t8i06gg570]  .rzi {
    font-size: 0.875rem;
    width: 0.875rem;
    height: 0.875rem;
    line-height: 1;
    color: var(--rz-text-tertiary-color, #9ca3af);
}

/* Derived count cells (e.g. Child Schools) */
.org-child-count[b-t8i06gg570] {
    font-variant-numeric: tabular-nums;
}
/* /Pages/Requests/Approvals.razor.rz.scp.css */
.section-badge[b-zyzv5gui53] {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    background: color-mix(in srgb, var(--rz-primary) 8%, transparent);
    color: var(--rz-primary, #004af2);
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}
/* /Pages/Requests/ViewChangeRequests.razor.rz.scp.css */
/* Empty state now renders via EwEmptyState (SDK-owned styling). */

.section-text[b-gvmmg9mzf3] {
    color: var(--rz-text-secondary-color, #454a4f);
    font-size: 0.875rem;
}
/* /Pages/SignedOut.razor.rz.scp.css */
.signed-out[b-g30lwh6jtm] {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    background:
        radial-gradient(120% 75% at 50% 28%, rgba(37, 99, 235, 0.08), transparent 62%),
        #f6f8fc;
    color: #1b1d20;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    text-align: center;
    padding: 1.5rem;
}

html[data-theme="dark"] .signed-out[b-g30lwh6jtm] {
    background:
        radial-gradient(120% 75% at 50% 28%, rgba(59, 130, 246, 0.16), transparent 62%),
        #0f1420;
    color: #eef1f6;
}

.signed-out-mark[b-g30lwh6jtm] {
    width: 56px;
    height: 56px;
    filter: drop-shadow(0 6px 16px rgba(37, 99, 235, 0.20));
    animation: so-pop-b-g30lwh6jtm 0.55s cubic-bezier(0.2, 0.85, 0.25, 1) both;
}
.signed-out-mark img[b-g30lwh6jtm] { display: block; width: 100%; height: 100%; }

.signed-out-title[b-g30lwh6jtm] { font-weight: 600; font-size: 1.28rem; letter-spacing: 0.01em; }

.signed-out-sub[b-g30lwh6jtm] { font-size: 0.85rem; color: #6b7280; }
html[data-theme="dark"] .signed-out-sub[b-g30lwh6jtm] { color: #9aa6bd; }

.signed-out-btn[b-g30lwh6jtm] {
    margin-top: 0.35rem;
    border: none;
    cursor: pointer;
    padding: 0.6rem 1.45rem;
    border-radius: 9px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(90deg, #3b82f6, #1e3fa8);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.22);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.signed-out-btn:hover[b-g30lwh6jtm] { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(37, 99, 235, 0.36); }
.signed-out-btn:active[b-g30lwh6jtm] { transform: translateY(0); }

.signed-out-foot[b-g30lwh6jtm] {
    position: absolute;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.signed-out-poweredby[b-g30lwh6jtm] {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #98a2b3;
}
.signed-out-edw[b-g30lwh6jtm] { height: 20px; width: auto; display: block; opacity: 0.95; }
.signed-out-edw-dark[b-g30lwh6jtm] { display: none; }
html[data-theme="dark"] .signed-out-edw-light[b-g30lwh6jtm] { display: none; }
html[data-theme="dark"] .signed-out-edw-dark[b-g30lwh6jtm] { display: block; }

@keyframes so-pop-b-g30lwh6jtm {
    from { opacity: 0; transform: scale(0.85) translateY(8px); }
    to   { opacity: 1; transform: none; }
}
/* /Pages/Unauthorized.razor.rz.scp.css */
.unauth[b-s30ja9op0s] {
    position: fixed;
    inset: 0;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background:
        radial-gradient(120% 60% at 50% 0%, rgba(37, 99, 235, 0.06), transparent 60%),
        #f6f8fc;
    color: #1b1d20;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    padding: 3rem 1.5rem;
}

html[data-theme="dark"] .unauth[b-s30ja9op0s] {
    background:
        radial-gradient(120% 60% at 50% 0%, rgba(59, 130, 246, 0.12), transparent 60%),
        #0f1420;
    color: #eef1f6;
}

.unauth-card[b-s30ja9op0s] {
    width: 100%;
    max-width: 720px;
}

.unauth-brand[b-s30ja9op0s] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 1.25rem;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.01em;
}

.unauth-brand img[b-s30ja9op0s] {
    display: block;
}

.unauth-title[b-s30ja9op0s] {
    margin: 0 0 0.75rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
}

.unauth-body[b-s30ja9op0s] {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    color: #495265;
}

html[data-theme="dark"] .unauth-body[b-s30ja9op0s] {
    color: #b8c0d0;
}

.unauth-alert[b-s30ja9op0s] {
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #fdf4e3;
    border: 1px solid #f2d9a8;
    border-left: 4px solid #e0a13c;
    color: #6b4e1f;
    font-size: 0.92rem;
    line-height: 1.45;
    margin-bottom: 1rem;
}

html[data-theme="dark"] .unauth-alert[b-s30ja9op0s] {
    background: rgba(224, 161, 60, 0.12);
    border-color: rgba(224, 161, 60, 0.35);
    border-left-color: #e0a13c;
    color: #f0d9a8;
}

.unauth-note[b-s30ja9op0s] {
    margin: 0 0 1rem;
    font-size: 0.8rem;
    color: #6b7280;
}

html[data-theme="dark"] .unauth-note[b-s30ja9op0s] {
    color: #9aa6bd;
}

.unauth-diag[b-s30ja9op0s] {
    background: #ffffff;
    border: 1px solid #e2e6ee;
    border-radius: 12px;
    padding: 1rem 1.1rem;
    margin-bottom: 1.25rem;
}

html[data-theme="dark"] .unauth-diag[b-s30ja9op0s] {
    background: #161c2b;
    border-color: #2a3346;
}

.unauth-diag-h[b-s30ja9op0s] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #495265;
    margin-bottom: 0.5rem;
}

html[data-theme="dark"] .unauth-diag-h[b-s30ja9op0s] {
    color: #b8c0d0;
}

.unauth-diag-block[b-s30ja9op0s] {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.8rem;
    line-height: 1.5;
    margin: 0 0 0.75rem;
    color: #1b1d20;
}

html[data-theme="dark"] .unauth-diag-block[b-s30ja9op0s] {
    color: #dfe4ee;
}

.unauth-actions[b-s30ja9op0s] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.unauth-btn[b-s30ja9op0s] {
    cursor: pointer;
    padding: 0.55rem 1.15rem;
    border-radius: 9px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #1b1d20;
    background: #ffffff;
    border: 1px solid #ccd2de;
    transition: background 0.12s ease, border-color 0.12s ease, transform 0.12s ease;
}

.unauth-btn:hover[b-s30ja9op0s] {
    background: #f0f3f8;
    border-color: #9aa6bd;
}

.unauth-btn:active[b-s30ja9op0s] {
    transform: translateY(1px);
}

.unauth-btn.small[b-s30ja9op0s] {
    padding: 0.4rem 0.85rem;
    font-size: 0.82rem;
}

.unauth-btn.primary[b-s30ja9op0s] {
    color: #fff;
    background: linear-gradient(90deg, #3b82f6, #1e3fa8);
    border: none;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.22);
}

.unauth-btn.primary:hover[b-s30ja9op0s] {
    background: linear-gradient(90deg, #4a8dfa, #24379a);
}

html[data-theme="dark"] .unauth-btn[b-s30ja9op0s] {
    color: #eef1f6;
    background: #1b2233;
    border-color: #38425a;
}

html[data-theme="dark"] .unauth-btn:hover[b-s30ja9op0s] {
    background: #232c40;
    border-color: #4a5670;
}
