h1:focus {
    outline: none;
}

/* DevExpress themes define an accent color for plain links. ProvisionCore keeps
   navigation and actions monochrome unless a component explicitly opts out. */
a {
    color: inherit;
}

a.inline-flex[class~="bg-[#171717]"],
button.inline-flex[class~="bg-[#171717]"] {
    color: #fff !important;
}

a.inline-flex[class~="bg-[#d4d4d4]"],
button.inline-flex[class~="bg-[#d4d4d4]"],
a.inline-flex[class~="bg-[#f5f5f5]"],
button.inline-flex[class~="bg-[#f5f5f5]"],
a.inline-flex[class~="bg-white"],
button.inline-flex[class~="bg-white"] {
    color: #171717 !important;
}

a.inline-flex[class~="bg-white/5"] {
    color: #fff !important;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
/* Menus keep their text-link appearance with optional Font Awesome icons. */
.menu-text-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 2.25rem;
    border: 0;
    border-radius: 0;
    padding: .35rem 0;
    background: transparent;
    color: #525252;
    box-shadow: none;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}
.menu-text-link::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: currentColor;
    opacity: 0;
}
.menu-text-link:hover,
.menu-text-link.active,
.menu-text-link[aria-current="page"] {
    color: #171717;
}
.menu-text-link:hover::after,
.menu-text-link.active::after,
.menu-text-link[aria-current="page"]::after {
    opacity: 1;
}
.menu-text-link:focus-visible {
    outline: 2px solid #525252;
    outline-offset: 4px;
}
.menu-link-icon {
    flex: none;
    width: 1.15em;
    text-align: center;
}
.responsive-menu {
    min-width: 0;
}
.header-menu {
    flex: 1 1 0%;
    min-width: 6rem;
}
.menu-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem 1rem;
}
.menu-items-start {
    justify-content: flex-start;
}
.menu-items-vertical {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
}
/* Keep labels visible: touch users should not have to identify icons by memory. */
.responsive-menu .menu-text-link { min-height:44px; }
.menu-items-vertical .menu-text-link { justify-content:flex-start; white-space:normal; text-align:left; }
@media(max-width:720px) {
    .menu-items { justify-content:flex-start; gap:4px 16px; }
    .header-menu { flex-basis:100%; }
}

/* Shared DevExpress grid headers. */
.dashboard-stats.dashboard-stats--available { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-stats--available .dashboard-stat,
.dashboard-stats--available .dashboard-stat--priority { grid-column:auto; min-height:165px; }
.dashboard-stats--available .dashboard-stat:focus-visible { outline:2px solid #525252; outline-offset:4px; }
.workspace-checklist { margin:22px 0 0; padding-left:22px; }
.workspace-checklist li { padding:0 0 20px 8px; color:#525252; }
.workspace-checklist a { display:inline-block; padding:6px 0; color:#171717; font-weight:700; text-underline-offset:4px; }
.workspace-checklist span { display:block; font-size:14px; line-height:1.6; }
@media(max-width:700px) { .dashboard-stats.dashboard-stats--available { grid-template-columns:1fr; } }

.dxbl-grid .dxbl-grid-header-row > th,
.dxbl-grid .dxbl-grid-header-row > td {
    background: #eceff2 !important;
    color: #171717 !important;
    border-bottom-color: #cfd4da !important;
    font-weight: 400 !important;
}
.dxbl-grid .dxbl-grid-header-row .dxbl-grid-header-content {
    color: #171717 !important;
    font-weight: 400 !important;
}
/* All grid copy uses regular weight, including cell templates, group/summary
   rows, headers and controls. Keep icon-font weights intact: Font Awesome
   selects its glyph set using font-weight, so a universal * reset breaks icons. */
.dxbl-grid {
    --dxbl-grid-header-font-weight: 400;
    font-weight: 400;
}
:is(.dxbl-grid, .my-credit-table) :where(th, td, a, button, label, input, select, textarea, span, div,
                  p, small, strong, b, em, mark, h1, h2, h3, h4, h5, h6):not([class*="fa-"], .fa, .fas, .far, .fal, .fab, .fad, .fat) {
    font-weight: 400 !important;
}
.dxbl-grid .dxbl-pager-page-size-selector > label.dxbl-text {
    font-weight: 400 !important;
}
.grid-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.grid-action {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfd4da;
    border-radius: 3px;
    background: #fff;
    color: #404040;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, color .15s;
}
.grid-action:hover:not(:disabled) {
    border-color: #171717;
    background: #171717;
    color: #fff;
}
.grid-action--danger:hover:not(:disabled) {
    border-color: #b91c1c;
    background: #b91c1c;
}
.grid-action:disabled {
    border-color: #e5e7eb;
    background: #f5f5f5;
    color: #b0b0b0;
    cursor: not-allowed;
}
.grid-action:focus-visible {
    outline: 2px solid #525252;
    outline-offset: 2px;
}
/* Shared role-dashboard presentation. */
.dashboard-overview{padding:30px 0 6px}.dashboard-stats{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-bottom:22px}.dashboard-stat{position:relative;grid-column:span 2;min-height:178px;padding:24px;overflow:hidden;border:1px solid #d7d7d7;background:#fff;color:#171717;text-decoration:none}.dashboard-stat--priority{grid-column:span 4;background:linear-gradient(135deg,#111,#202020);color:#fff}.dashboard-stat__top{position:relative;display:flex;align-items:center;gap:9px;margin-bottom:22px;color:#bdbdbd}.dashboard-stat__top small{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.dashboard-stat__icon{position:absolute;right:20px;top:21px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #e1e1e1;color:#5e5e5e}.dashboard-stat__value{position:relative;display:block;font-size:clamp(42px,4vw,58px);font-weight:900;line-height:.85;letter-spacing:-.055em}.dashboard-stat strong{position:relative;display:block;margin-top:20px;font-size:15px}.dashboard-stat>small{display:block;margin-top:5px;color:#737373;font-size:12px}.dashboard-stat__link{position:absolute;right:24px;bottom:24px;color:#c7c7c7;font-size:12px;font-weight:700}.dashboard-panels{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:22px}.dashboard-panel{position:relative;min-height:475px;padding:32px;overflow:hidden}.dashboard-panel--pending{border-top:3px solid #171717}.dashboard-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.dashboard-panel__count{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;background:#171717;color:#fff;font-weight:800}.dashboard-pending{margin:0;padding:0;list-style:none}.dashboard-pending li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:68px;border-bottom:1px solid #e7e7e7}.dashboard-pending__avatar{display:grid;place-items:center;width:36px;height:36px;background:#f0f0ef}.dashboard-pending div strong,.dashboard-pending div span,.dashboard-pending div small{display:block}.dashboard-pending div span{color:#737373;font-size:12px}.dashboard-pending div small{color:#9a9a9a;font-size:10px}.dashboard-pending a,.dashboard-panel__footer{color:#171717;font-size:12px;font-weight:700;text-decoration:none}.dashboard-panel__footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid #d9d9d9}.dashboard-empty{display:grid;place-items:center;min-height:260px;text-align:center}.dashboard-empty i{font-size:42px}.dashboard-empty p{margin:14px 0 0;font-weight:800}.dashboard-empty small{color:#737373}.dashboard-actions{display:grid;gap:10px}.dashboard-actions a{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:15px;min-height:74px;padding:12px 15px;border:1px solid #dedede;background:#fff;color:#171717;text-decoration:none}.dashboard-action__icon{display:grid;place-items:center;width:44px;height:44px;background:#171717;color:#fff}.dashboard-actions strong,.dashboard-actions small{display:block}.dashboard-actions small{margin-top:4px;color:#737373;font-size:11px}.dashboard-actions b{color:#d2d2d2;font-size:10px}@media(max-width:1100px){.dashboard-stat--priority{grid-column:span 6}.dashboard-stat{grid-column:span 3}.dashboard-panels{grid-template-columns:1fr}}@media(max-width:700px){.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stat{grid-column:span 1}.dashboard-stat--priority{grid-column:1/-1}.dashboard-panel{min-height:auto;padding:24px 20px}}@media(max-width:480px){.dashboard-stats{grid-template-columns:1fr}.dashboard-stat,.dashboard-stat--priority{grid-column:1}}

/* Shared blue accent for filled administrative surfaces. */
.grid-action:not(.grid-action--danger):hover:not(:disabled),
.dashboard-stat--priority,
.dashboard-panel__count,
.dashboard-action__icon {
    border-color: #79a9b8;
    background: rgb(149, 196, 211);
    color: #172e36;
}
.dashboard-stat--priority .dashboard-stat__top,
.dashboard-stat--priority .dashboard-stat__link { color: #315561; }
.dashboard-panel--pending { border-top-color: rgb(149, 196, 211); }

/* Account and authentication sidebars use the shared blue surface with dark copy. */
.access-grid > :first-child,
.account-manage-shell > .grid > section:first-child {
    background: rgb(149, 196, 211) !important;
    color: #0a0a0a;
}
.access-grid > :first-child > .absolute.inset-0:first-child,
.account-manage-shell > .grid > section:first-child > .absolute.inset-0:first-child {
    background: rgb(149, 196, 211) !important;
}
.access-grid > :first-child [class*="text-neutral-"],
.access-grid > :first-child [class*="text-white"],
.account-manage-shell > .grid > section:first-child [class*="text-neutral-"],
.account-manage-shell > .grid > section:first-child [class*="text-white"] {
    color: #0a0a0a !important;
}
html {
    scrollbar-gutter: stable;
}
