html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.map-page .esri-view,
.map-page .esri-view:focus,
.map-page .esri-view:focus-visible,
.map-page .esri-view-root,
.map-page .esri-view-root:focus,
.map-page .esri-view-root:focus-visible,
.map-page .esri-view-surface,
.map-page .esri-view-surface:focus,
.map-page .esri-view-surface:focus-visible,
.map-page .esri-view-surface--inset-outline,
.map-page .esri-view-surface--inset-outline:focus,
.map-page .esri-view-surface--inset-outline:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.map-page .esri-view-surface--inset-outline::after,
.map-page .esri-view-surface--inset-outline:focus::after,
.map-page .esri-view-surface--inset-outline:focus-visible::after {
    border: 0 !important;
    box-shadow: none !important;
    outline: none !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;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

:root {
    --pp-bg: #0a0d12;
    --pp-panel: #121926;
    --pp-panel-2: #0f151f;
    --pp-border: #243247;
    --pp-text: #e9f0ff;
    --pp-muted: #9fb0c9;
    --pp-accent: #2ea8ff;
    --pp-radius-lg: 14px;
    --pp-radius-md: 10px;
    --pp-radius-sm: 8px;
    --pp-radius-pill: 999px;
}

html.theme-booting *,
html.theme-booting *::before,
html.theme-booting *::after {
    transition: none !important;
}

html.theme-dark,
html.theme-dark body {
    background: radial-gradient(circle at 10% 0%, #162436 0%, var(--pp-bg) 45%) !important;
    color: var(--pp-text) !important;
}

html.theme-light,
html.theme-light body {
    background: #f2f6fb !important;
    color: #1b2f46 !important;
}

html, body {
    background: #f2f6fb !important;
    color: #1b2f46 !important;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden !important;
    margin: 0;
}

.page, main, .main-layout {
    background: transparent !important;
    color: var(--pp-text) !important;
}

.page,
main {
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden !important;
}

.main-layout {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
}

.workspace-shell {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.rz-layout, .rz-main, .rz-body, .rz-content, .rz-sidebar {
    background: transparent !important;
    color: var(--pp-text) !important;
}

.rz-layout,
.rz-main,
.rz-content {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.rz-body {
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: hidden !important;
    overflow-x: hidden !important;
}

.rz-sidebar {
    height: 100% !important;
    overflow: hidden !important;
}

.project-sidebar {
    width: 320px !important;
    border-right: 1px solid var(--pp-border) !important;
    box-shadow: none !important;
}

.main-content-shell {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 1.25rem;
}

@media (max-height: 760px) {
    html, body, .page, main {
        overflow-y: auto !important;
        height: auto !important;
        min-height: 100dvh !important;
    }
}

.top-bar {
    background: linear-gradient(180deg, var(--pp-panel) 0%, var(--pp-panel-2) 100%) !important;
    border: 1px solid var(--pp-border);
    border-radius: 0;
    padding: 0.75rem 1rem;
    margin-bottom: 0.65rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.title {
    display: flex;
    align-items: center;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

.logo {
    height: 28px;
    width: auto;
    display: block;
}

.nav-center {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    gap: 22px;
    overflow: hidden;
}

.nav-center a {
    color: #dce8ff !important;
    text-decoration: none;
    font-size: 0.95rem;
    white-space: nowrap;
}

.nav-center a:hover {
    color: #9fd2ff !important;
    text-decoration: none;
}

.user {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-name {
    color: #e9f0ff !important;
    font-size: 0.95rem;
}

.gear-btn .rz-button-text {
    display: none;
}

.gear-btn {
    min-width: 2.2rem;
    min-height: 2.2rem;
    border-radius: var(--pp-radius-md) !important;
    box-shadow: none !important;
}

.gear-btn .rzi {
    color: inherit !important;
}

.breadcrumb-bar {
    padding: 6px 12px;
}

.breadcrumb-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #111a28 !important;
    border: 1px solid #2a3a54 !important;
    border-radius: var(--pp-radius-pill);
    padding: 6px 12px;
    box-shadow: none !important;
}

.crumb-link {
    color: #9fd2ff !important;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
}

.crumb-link:hover {
    text-decoration: underline;
}

.crumb-current {
    color: #dce8ff !important;
    font-weight: 700;
    line-height: 1.2;
}

.crumb-sep {
    color: #5f7598 !important;
    margin: 0 6px;
}

.search-wrap {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    background: #0f1724 !important;
    border: 1px solid #2a3a54 !important;
    border-radius: var(--pp-radius-pill);
    padding: 0.25rem 0.5rem;
}

.search-wrap .rz-textbox {
    background: transparent;
    border: 0;
}

.sidebar-shell {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-top: 1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.tree-scroll {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0.6rem;
    overflow: auto;
    padding-right: 0.25rem;
}

.tree-scroll .pm-tree,
.tree-scroll .pm-tree.rz-tree,
.tree-scroll .rz-tree,
.tree-scroll .rz-tree-root,
.tree-scroll .rz-tree-node,
.tree-scroll .rz-treenode,
.tree-scroll .rz-tree-item-content {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

.pm-tree .pm-tree-text {
    color: #d8e4fa !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pm-tree .pm-tree-icon {
    color: #ff9f1a !important;
    opacity: 0.95 !important;
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.pm-tree .pm-tree-row {
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--pp-radius-sm) !important;
    transition: background-color .12s ease, border-color .12s ease, color .12s ease;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 4px 8px;
    line-height: 1.2;
    cursor: pointer;
}

.pm-tree .pm-tree-row:hover {
    background: rgba(255, 159, 26, 0.10) !important;
    border-color: rgba(255, 159, 26, 0.45) !important;
    box-shadow: none !important;
}

.pm-tree .pm-tree-row.selected {
    background: rgba(46, 168, 255, 0.12) !important;
    border-color: rgba(46, 168, 255, 0.45) !important;
    color: #dce8ff !important;
    box-shadow: none !important;
    outline: none !important;
    font-weight: 700;
}

.pm-tree .pm-tree-row:focus,
.pm-tree .pm-tree-row:focus-visible {
    outline: none !important;
    box-shadow: inset 0 0 0 1px #3a5c88 !important;
}

.pm-tree .rz-tree-item-content,
.pm-tree .rz-tree-item-content:hover,
.pm-tree .rz-tree-item-content.rz-state-hover,
.pm-tree .rz-tree-item-content.rz-state-focused,
.pm-tree .rz-tree-item-content.rz-state-highlight,
.pm-tree .rz-treenode-content,
.pm-tree .rz-treenode-content:hover,
.pm-tree .rz-treenode-content.rz-state-hover,
.pm-tree .rz-treenode-content.rz-state-focused,
.pm-tree .rz-treenode-content.rz-state-highlight,
.pm-tree .rz-treenode-label,
.pm-tree .rz-treenode-label:hover {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

.rz-card, .rz-panel, .rz-fieldset, .rz-datagrid, .rz-data-grid, .rz-accordion, .rz-tree {
    background: linear-gradient(180deg, var(--pp-panel) 0%, var(--pp-panel-2) 100%) !important;
    color: var(--pp-text) !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 0 !important;
}

.rz-grid-table thead th, .rz-datatable thead th {
    background: #152033 !important;
    color: #dce8ff !important;
    border-color: var(--pp-border) !important;
}

.rz-grid-table tbody td, .rz-datatable tbody td {
    background: #0f1724 !important;
    color: #dce8ff !important;
    border-color: #1e2b40 !important;
}

.rz-inputtext, .rz-dropdown, .rz-textarea, .rz-numeric-input, .rz-datepicker input, input, select, textarea {
    background: #162130 !important;
    color: #dce8ff !important;
    border: 1px solid #2b3a52 !important;
}

.rz-button.rz-light {
    background: #1b2534 !important;
    border-color: #2b3a52 !important;
    color: #dce8ff !important;
    border-radius: var(--pp-radius-md) !important;
}

.rz-accordion .rz-accordion-header,
.rz-accordion .rz-accordion-header .rz-accordion-header-link {
    background: #142133 !important;
    color: #dce8ff !important;
    border-color: var(--pp-border) !important;
}

.rz-accordion .rz-accordion-content,
.rz-accordion .rz-accordion-content-wrapper {
    background: #101825 !important;
    color: #dce8ff !important;
    border-color: var(--pp-border) !important;
}

.rz-accordion .rz-accordion-item {
    border: 1px solid #2a3f5f !important;
    border-radius: 0 !important;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    margin-bottom: 0.65rem;
}

.rz-header {
    background: linear-gradient(180deg, #132238 0%, #101b2d 100%) !important;
    border: 1px solid #274062 !important;
}

.rz-header .rz-sidebar-toggle,
.rz-header .rz-icon {
    color: #dce8ff !important;
}

.rz-header .rz-sidebar-toggle {
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--pp-radius-sm) !important;
    box-shadow: none !important;
    transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}

.rz-header .rz-sidebar-toggle:hover,
.rz-header .rz-sidebar-toggle:focus,
.rz-header .rz-sidebar-toggle:focus-visible,
.rz-header .rz-sidebar-toggle.rz-state-hover,
.rz-header .rz-sidebar-toggle.rz-state-focused {
    background: rgba(46, 168, 255, 0.14) !important;
    border-color: rgba(46, 168, 255, 0.45) !important;
    color: #dce8ff !important;
    box-shadow: none !important;
}

.rz-notification-container {
    position: fixed !important;
    top: 1rem !important;
    right: 1rem !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 20001 !important;
}

.settings-panel {
    background: #0f1724;
    color: #dce8ff;
    min-height: 100%;
    padding: 14px;
}

.settings-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    font-size: 1.05rem;
}

.settings-group {
    margin-bottom: 10px;
}

.settings-label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: #9fb0c9;
    margin-bottom: 0.3rem;
}

.settings-select {
    width: 100%;
    background: #162130 !important;
    border: 1px solid #2b3a52 !important;
    color: #dce8ff !important;
    border-radius: var(--pp-radius-md) !important;
    padding: 0.45rem 0.5rem !important;
}

.settings-select:focus,
.settings-select:focus-visible {
    outline: none !important;
    border-color: #4b7eb8 !important;
    box-shadow: 0 0 0 2px rgba(46, 168, 255, 0.2) !important;
}

.settings-panel > .rz-button,
.settings-panel form .rz-button {
    border-radius: var(--pp-radius-md) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

.rz-dialog,
.rz-dialog-wrapper .rz-dialog {
    border-radius: calc(var(--pp-radius-lg) + 2px) !important;
    overflow: hidden;
}

.rz-dialog .rz-dialog-titlebar,
.rz-dialog .rz-dialog-content {
    border-radius: 0 !important;
}

.settings-panel > .rz-button.rz-light {
    background: #1b2534 !important;
    border: 1px solid #2b3a52 !important;
    color: #dce8ff !important;
}

.settings-panel > .rz-button.rz-light:hover,
.settings-panel > .rz-button.rz-light:focus,
.settings-panel > .rz-button.rz-light:focus-visible {
    background: #243246 !important;
    border-color: #3d5574 !important;
    color: #eef5ff !important;
}

.settings-panel form .rz-button.rz-danger {
    background: linear-gradient(90deg, #d14d5f 0%, #b83c4e 100%) !important;
    border: 1px solid #b74253 !important;
    color: #ffffff !important;
}

.settings-panel form .rz-button.rz-danger:hover,
.settings-panel form .rz-button.rz-danger:focus,
.settings-panel form .rz-button.rz-danger:focus-visible {
    background: linear-gradient(90deg, #dc5e6f 0%, #c24858 100%) !important;
    border-color: #c44f5f !important;
    color: #ffffff !important;
}

.settings-drawer.rz-sidebar {
    position: fixed !important;
    top: 0 !important;
    height: 100vh !important;
    z-index: 10000 !important;
}

.settings-drawer.rz-sidebar-right {
    left: auto !important;
    right: 0 !important;
}

.theme-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.theme-toggle-caption {
    font-size: 0.82rem;
    color: var(--pp-muted);
}

.accordion-colored .rz-accordion-header,
.accordion-colored .rz-accordion-header .rz-accordion-header-link {
    background-color: #e9ebff !important;
    color: #2d3a8c !important;
}

.accordion-colored .rz-accordion-item.rz-state-active .rz-accordion-header,
.accordion-colored .rz-accordion-item.rz-state-expanded .rz-accordion-header,
.accordion-colored .rz-accordion-item.rz-state-active .rz-accordion-header .rz-accordion-header-link,
.accordion-colored .rz-accordion-item.rz-state-expanded .rz-accordion-header .rz-accordion-header-link {
    background-color: #d7dbff !important;
}

.accordion-colored .rz-accordion-header .rz-accordion-header-link:hover {
    filter: brightness(0.97);
}

.page.theme-dark .accordion-colored .rz-accordion-header,
.page.theme-dark .accordion-colored .rz-accordion-header .rz-accordion-header-link,
.page.theme-dark .accordion-colored .rz-accordion-item.rz-state-active .rz-accordion-header,
.page.theme-dark .accordion-colored .rz-accordion-item.rz-state-expanded .rz-accordion-header,
.page.theme-dark .accordion-colored .rz-accordion-item.rz-state-active .rz-accordion-header .rz-accordion-header-link,
.page.theme-dark .accordion-colored .rz-accordion-item.rz-state-expanded .rz-accordion-header .rz-accordion-header-link {
    background: #142133 !important;
    color: #dce8ff !important;
    border-color: var(--pp-border) !important;
}

.page.theme-dark .accordion-colored .rz-accordion-header .rz-accordion-header-link:hover {
    filter: none;
}

.page.theme-dark .rz-accordion .rz-accordion-header,
.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-header-link {
    background: #142133 !important;
    color: #dce8ff !important;
    border-color: #2a3f5f !important;
}

.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-header-text,
.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-toggle-icon,
.page.theme-dark .rz-accordion .rz-accordion-header .rzi {
    color: #dce8ff !important;
}

.page.theme-dark .rz-accordion .rz-accordion-header:hover,
.page.theme-dark .rz-accordion .rz-accordion-header:focus-within,
.page.theme-dark .rz-accordion .rz-accordion-header:hover .rz-accordion-header-link,
.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-header-link:hover,
.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-header-link:focus,
.page.theme-dark .rz-accordion .rz-accordion-header .rz-accordion-header-link:focus-visible {
    background: #0f1b2c !important;
    color: #dce8ff !important;
    border-color: #2a3f5f !important;
    filter: none !important;
}

.page.theme-dark .rz-accordion .rz-accordion-header:hover .rz-accordion-header-text,
.page.theme-dark .rz-accordion .rz-accordion-header:hover .rz-accordion-toggle-icon,
.page.theme-dark .rz-accordion .rz-accordion-header:focus-within .rz-accordion-header-text,
.page.theme-dark .rz-accordion .rz-accordion-header:focus-within .rz-accordion-toggle-icon {
    color: #dce8ff !important;
}

.pd-accordion,
.pd-accordion.rz-accordion,
.pd-accordion-edge-to-edge {
    margin-top: 0 !important;
}

.page.theme-dark .pd-accordion {
    --pd-accent: #7fb7ff;
    --pd-accent-strong: #dce8ff;
    --pd-accent-soft: #142133;
    --pd-border: #2a3f5f;
    --pd-panel: #0f1724;
    --pd-text: #e9f0ff;
    --pd-label: #dce8ff;
}

.pd-accordion .rz-accordion-header .rz-accordion-header-link {
    padding: 0.35rem 0.85rem !important;
    display: flex !important;
    align-items: center !important;
}

.pd-accordion .rz-accordion-content,
.pd-accordion .rz-accordion-content-wrapper {
    padding-top: 0.4rem !important;
    overflow: visible !important;
}

.ps-accordion .rz-accordion-content,
.ps-accordion .rz-accordion-content-wrapper {
    overflow: visible !important;
}

.pd-accordion .rz-accordion-item {
    border-radius: 0 !important;
}

.pd-grid {
    background: #0f1724 !important;
    border: 1px solid #2a3f5f !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.pd-item,
.pd-item:nth-child(even) {
    background: #0f1724 !important;
    border-bottom: 1px solid #22344f !important;
}

.pd-grid label {
    color: #aecaef !important;
    font-weight: 700 !important;
}

.pd-item > div,
.pd-box {
    color: #e9f0ff !important;
}

.pd-progress span {
    color: #dce8ff !important;
    font-weight: 700 !important;
}

.pd-body.no-side {
    grid-template-columns: 1fr !important;
}

.pd-body.no-side .pd-main,
.pd-body.no-side .pd-grid {
    width: 100% !important;
    max-width: 100% !important;
}

.ps-accordion-edge-to-edge,
.pd-accordion-edge-to-edge {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.ps-grid .rz-grid-table thead th {
    background: #15233a !important;
    color: #dce8ff !important;
    font-weight: 700 !important;
}

.ps-grid .rz-grid-table tbody td {
    background: #0e1726 !important;
    color: #d7e6ff !important;
    font-weight: 500 !important;
}

.ps-grid .rz-cell-data,
.ps-grid .rz-cell-data *,
.ps-grid .rz-grid-table tbody td *,
.ps-grid .rz-sortable-column-title,
.ps-grid .rz-column-title {
    color: #dce8ff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.step-detail {
    background: var(--ps-detail-bg, #0f1724) !important;
    border: 1px solid var(--ps-detail-border, #2a3f5f) !important;
    border-radius: 0 !important;
}

.step-detail .label {
    color: var(--ps-detail-label, #aecaef) !important;
}

.step-detail .value,
.summary-grid,
.summary-grid strong,
.notes {
    color: var(--ps-detail-text, #e9f0ff) !important;
}

.step-tabs .rz-tabview-nav {
    border-bottom: 1px solid var(--ps-detail-border, #2a3f5f) !important;
}

.step-tabs .rz-tabview-nav li a {
    color: var(--ps-detail-text, #e9f0ff) !important;
    position: relative;
    box-shadow: none !important;
}

.step-tabs .rz-tabview-selected a,
.step-tabs .rz-tabview-nav li.rz-tabview-selected a {
    color: #9fd2ff !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
}

.step-tabs .rz-tabview-nav li.rz-tabview-selected,
.step-tabs .rz-tabview-nav li.rz-tabview-selected a,
.step-tabs .rz-tabview-nav li.rz-state-active,
.step-tabs .rz-tabview-nav li.rz-state-active a {
    border-color: transparent !important;
}

.step-tabs .rz-tabview-nav li.rz-tabview-selected a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #2ea8ff;
}

.step-tabs .rz-tabview-nav li a:focus,
.step-tabs .rz-tabview-nav li a:hover {
    color: #b6ddff !important;
}

.step-tabs .rz-tabview-panels,
.step-tabs .rz-tabview-panel {
    background: transparent !important;
    border-radius: 0 !important;
}

.ps-progress {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ps-progress-row {
    display: grid;
    grid-template-columns: 54px 1fr max-content;
    align-items: center;
    gap: 0.5rem;
}

.ps-progress-row .label {
    font-size: 0.80rem;
    font-weight: 600;
    color: #4b5563;
}

.ps-progress-row .pct {
    white-space: nowrap;
    text-align: right;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.ps-progress .bar .rz-progressbar {
    height: 18px;
}

.ps-progress .bar .rz-progressbar-value {
    border-radius: 2px;
}

.pd-grid .rz-progressbar-value,
.pd-progress .rz-progressbar-value,
.ps-progress .bar-actual .rz-progressbar-value {
    background: linear-gradient(90deg, #a6c8ff 0%, #0b61ff 100%) !important;
}

.ps-progress .bar-plan .rz-progressbar-value {
    background: linear-gradient(90deg, #6f8cab 0%, #9bb7d6 100%) !important;
}

.badge-plan,
.rz-badge.badge-plan {
    background: linear-gradient(90deg, #8fb2e8 0%, #5f94de 100%) !important;
    color: #f7fbff !important;
    border: 1px solid #7ea6dd !important;
}

.rz-badge,
.rz-badge[class*="rz-badge-"] {
    color: #ffffff !important;
}

.ps-grid .rz-badge,
.ps-grid .rz-badge *,
.pd-grid .rz-badge,
.pd-grid .rz-badge * {
    color: #ffffff !important;
}

.rz-badge-success,
.rz-badge.rz-badge-success {
    background: linear-gradient(90deg, #4fbf78 0%, #35a865 100%) !important;
    color: #f5fff8 !important;
    border: 1px solid #3ea86a !important;
}

.project-banner {
    margin: 0;
    border-radius: 0;
    padding: 0.9rem 1.25rem;
    background: #3f51b5;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.project-banner .pb-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.project-banner .pb-icon {
    font-size: 24px;
    opacity: 0.9;
    color: white;
}

.project-banner .pb-title {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.project-banner .pb-kicker {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.85;
}

.project-banner .pb-name {
    font-size: 1.2rem;
    font-weight: 600;
    color: white;
}

.project-banner .pb-right {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.project-banner .pb-chip {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-weight: 600;
    font-size: 0.8rem;
    border-radius: 20px;
    padding: 0.2rem 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.project-banner.empty {
    background: #e0e0e0;
    color: #555;
}

.project-banner.empty .pb-icon {
    color: #666;
}

.edge-to-edge {
    margin-left: -2rem;
    margin-right: -2rem;
    margin-top: -2rem;
}

.page.theme-light,
.page.theme-light main,
.page.theme-light .main-layout {
    color: #1b2f46 !important;
    background: #f2f6fb !important;
}

.page.theme-light .top-bar,
.page.theme-light .rz-card,
.page.theme-light .rz-panel,
.page.theme-light .rz-fieldset,
.page.theme-light .rz-datagrid,
.page.theme-light .rz-data-grid,
.page.theme-light .rz-accordion,
.page.theme-light .rz-tree,
.page.theme-light .settings-panel {
    background: #ffffff !important;
    color: #1b2f46 !important;
    border-color: #cad7ea !important;
}

.page.theme-light .user-name {
    color: #5f7ea1 !important;
}

.page.theme-light .gear-btn {
    background: #ffffff !important;
    border: 1px solid #cad7ea !important;
    color: #224468 !important;
}

.page.theme-light .gear-btn:hover,
.page.theme-light .gear-btn:focus,
.page.theme-light .gear-btn:focus-visible {
    background: #f2f7ff !important;
    border-color: #b6cde8 !important;
    color: #183a60 !important;
}

.page.theme-light .nav-center a {
    color: #224468 !important;
}

.page.theme-light .nav-center a:hover {
    color: #0f6db7 !important;
}

.page.theme-light .rz-grid-table thead th,
.page.theme-light .rz-datatable thead th {
    background: #ebf2fc !important;
    color: #1c3553 !important;
    border-color: #cad7ea !important;
}

.page.theme-light .rz-grid-table tbody td,
.page.theme-light .rz-datatable tbody td {
    background: #ffffff !important;
    color: #1b2f46 !important;
    border-color: #d9e4f3 !important;
}

.page.theme-light .breadcrumb-pill {
    background: #f2f6fb !important;
    border-color: #cad7ea !important;
}

.page.theme-light .crumb-link {
    color: #2a5f8f !important;
}

.page.theme-light .crumb-current {
    color: #224468 !important;
}

.page.theme-light .search-wrap {
    background: #ffffff !important;
    border-color: #cad7ea !important;
}

.page.theme-light .search-wrap .rz-textbox,
.page.theme-light .search-wrap .rz-inputtext,
.page.theme-light .search-wrap input {
    background: #ffffff !important;
    color: #1f3653 !important;
    border-color: transparent !important;
}

.page.theme-light .search-wrap input::placeholder {
    color: #6b85a5 !important;
    opacity: 1 !important;
}

.page.theme-light .pm-tree .pm-tree-text {
    color: #1f3653 !important;
}

.page.theme-light .rz-header {
    background: #f2f6fb !important;
    border-color: #cad7ea !important;
}

.page.theme-light .rz-header .rz-sidebar-toggle,
.page.theme-light .rz-header .rz-icon {
    color: #315678 !important;
}

.page.theme-light .rz-header .rz-sidebar-toggle:hover,
.page.theme-light .rz-header .rz-sidebar-toggle:focus,
.page.theme-light .rz-header .rz-sidebar-toggle:focus-visible,
.page.theme-light .rz-header .rz-sidebar-toggle.rz-state-hover,
.page.theme-light .rz-header .rz-sidebar-toggle.rz-state-focused {
    background: rgba(47, 106, 174, 0.12) !important;
    border-color: rgba(47, 106, 174, 0.35) !important;
    color: #224468 !important;
}

.page.theme-light .settings-label {
    color: #5a748f !important;
}

.page.theme-light .settings-select {
    background: #ffffff !important;
    border-color: #cad7ea !important;
    color: #1f3653 !important;
}

.page.theme-light .settings-select:focus,
.page.theme-light .settings-select:focus-visible {
    border-color: #89add8 !important;
    box-shadow: 0 0 0 2px rgba(47, 106, 174, 0.16) !important;
}

.page.theme-light .settings-panel > .rz-button.rz-light {
    background: #ffffff !important;
    border-color: #cad7ea !important;
    color: #224468 !important;
}

.page.theme-light .settings-panel > .rz-button.rz-light:hover,
.page.theme-light .settings-panel > .rz-button.rz-light:focus,
.page.theme-light .settings-panel > .rz-button.rz-light:focus-visible {
    background: #f2f7ff !important;
    border-color: #b6cde8 !important;
    color: #183a60 !important;
}

.page.theme-light .project-sidebar {
    border-right-color: #cad7ea !important;
}

.page.theme-light .rz-accordion .rz-accordion-item {
    border-color: #cad7ea !important;
    box-shadow: 0 2px 8px rgba(10, 40, 80, .07) !important;
}

.page.theme-light .rz-accordion .rz-accordion-header,
.page.theme-light .rz-accordion .rz-accordion-header .rz-accordion-header-link {
    background: #ebf2fc !important;
    color: #224468 !important;
    border-color: #cad7ea !important;
}

.page.theme-light .rz-accordion .rz-accordion-content,
.page.theme-light .rz-accordion .rz-accordion-content-wrapper {
    background: #ffffff !important;
    color: #1f3653 !important;
    border-color: #d9e4f3 !important;
}

.page.theme-light .ps-grid .rz-grid-table thead th {
    background: #ebf2fc !important;
    color: #1f3653 !important;
    border-color: #cad7ea !important;
}

.page.theme-light .ps-grid .rz-grid-table tbody td {
    background: #ffffff !important;
    color: #1f3653 !important;
    border-color: #d9e4f3 !important;
}

.page.theme-light .ps-grid .rz-cell-data,
.page.theme-light .ps-grid .rz-cell-data *,
.page.theme-light .ps-grid .rz-grid-table tbody td *,
.page.theme-light .ps-grid .rz-sortable-column-title,
.page.theme-light .ps-grid .rz-column-title {
    color: #1f3653 !important;
    opacity: 1 !important;
}

.page.theme-light .ps-grid .rz-cell-data .rz-badge,
.page.theme-light .ps-grid .rz-cell-data .rz-badge *,
.page.theme-light .ps-grid .rz-grid-table tbody td .rz-badge,
.page.theme-light .ps-grid .rz-grid-table tbody td .rz-badge * {
    color: #ffffff !important;
}

.page.theme-light .pd-grid {
    background: #ffffff !important;
    border: 1px solid #cad7ea !important;
    border-radius: 0 !important;
}

.page.theme-light .pd-item,
.page.theme-light .pd-item:nth-child(even) {
    background: #ffffff !important;
    border-bottom: 1px solid #d9e4f3 !important;
}

.page.theme-light .pd-grid label {
    color: #2e4f73 !important;
}

.page.theme-light .pd-item > div,
.page.theme-light .pd-box,
.page.theme-light .pd-progress span {
    color: #1f3653 !important;
}

.page.theme-light .pd-grid .rz-progressbar-value,
.page.theme-light .pd-progress .rz-progressbar-value,
.page.theme-light .ps-progress .bar-actual .rz-progressbar-value {
    background: linear-gradient(90deg, #a6c8ff 0%, #0b61ff 100%) !important;
}

.page.theme-light .ps-progress .bar-plan .rz-progressbar-value {
    background: linear-gradient(90deg, #6f8cab 0%, #9bb7d6 100%) !important;
}

.page.theme-light .badge-plan,
.page.theme-light .rz-badge.badge-plan {
    background: linear-gradient(90deg, #b8cff2 0%, #8cb1e8 100%) !important;
    color: #ffffff !important;
    border: 1px solid #9cbce9 !important;
}

.page.theme-light .rz-badge-success,
.page.theme-light .rz-badge.rz-badge-success {
    background: linear-gradient(90deg, #6ecf92 0%, #4dbd79 100%) !important;
    color: #ffffff !important;
    border: 1px solid #64bd86 !important;
}

.page.theme-dark .progress-page-shell {
    --ps-detail-bg: #0f1724;
    --ps-detail-border: #2a3f5f;
    --ps-detail-label: #aecaef;
    --ps-detail-text: #e9f0ff;
}

.page.theme-dark .gear-btn {
    background: #1b2534 !important;
    border: 1px solid #2b3a52 !important;
    color: #dce8ff !important;
}

.page.theme-dark .gear-btn:hover,
.page.theme-dark .gear-btn:focus,
.page.theme-dark .gear-btn:focus-visible {
    background: #243246 !important;
    border-color: #3d5574 !important;
    color: #eef5ff !important;
}

.page.theme-light .progress-page-shell {
    --ps-detail-bg: #ffffff;
    --ps-detail-border: #cad7ea;
    --ps-detail-label: #5a748f;
    --ps-detail-text: #1f3653;
}

.page.theme-light .graphs-page-shell .gdb-shell {
    --gdb-shell-bg: #ffffff;
    --gdb-panel: #f5f9ff;
    --gdb-panel-2: #eef4fd;
    --gdb-card-bg: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    --gdb-chart-bg: #ffffff;
    --gdb-border: #cad7ea;
    --gdb-strong-border: #cad7ea;
    --gdb-row-border: #d9e4f3;
    --gdb-tick: #b9cbe2;
    --gdb-text: #1f3653;
    --gdb-task-text: #1f3653;
    --gdb-muted: #6b85a5;
    --gdb-legend-text: #274567;
    --gdb-input-bg: #ffffff;
    --gdb-input-border: #cad7ea;
    --gdb-input-text: #1f3653;
    --gdb-track-bg: #e8eff9;
    --gdb-track-text: #224468;
    --gdb-line-grid: #d9e4f3;
    --gdb-pie-inner: #ffffff;
    --gdb-button-bg: #ffffff;
    --gdb-button-border: #cad7ea;
    --gdb-button-text: #224468;
    --gdb-label-outside: #1f3653;
}

.page.theme-light .graphs-page-shell .gdb-shell .rz-button.rz-light,
.page.theme-light .graphs-page-shell ::deep .gdb-shell .rz-button.rz-light {
    background: #ffffff !important;
    border-color: #cad7ea !important;
    color: #224468 !important;
}

html.theme-dark .associates-page-shell {
    color: #dce8ff !important;
}

html.theme-dark .associates-summary,
html.theme-dark .associate-list-panel,
html.theme-dark .associate-detail-panel,
html.theme-dark .associate-company-group,
html.theme-dark .associates-empty,
html.theme-dark .associates-empty-inline {
    background: #0f1724 !important;
    border-color: #2a3f5f !important;
    color: #dce8ff !important;
}

html.theme-dark .associates-summary p,
html.theme-dark .associate-row,
html.theme-dark .associate-role,
html.theme-dark .associate-company,
html.theme-dark .associate-name,
html.theme-dark .detail-row,
html.theme-dark .detail-row label,
html.theme-dark .associate-card-title h4,
html.theme-dark .associate-card-details strong {
    color: #dce8ff !important;
}

html.theme-dark .associates-kicker,
html.theme-dark .associates-stat .label,
html.theme-dark .associate-company-heading span,
html.theme-dark .associate-card-title p,
html.theme-dark .associate-card-details span {
    color: #9fb0c9 !important;
}

html.theme-dark .associate-list-header,
html.theme-dark .associate-company-heading,
html.theme-dark .associates-view-toggle,
html.theme-dark .associates-stat {
    background: #142133 !important;
    border-color: #2a3f5f !important;
    color: #dce8ff !important;
}

html.theme-dark .associates-view-toggle button {
    color: #dce8ff !important;
    border-color: #2a3f5f !important;
}

html.theme-dark .associates-view-toggle button:hover,
html.theme-dark .associates-view-toggle button:focus-visible,
html.theme-dark .associates-view-toggle button.active {
    background: #1d2d43 !important;
    color: #eef5ff !important;
}

html.theme-dark .associates-view-toggle button.active {
    box-shadow: inset 0 -2px 0 #8fb9ff !important;
}

html.theme-dark .associates-stat .value,
html.theme-dark .associate-company-heading h3 {
    color: #eef5ff !important;
}

html.theme-dark .associate-card {
    background: #101a29 !important;
    border-color: #2a3f5f !important;
    color: #dce8ff !important;
}

html.theme-dark .associate-card-grid {
    background: #0f1724 !important;
}

html.theme-dark .associate-card-photo-shell,
html.theme-dark .associate-card-photo,
html.theme-dark .associate-photo {
    background: #142133 !important;
    border-color: #2a3f5f !important;
}

html.theme-dark .associate-card-avatar,
html.theme-dark .associate-avatar-placeholder {
    background: linear-gradient(180deg, #142133 0%, #1a2b43 100%) !important;
    color: #dce8ff !important;
    border-color: #2a3f5f !important;
}

html.theme-dark .associate-row:hover,
html.theme-dark .associate-row:focus,
html.theme-dark .associate-row:focus-visible {
    background: rgba(95, 148, 222, 0.18) !important;
}

html.theme-dark .associate-row.selected {
    background: rgba(95, 148, 222, 0.24) !important;
}

html.theme-dark .detail-row a,
html.theme-dark .associate-card-details a {
    color: #8fb9ff !important;
}

.page.theme-dark .pdv2-accordion {
    --pdv2-kpi-border: #2a3f5f;
    --pdv2-kpi-bg: #0f1724;
    --pdv2-kpi-label: #aecaef;
    --pdv2-kpi-text: #e9f0ff;
    --pdv2-item-border: #2a3f5f;
    --pdv2-item-bg: #0f1724;
    --pdv2-label: #aecaef;
    --pdv2-box-border: #2a3f5f;
    --pdv2-box-bg: #101a29;
    --pdv2-text: #e9f0ff;
    --pdv2-image-border: #2a3f5f;
    --pdv2-image-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.page.theme-light .pdv2-accordion {
    --pdv2-kpi-border: #bed5ec;
    --pdv2-kpi-bg: #f5faff;
    --pdv2-kpi-label: #0b4679;
    --pdv2-kpi-text: #0f2f4f;
    --pdv2-item-border: #d5e4f2;
    --pdv2-item-bg: #ffffff;
    --pdv2-label: #124a7f;
    --pdv2-box-border: #dbe8f5;
    --pdv2-box-bg: #f7fbff;
    --pdv2-text: #113150;
    --pdv2-image-border: #c1d8ee;
    --pdv2-image-shadow: 0 4px 12px rgba(0, 63, 107, 0.11);
}

.page.theme-dark .pdv3-accordion {
    --pdv3-table-border: #2a3f5f;
    --pdv3-table-bg: #0f1724;
    --pdv3-row-border: #2a3f5f;
    --pdv3-row-alt-bg: #101a29;
    --pdv3-label-bg: #111d30;
    --pdv3-label-border: #2a3f5f;
    --pdv3-label-text: #aecaef;
    --pdv3-text: #e9f0ff;
    --pdv3-image-border: #2a3f5f;
}

.page.theme-light .pdv3-accordion {
    --pdv3-table-border: #c4d7ea;
    --pdv3-table-bg: #ffffff;
    --pdv3-row-border: #dbe8f5;
    --pdv3-row-alt-bg: #f7fbff;
    --pdv3-label-bg: #edf5fd;
    --pdv3-label-border: #d5e4f2;
    --pdv3-label-text: #0a3d6a;
    --pdv3-text: #113150;
    --pdv3-image-border: #c4d7ea;
}

#components-reconnect-modal {
    display: none !important;
}

.topbar-spinner {
    margin-left: 8px;
    font-size: 20px;
    animation: spin 1s linear infinite;
    color: white;
}

.page.theme-light .topbar-spinner {
    color: #1f3653 !important;
}

.go-child-btn {
    border-radius: var(--pp-radius-pill) !important;
    font-weight: 600 !important;
}

.page.theme-dark .go-child-btn {
    background: #162842 !important;
    border: 1px solid #2f4b70 !important;
    color: #dce8ff !important;
}

.page.theme-dark .go-child-btn:hover {
    background: #1d3351 !important;
    border-color: #4d77a9 !important;
    color: #ffffff !important;
}

.page.theme-light .go-child-btn {
    background: #edf5fd !important;
    border: 1px solid #c6d9ee !important;
    color: #1f3653 !important;
}

.page.theme-light .go-child-btn:hover {
    background: #dfeeff !important;
    border-color: #9ec2e8 !important;
    color: #15314f !important;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}
