html,
body {
    min-height: 100%;
    margin: 0;
}

:root {
    --app-font-sans: "Segoe UI", "Inter", "Helvetica Neue", sans-serif;
    --app-surface-page: linear-gradient(180deg, #f5f7f9 0%, #ebeff3 100%);
    --app-surface-panel:
        radial-gradient(circle at top left, rgba(131, 174, 201, 0.18), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.98) 100%);
    --app-surface-card: rgba(255, 255, 255, 0.94);
    --app-surface-card-soft: linear-gradient(160deg, #fbfdff 0%, #f3f7fb 100%);
    --app-color-text: #13263a;
    --app-color-text-muted: #5a6f80;
    --app-color-heading: #123347;
    --app-color-border: rgba(18, 51, 71, 0.10);
    --app-color-border-strong: #d5e0e8;
    --app-color-primary: #5f879d;
    --app-color-primary-strong: #123347;
    --app-radius-card: 24px;
    --app-radius-control: 16px;
    --app-radius-pill: 999px;
    --app-shadow-card: 0 18px 50px rgba(17, 31, 43, 0.08);
    --app-shadow-panel: 0 30px 90px rgba(17, 31, 43, 0.12);
    --app-space-1: 0.35rem;
    --app-space-2: 0.5rem;
    --app-space-3: 0.75rem;
    --app-space-4: 1rem;
    --app-space-5: 1.25rem;
    --app-space-6: 1.5rem;
    --app-space-7: 2rem;
    --app-page-max: 1560px;
    --app-field-height: 3.1rem;
}

body {
    font-family: var(--app-font-sans);
    color: var(--app-color-text);
    background: var(--app-surface-page);
}

h1:focus,
h2:focus,
h3:focus,
h4:focus {
    outline: none;
}

.page-shell {
    max-width: var(--app-page-max);
}

.app-page {
    width: min(100%, var(--app-page-max));
    margin: 0 auto;
}

.app-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--app-space-4);
}

.app-page-copy {
    min-width: 0;
    flex: 1;
}

.app-page-kicker {
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--app-color-primary);
}

.app-page-title {
    margin: 0.35rem 0 0;
    color: var(--app-color-heading);
    font-size: clamp(1.9rem, 2.9vw, 2.7rem);
    line-height: 1.05;
}

.app-page-subtitle {
    margin: 0.65rem 0 0;
    color: var(--app-color-text-muted);
    line-height: 1.6;
    max-width: 72ch;
}

.app-page-actions {
    display: flex;
    gap: var(--app-space-2);
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.app-auto-grid,
.app-metric-grid,
.app-panel-grid {
    display: grid;
    gap: 0.9rem;
    align-items: start;
}

.app-auto-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--app-grid-min, 320px), 1fr));
}

.app-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--app-metric-min, 168px), 1fr));
}

.app-panel-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--app-panel-min, 340px), 1fr));
}

.app-panel-grid.app-panel-grid-wide {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
}

.app-panel-grid.app-panel-grid-compact {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.app-card-fill {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}

.app-grid-item {
    display: flex;
    min-width: 0;
}

.app-grid-item > .rz-card,
.app-grid-item > .app-card-fill {
    width: 100%;
}

.app-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.app-card-header-main {
    min-width: 0;
    flex: 1;
}

.app-card-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.app-card-meta {
    display: grid;
    gap: 0.5rem;
}

.app-card-footer {
    margin-top: auto;
}

.app-pill-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.app-pill-wrap .rz-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    flex: 0 0 auto;
    white-space: nowrap;
}

.app-dialog-shell {
    display: grid;
    gap: 0.9rem;
}

.app-chart-shell {
    position: relative;
    padding: 1rem 1rem 0.6rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(212, 223, 230, 0.95);
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0) 42%),
        linear-gradient(180deg, rgba(246, 250, 252, 0.92) 0%, rgba(239, 245, 248, 0.74) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
    min-width: 0;
}

.app-chart-shell.app-chart-shell-compact {
    padding: 0.85rem 0.9rem 0.35rem;
}

.app-chart-shell .rz-chart {
    min-height: 290px;
}

.app-chart-shell.app-chart-shell-compact .rz-chart {
    min-height: 240px;
}

.app-chart-shell .rz-chart svg {
    overflow: visible;
}

.app-chart {
    min-width: 0;
}

.app-chart .rz-chart-legend {
    font-size: 0.86rem;
}

.app-chart .rz-chart-legend text,
.app-chart .rz-axis text {
    fill: #5f7280;
}

.app-chart .rz-axis-title text {
    fill: #48606f;
    font-weight: 600;
}

.app-chart .rz-grid-lines line {
    stroke: #dce6ee;
    stroke-dasharray: 0;
}

.app-chart .rz-category-axis line,
.app-chart .rz-value-axis line {
    stroke: #cbd8e2;
}

.app-chart .rz-series-tooltip,
.app-chart .rz-chart-tooltip {
    border-radius: 0.85rem;
}

.app-dialog {
    display: grid;
    gap: 1rem;
}

.app-dialog-summary-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: start;
}

.app-dialog-summary-grid > .rz-card,
.app-dialog-summary-grid > .app-card-fill {
    width: 100%;
    height: 100%;
}

.app-dialog-panel-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    align-items: start;
}

.app-dialog-panel-grid.app-dialog-panel-grid-wide {
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
}

.app-dialog-toolbar,
.app-dialog-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.app-dialog-actions {
    justify-content: flex-end;
}

.app-dialog .rz-card:not(.rz-variant-flat):not(.rz-variant-text),
.app-dialog .app-section-card {
    min-height: 100%;
}

.app-dialog .app-form-field,
.app-dialog .rz-stack {
    min-width: 0;
}

.app-dialog .rz-alert {
    margin-bottom: 0;
}

.dashboard-hero-shell,
.dashboard-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.dashboard-hero-copy,
.dashboard-section-copy {
    min-width: 0;
    flex: 1;
}

.dashboard-hero-copy .rz-text,
.dashboard-section-copy .rz-text {
    display: block;
}

.dashboard-hero-copy .rz-text + .rz-text,
.dashboard-section-copy .rz-text + .rz-text {
    margin-top: 0.3rem;
}

.dashboard-hero-actions,
.dashboard-section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

@media (max-width: 900px) {
    .dashboard-hero-shell,
    .dashboard-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-hero-actions,
    .dashboard-section-actions {
        justify-content: flex-start;
    }
}

.app-section-card {
    border: 1px solid var(--app-color-border);
    border-radius: var(--app-radius-card);
    background: var(--app-surface-card);
    box-shadow: var(--app-shadow-card);
    justify-content: flex-start;
    align-items: stretch;
}

.app-section-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--app-space-3);
    margin-bottom: var(--app-space-4);
}

.app-section-card-copy {
    min-width: 0;
    flex: 1;
}

.app-section-card-title {
    margin: 0;
    color: var(--app-color-heading);
}

.app-section-card-subtitle {
    margin: 0.35rem 0 0;
    color: var(--app-color-text-muted);
    line-height: 1.55;
}

.app-section-card-body {
    display: grid;
    gap: var(--app-space-4);
    container-type: inline-size;
    flex: 1 1 auto;
    align-content: start;
}

.app-section-card-footer {
    margin-top: var(--app-space-4);
    display: flex;
    gap: var(--app-space-2);
    justify-content: flex-end;
    flex-wrap: wrap;
}

.app-form-field {
    display: grid;
    gap: var(--app-space-2);
    min-width: 0;
}

.app-form-field-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #274052;
    font-weight: 600;
}

.app-form-field-required {
    color: #a44b3d;
}

.app-form-field-hint {
    color: var(--app-color-text-muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.app-date-input {
    min-height: 2.9rem;
    padding-right: 0.85rem;
    color-scheme: light;
}

.app-date-input::-webkit-date-and-time-value {
    text-align: left;
}

.app-date-input::-webkit-calendar-picker-indicator {
    cursor: pointer;
    border-radius: 999px;
    padding: 0.25rem;
    background-color: rgba(107, 149, 171, 0.14);
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.app-date-input:hover::-webkit-calendar-picker-indicator,
.app-date-input:focus::-webkit-calendar-picker-indicator {
    background-color: rgba(107, 149, 171, 0.22);
    transform: scale(1.04);
}

.app-form-grid {
    display: grid;
    gap: var(--app-space-4);
    grid-template-columns: repeat(12, minmax(0, 1fr));
    --app-form-min: 260px;
}

.app-form-grid > * {
    min-width: 0;
    grid-column: span 12;
}

.app-form-grid-1 > * {
    grid-column: 1 / -1;
}

.app-form-grid-2 > * {
    grid-column: span 6;
}

.app-form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-form-grid-2 > .app-form-item,
.app-form-grid-2 > .app-form-field {
    grid-column: auto;
}

.app-form-span-full {
    grid-column: 1 / -1 !important;
}

@media (max-width: 900px) {
    .app-form-grid-2 > * {
        grid-column: 1 / -1 !important;
    }
}

@container (max-width: 620px) {
    .app-form-grid-2 {
        grid-template-columns: 1fr;
    }

    .app-form-grid-2 > * {
        grid-column: 1 / -1 !important;
    }
}

.app-toggle-field {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #274052;
    font-weight: 600;
}

@media (max-width: 900px) {
    .app-panel-grid.app-panel-grid-wide {
        grid-template-columns: 1fr;
    }

    .app-dialog-panel-grid.app-dialog-panel-grid-wide {
        grid-template-columns: 1fr;
    }
}

/* Global fallback for public/auth pages when scoped CSS is not loaded. */
.public-layout-shell {
    min-height: 100vh;
    padding: 2rem 1.25rem 3rem;
    background:
        radial-gradient(circle at top left, rgba(18, 51, 71, 0.10), transparent 28%),
        radial-gradient(circle at bottom right, rgba(104, 154, 188, 0.12), transparent 26%),
        linear-gradient(180deg, #f5f7f9 0%, #ebeff3 100%);
}

.public-layout-main {
    width: min(100%, 1180px);
    margin: 0 auto;
}

.login-page {
    min-height: calc(100vh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card-shell {
    width: min(100%, 1120px);
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.05fr);
    border-radius: 36px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(18, 51, 71, 0.08);
    box-shadow: 0 30px 90px rgba(17, 31, 43, 0.14);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.login-brand-panel {
    position: relative;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at top left, rgba(131, 174, 201, 0.26), transparent 34%),
        linear-gradient(180deg, #eef4f7 0%, #dde8ee 100%);
}

.login-brand-panel::after {
    content: "";
    position: absolute;
    inset: 22px;
    border: 1px solid rgba(18, 51, 71, 0.08);
    border-radius: 28px;
    pointer-events: none;
}

.login-brand-logo {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    max-width: calc(100% - 1rem);
    height: auto;
}

.login-brand-kicker,
.login-form-kicker {
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
}

.login-brand-kicker {
    color: #4f6a7c;
}

.login-brand-title {
    margin: 0.7rem 0 0;
    font-size: clamp(2rem, 3.4vw, 3.15rem);
    line-height: 1.02;
    color: #123347;
}

.login-brand-text {
    margin: 1rem 0 0;
    color: #4d6677;
    font-size: 1rem;
    line-height: 1.7;
}

.login-form-panel {
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.98) 100%);
}

.login-form-pill {
    width: 100%;
    max-width: 460px;
    padding: 2.25rem 2rem;
    border-radius: 28px;
    background: #ffffff;
    border: 1px solid rgba(18, 51, 71, 0.08);
    box-shadow: 0 18px 50px rgba(17, 31, 43, 0.08);
}

.login-form-header {
    margin-bottom: 1.35rem;
}

.login-form-kicker {
    color: #5e8398;
}

.login-form-title {
    margin: 0.55rem 0 0;
    font-size: 2.1rem;
    line-height: 1.05;
    color: #13263a;
}

.login-form-text {
    margin: 0.75rem 0 0;
    color: #5a6f80;
    line-height: 1.65;
}

.login-form {
    display: grid;
    gap: 1rem;
}

.login-field label {
    display: inline-block;
    margin-bottom: 0.45rem;
    color: #274052;
    font-weight: 600;
}

.login-input {
    min-height: 3.25rem;
    border-radius: 16px;
    border-color: #d5e0e8;
    background: #fbfdff;
    padding-inline: 1rem;
}

.login-input:focus {
    border-color: #6b95ab;
    box-shadow: 0 0 0 0.2rem rgba(102, 146, 171, 0.18);
}

.login-submit {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 0.35rem;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

@media (max-width: 960px) {
    .login-card-shell {
        grid-template-columns: 1fr;
    }

    .login-brand-panel {
        min-height: 220px;
        padding: 1rem;
    }

    .login-brand-panel::after {
        display: none;
    }
}

@media (max-width: 640px) {
    .login-page {
        min-height: unset;
    }

    .login-brand-panel,
    .login-form-panel {
        padding: 1.25rem;
    }

    .login-form-pill {
        padding: 1.5rem 1.25rem;
        border-radius: 24px;
    }
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

#blazor-error-ui {
    color-scheme: light only;
    background: #fff4cc;
    border-top: 1px solid #ead28a;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    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;
}

.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;
}

.pm-task-board {
    display: grid;
    gap: 0.6rem;
}

.project-meta-strip {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.project-meta-item {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid #d7e1e9;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 248, 251, 0.96) 100%);
}

.project-meta-label {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: #678193;
}

.project-meta-value {
    color: #193246;
    font-weight: 600;
    line-height: 1.4;
}

.pm-overview-grid .pm-metric-card {
    min-height: 128px;
    border: 1px solid #dce4eb;
}

.pm-metric-progress {
    background: linear-gradient(150deg, #eff6fb 0%, #e3edf6 100%);
}

.pm-metric-phases {
    background: linear-gradient(150deg, #edf6ef 0%, #e1efe5 100%);
}

.pm-metric-actions {
    background: linear-gradient(150deg, #fff6eb 0%, #f8ead9 100%);
}

.pm-metric-commercial {
    background: linear-gradient(150deg, #f5f2fb 0%, #ebe6f7 100%);
}

.pm-lifecycle-grid,
.pm-pack-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pm-lifecycle-card,
.pm-pack-card {
    display: grid;
    gap: 0.45rem;
    min-height: 100%;
    padding: 1rem 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid #d9e2ea;
    background: linear-gradient(165deg, #fbfdff 0%, #f2f6fa 100%);
}

.pm-lifecycle-step {
    display: inline-flex;
    width: fit-content;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: #e8f0f5;
    color: #406072;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
}

.pm-lifecycle-title,
.pm-pack-title {
    color: #163549;
    font-weight: 700;
}

.pm-lifecycle-copy,
.pm-pack-copy {
    color: #5b7181;
    line-height: 1.55;
    font-size: 0.92rem;
}

.pm-phase-strip {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pm-phase-card {
    appearance: none;
    width: 100%;
    text-align: left;
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1rem 1.05rem;
    border-radius: 20px;
    border: 1px solid #d9e2ea;
    background: linear-gradient(165deg, #fcfdff 0%, #f4f7fa 100%);
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.pm-phase-card:hover {
    transform: translateY(-1px);
    border-color: #9eb5c5;
    box-shadow: 0 16px 30px rgba(16, 28, 39, 0.08);
}

.pm-phase-card.is-selected {
    border-color: #5e879d;
    box-shadow: 0 0 0 2px rgba(95, 135, 157, 0.14);
}

.pm-phase-card.is-complete {
    background: linear-gradient(165deg, #eef7f0 0%, #e5f0e8 100%);
    border-color: #bfd6c3;
}

.pm-phase-step {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: #123347;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
}

.pm-phase-name {
    color: #163549;
    font-weight: 700;
}

.pm-phase-meta,
.pm-phase-rule {
    color: #5b7181;
    font-size: 0.9rem;
    line-height: 1.45;
}

.pm-attention-list {
    display: grid;
    gap: 0.65rem;
}

.pm-attention-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid #e1e7ed;
    background: #fbfcfd;
}

.pm-attention-label {
    color: #415868;
    line-height: 1.45;
}

.pm-attention-value {
    flex: 0 0 auto;
    min-width: 2.5rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    background: #eef3f7;
    color: #1f3b4c;
    font-weight: 700;
    text-align: center;
}

.pm-role-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid #dde5ec;
    background: linear-gradient(165deg, #fbfdff 0%, #f4f7fa 100%);
}

.pm-project-contact-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.pm-milestone-track,
.pm-pack-readiness-list,
.pm-task-action-list {
    display: grid;
    gap: 0.75rem;
}

.pm-milestone-card,
.pm-task-action-row,
.pm-pack-readiness-row {
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid #dde5ec;
    background: linear-gradient(165deg, #fbfdff 0%, #f4f7fa 100%);
}

.pm-milestone-card.is-complete {
    border-color: #bfd6c3;
    background: linear-gradient(165deg, #eef7f0 0%, #e5f0e8 100%);
}

.pm-milestone-card.is-live {
    border-color: #b7cfdd;
    background: linear-gradient(165deg, #eef6fb 0%, #e3edf5 100%);
}

.pm-milestone-card.is-blocked {
    border-color: #e6c7b9;
    background: linear-gradient(165deg, #fff4ed 0%, #f8e7db 100%);
}

.pm-milestone-card.is-pending {
    border-color: #dce3ea;
    background: linear-gradient(165deg, #fbfdff 0%, #f4f7fa 100%);
}

.pm-milestone-topline,
.pm-task-action-row,
.pm-pack-readiness-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.pm-milestone-title,
.pm-pack-readiness-title,
.pm-task-action-title {
    color: #17364a;
    font-weight: 700;
}

.pm-milestone-badge,
.pm-pack-readiness-state,
.pm-task-action-state {
    flex: 0 0 auto;
    padding: 0.24rem 0.7rem;
    border-radius: 999px;
    background: #eef3f7;
    color: #213b4e;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
}

.pm-milestone-copy,
.pm-pack-readiness-note,
.pm-task-action-meta,
.pm-task-action-date {
    color: #5c7180;
    line-height: 1.5;
    font-size: 0.9rem;
}

.pm-pack-readiness-copy,
.pm-task-action-copy {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: 0.3rem;
}

.pm-pack-readiness-state.is-complete,
.pm-pack-readiness-state.is-live,
.pm-pack-readiness-state.is-pending,
.pm-pack-readiness-state.is-blocked {
    background: #eef3f7;
}

.pm-pack-readiness-state.is-complete {
    background: #e8f4eb;
    color: #25563a;
}

.pm-pack-readiness-state.is-live {
    background: #e8f1f7;
    color: #1f5670;
}

.pm-pack-readiness-state.is-pending {
    background: #eef2f5;
    color: #4d6475;
}

.pm-pack-readiness-state.is-blocked {
    background: #fbe9df;
    color: #8d4d2d;
}

.pm-task-action-side {
    flex: 0 0 auto;
    display: grid;
    gap: 0.3rem;
    justify-items: end;
    text-align: right;
}

@media (max-width: 900px) {
    .pm-task-action-row,
    .pm-pack-readiness-row,
    .pm-milestone-topline {
        flex-direction: column;
        align-items: flex-start;
    }

    .pm-task-action-side {
        justify-items: start;
        text-align: left;
    }
}

.pm-lane-board {
    display: grid;
    gap: 0.7rem;
}

.pm-lane-board-header,
.pm-lane-board-row {
    display: grid;
    grid-template-columns: 100px repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.6rem;
    align-items: start;
}

.pm-lane-header-stage,
.pm-lane-header {
    font-size: 0.85rem;
    color: #4e5d6c;
    font-weight: 600;
    padding: 0.2rem 0.4rem;
}

.pm-stage-label {
    border: 1px solid #ccd5df;
    border-radius: 8px;
    background: #eef3f8;
    color: #213549;
    font-weight: 600;
    text-align: center;
    padding: 0.8rem 0.4rem;
}

.pm-lane-cell {
    min-height: 96px;
    display: grid;
    gap: 0.35rem;
}

.pm-lane-empty {
    min-height: 60px;
    border: 1px dashed #c7d4e2;
    border-radius: 8px;
    color: #8a9caf;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f9fc;
}

.pm-drop-zone {
    border: 1px dashed #9db0c5;
    border-radius: 6px;
    padding: 0.4rem 0.55rem;
    color: #4e5d6c;
    font-size: 0.8rem;
    background-color: #f0f4f8;
    text-align: center;
    margin: 0.15rem 0;
}

.pm-drop-zone-top,
.pm-drop-zone-bottom {
    margin-top: 0;
}

.pm-task-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #ccd5df;
    border-radius: 8px;
    background-color: #f8fafc;
    cursor: grab;
}

.pm-task-card-dragging {
    opacity: 0.55;
}

.pm-task-card-focused {
    border-color: #2d80d0;
    box-shadow: 0 0 0 2px rgba(45, 128, 208, 0.18);
}

.pm-task-card-order {
    width: 2rem;
    text-align: center;
    font-weight: 600;
    color: #4e5d6c;
}

.pm-task-card-main {
    min-width: 0;
    flex: 1;
}

.pm-task-card-title {
    font-weight: 600;
    color: #13263a;
}

.pm-task-card-meta {
    color: #5f7285;
    font-size: 0.87rem;
}

.state-page-shell {
    min-height: calc(100vh - 8rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.state-page-shell-forbidden {
    background:
        radial-gradient(circle at top left, rgba(213, 185, 103, 0.20), transparent 36%),
        radial-gradient(circle at bottom right, rgba(18, 51, 71, 0.10), transparent 38%);
}

.state-page-shell-error {
    background:
        radial-gradient(circle at top left, rgba(180, 58, 46, 0.16), transparent 34%),
        radial-gradient(circle at bottom right, rgba(18, 51, 71, 0.10), transparent 42%);
}

.state-page-card {
    width: min(100%, 760px);
    padding: 2.5rem 2.25rem;
    border-radius: 24px;
    border: 1px solid rgba(18, 51, 71, 0.10);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 60px rgba(16, 28, 39, 0.10);
}

.state-page-kicker {
    font-size: 0.80rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5c7687;
    font-weight: 700;
}

.state-page-title {
    margin: 0.5rem 0 0;
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.05;
    color: #13263a;
}

.state-page-copy {
    margin: 1rem 0 0;
    max-width: 58ch;
    color: #506273;
    font-size: 1rem;
    line-height: 1.65;
}

.state-page-detail {
    margin-top: 1.35rem;
    display: inline-flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: #eef3f8;
    border: 1px solid #d5dee7;
    color: #213549;
}

.state-page-detail code {
    font-size: 0.95rem;
    color: #123347;
}

.state-page-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.pm-side-zone {
    border-left: 1px dashed #9db0c5;
    padding-left: 0.7rem;
    color: #4e5d6c;
    font-size: 0.8rem;
    white-space: nowrap;
}

.app-data-grid-shell {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.app-data-grid {
    border: 1px solid #d3dce5;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 30px rgba(16, 28, 39, 0.06);
    width: 100%;
}

.app-data-grid .rz-datatable-tablewrapper {
    overflow: hidden;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

.app-data-grid .rz-grid-table,
.app-data-grid .rz-datatable-tablewrapper table {
    border-collapse: separate;
    border-spacing: 0;
}

.app-data-grid .rz-grid-table thead th,
.app-data-grid .rz-datatable-tablewrapper thead th {
    background: #edf2f6;
    color: #3f5568;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-color: #d3dce5;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.app-data-grid .rz-grid-table thead th:first-child,
.app-data-grid .rz-datatable-tablewrapper thead th:first-child {
    border-top-left-radius: 18px;
}

.app-data-grid .rz-grid-table thead th:last-child,
.app-data-grid .rz-datatable-tablewrapper thead th:last-child {
    border-top-right-radius: 18px;
}

.app-data-grid .rz-cell-data,
.app-data-grid .rz-datatable-data td,
.app-data-grid .rz-grid-table td {
    color: #405261;
}

.app-data-grid .rz-datatable-even,
.app-data-grid .rz-grid-table tr:nth-child(even) td {
    background: #f9fbfc;
}

.app-data-grid .rz-column-filter {
    width: 100%;
}

.app-data-grid .rz-textbox,
.app-data-grid .rz-dropdown,
.app-data-grid .rz-multiselect {
    border-radius: 10px;
}

.app-data-grid .rz-paginator {
    border-top: 1px solid #dbe4ec;
    background: #ffffff;
    padding: 0.65rem 0.85rem;
}

.app-data-grid .rz-paginator-element,
.app-data-grid .rz-paginator-page {
    border-radius: 10px;
}

.rz-card:not(.rz-variant-flat):not(.rz-variant-text) {
    border: 1px solid var(--app-color-border);
    border-radius: var(--app-radius-card);
    background: var(--app-surface-card);
    box-shadow: var(--app-shadow-card);
}

.rz-button {
    border-radius: var(--app-radius-pill);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.rz-button .rzi,
.rz-button .rz-button-text {
    color: inherit !important;
}

.rz-button.rz-primary {
    background: linear-gradient(180deg, #6b95ab 0%, #5a839a 100%);
    border-color: #5a839a;
}

.rz-button:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-button-light) {
    color: #ffffff !important;
}

.rz-button.rz-secondary,
.rz-button.rz-info,
.rz-button.rz-success,
.rz-button.rz-base {
    color: #ffffff !important;
}

.rz-button.rz-primary .rzi,
.rz-button.rz-primary .rz-button-text,
.rz-button.rz-secondary .rzi,
.rz-button.rz-secondary .rz-button-text,
.rz-button.rz-info .rzi,
.rz-button.rz-info .rz-button-text,
.rz-button.rz-success .rzi,
.rz-button.rz-success .rz-button-text,
.rz-button.rz-base .rzi,
.rz-button.rz-base .rz-button-text,
.rz-button.rz-danger .rzi,
.rz-button.rz-danger .rz-button-text {
    color: #ffffff !important;
}

.rz-button.rz-variant-outlined {
    --app-button-accent: #5f879d;
    --app-button-contrast: #f7f5ef;
    color: var(--app-button-contrast) !important;
    border-color: var(--app-button-accent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--app-button-accent) 88%, white) 0%, var(--app-button-accent) 100%);
}

.rz-button.rz-variant-outlined.rz-secondary {
    --app-button-accent: #6f7e88;
}

.rz-button.rz-variant-outlined.rz-info {
    --app-button-accent: #5f879d;
}

.rz-button.rz-variant-outlined.rz-success {
    --app-button-accent: #4d7a5d;
}

.rz-button.rz-variant-outlined.rz-base {
    --app-button-accent: #6d7680;
}

.rz-button.rz-variant-outlined.rz-danger {
    --app-button-accent: #d35d6e;
    --app-button-contrast: #fff7f8;
}

.rz-button.rz-variant-outlined .rzi,
.rz-button.rz-variant-outlined .rz-button-text {
    color: inherit !important;
}

.rz-button.rz-variant-outlined:hover:not(.rz-state-disabled),
.rz-button.rz-variant-outlined:focus-visible:not(.rz-state-disabled) {
    background: var(--app-button-contrast);
    border-color: var(--app-button-accent);
    color: var(--app-button-accent) !important;
}

.rz-button.rz-variant-outlined:hover:not(.rz-state-disabled) .rzi,
.rz-button.rz-variant-outlined:hover:not(.rz-state-disabled) .rz-button-text,
.rz-button.rz-variant-outlined:focus-visible:not(.rz-state-disabled) .rzi,
.rz-button.rz-variant-outlined:focus-visible:not(.rz-state-disabled) .rz-button-text {
    color: inherit !important;
}

.rz-button.rz-state-disabled,
.rz-button:disabled {
    opacity: 0.55;
}

.rz-textbox,
.rz-dropdown,
.rz-numeric,
.rz-datepicker,
.rz-textarea {
    border-radius: var(--app-radius-control);
    border-color: var(--app-color-border-strong);
    background: #fbfdff;
    box-shadow: none;
}

.rz-dropdown-label,
.rz-numeric-input,
.rz-datepicker input {
    text-align: left;
}

.rz-datepicker .rz-button {
    background: transparent !important;
    border: 0 !important;
    color: #5f879d !important;
    box-shadow: none !important;
}

.rz-datepicker .rz-button .rzi,
.rz-datepicker .rz-button .rz-button-text {
    color: #5f879d !important;
}

.rz-datepicker .rz-button:hover:not(.rz-state-disabled),
.rz-datepicker .rz-button:focus-visible:not(.rz-state-disabled) {
    background: rgba(107, 149, 171, 0.14) !important;
    color: #355a6f !important;
}

.rz-datepicker .rz-button:hover:not(.rz-state-disabled) .rzi,
.rz-datepicker .rz-button:hover:not(.rz-state-disabled) .rz-button-text,
.rz-datepicker .rz-button:focus-visible:not(.rz-state-disabled) .rzi,
.rz-datepicker .rz-button:focus-visible:not(.rz-state-disabled) .rz-button-text {
    color: #355a6f !important;
}

.rz-textbox:focus,
.rz-dropdown:focus,
.rz-numeric:focus,
.rz-datepicker:focus,
.rz-textarea:focus,
.rz-state-focus {
    border-color: #6b95ab;
    box-shadow: 0 0 0 0.2rem rgba(102, 146, 171, 0.18);
}

.rz-dialog {
    border-radius: 30px;
    border: 1px solid var(--app-color-border);
    overflow: hidden;
    box-shadow: var(--app-shadow-panel);
}

.rz-dialog-titlebar {
    background: linear-gradient(180deg, #f7fafc 0%, #eef4f8 100%);
    border-bottom: 1px solid var(--app-color-border);
    color: var(--app-color-heading);
}

.rz-alert {
    border-radius: 18px;
}

.users-grid .rz-paginator {
    justify-content: space-between;
}

.users-grid .users-grid-edit-button {
    min-width: 2.5rem;
    justify-content: center;
    padding-inline: 0.65rem;
}

.users-grid .users-grid-truncate {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auditor-dashboard-panel .auditor-hero {
    background: linear-gradient(125deg, #e9f6ec 0%, #f8faf5 45%, #f5f1e6 100%);
    border: 1px solid #dde7da;
}

.auditor-dashboard-panel .metric-card {
    min-height: 118px;
    border: 1px solid #d9e0d6;
}

.auditor-dashboard-panel .auditor-metric-grid {
    --app-metric-min: 180px;
}

.auditor-dashboard-panel .auditor-priority-grid {
    --app-grid-min: 420px;
}

.auditor-dashboard-panel .auditor-focus-grid {
    --app-grid-min: 320px;
}

.auditor-dashboard-panel .metric-annual {
    background: linear-gradient(160deg, #f3f6f0 0%, #edf1ea 100%);
}

.auditor-dashboard-panel .metric-completed {
    background: linear-gradient(160deg, #edf8f2 0%, #e4f2ea 100%);
}

.auditor-dashboard-panel .metric-remaining {
    background: linear-gradient(160deg, #fdf7eb 0%, #f7efd9 100%);
}

.auditor-dashboard-panel .metric-required {
    background: linear-gradient(160deg, #eef4fb 0%, #e3ecf7 100%);
}

.auditor-dashboard-panel .metric-behind {
    background: linear-gradient(160deg, #fff1ec 0%, #fbe3db 100%);
}

.auditor-dashboard-panel .priority-row {
    border: 1px solid #e7e4d7;
    background: linear-gradient(160deg, #fffef9 0%, #f8f4ea 100%);
}

.auditor-dashboard-panel .priority-row-shell {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.9rem;
    height: 100%;
}

.auditor-dashboard-panel .priority-row-main {
    min-width: 0;
    display: grid;
    gap: 0.85rem;
}

.auditor-dashboard-panel .priority-row-heading {
    display: grid;
    gap: 0.3rem;
}

.auditor-dashboard-panel .priority-row-heading .rz-text:first-child {
    color: #203746;
    font-weight: 700;
    line-height: 1.3;
}

.auditor-dashboard-panel .priority-row-heading .rz-text:last-child {
    color: #5b6f7f;
    line-height: 1.45;
}

.auditor-dashboard-panel .priority-stat-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.auditor-dashboard-panel .priority-stat-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.32rem 0.6rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.83rem;
}

.auditor-dashboard-panel .priority-stat-label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: 0.68rem;
}

.auditor-dashboard-panel .priority-stat-value {
    font-weight: 700;
}

.auditor-dashboard-panel .priority-stat-chip-primary {
    background: #e7f5fb;
    border-color: #b9dce9;
    color: #1f677c;
}

.auditor-dashboard-panel .priority-stat-chip-warning {
    background: #fff3df;
    border-color: #f2d5a1;
    color: #8a5a13;
}

.auditor-dashboard-panel .priority-stat-chip-neutral {
    background: #eef2f5;
    border-color: #d5dee6;
    color: #4d6475;
}

.auditor-dashboard-panel .priority-stat-chip-shared {
    background: #edf4ef;
    border-color: #c9d8ce;
    color: #4f6f5a;
}

.auditor-dashboard-panel .priority-row-side {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.1rem;
    border-top: 1px solid #ebe6d7;
}

.auditor-dashboard-panel .book-this-month-card .priority-list-scroll {
    max-height: 720px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

.auditor-dashboard-panel .priority-book-button.rz-button {
    min-width: 9.5rem;
    padding: 0.55rem 0.95rem;
    border: 1px solid #79a98a !important;
    border-radius: 999px;
    background: linear-gradient(180deg, #eef8f1 0%, #dff1e5 100%) !important;
    color: #22643a !important;
    font-weight: 600;
    line-height: 1;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.auditor-dashboard-panel .priority-row-hint {
    color: #6e8090;
}

.auditor-dashboard-panel .priority-book-button.rz-button .rz-button-text,
.auditor-dashboard-panel .priority-book-button.rz-button .rzi {
    color: inherit !important;
}

.auditor-dashboard-panel .priority-book-button.rz-button:hover:not(.rz-state-disabled) {
    background: linear-gradient(180deg, #dff1e5 0%, #cde6d6 100%) !important;
    border-color: #5f8c70 !important;
    color: #1d5a32 !important;
    transform: translateY(-1px);
}

.auditor-dashboard-panel .priority-book-button.is-booked.rz-button {
    border-color: #5f879d !important;
    background: linear-gradient(180deg, #6b95ab 0%, #5a839a 100%) !important;
    color: #f7f5ef !important;
}

.auditor-dashboard-panel .priority-book-button.is-booked.rz-button:hover:not(.rz-state-disabled) {
    background: linear-gradient(180deg, #5f879d 0%, #4f7488 100%) !important;
    border-color: #4f7488 !important;
    color: #ffffff !important;
}

.auditor-dashboard-panel .priority-book-button.rz-button:focus-visible {
    outline: 2px solid #22643a;
    outline-offset: 2px;
}

.auditor-dashboard-panel .priority-book-button.rz-button:active {
    transform: translateY(0);
}

.auditor-dashboard-panel .client-focus-card {
    border: 1px solid #e2e6dd;
    background: linear-gradient(150deg, #f8fbf7 0%, #edf3ee 100%);
    cursor: pointer;
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.auditor-dashboard-panel .client-focus-card:hover {
    border-color: #93ac97;
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(46, 72, 58, 0.08);
}

.auditor-dashboard-panel .client-focus-board-card .client-focus-scroll {
    max-height: 720px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

.auditor-dashboard-panel .client-focus-card-shell {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    height: 100%;
}

.auditor-dashboard-panel .client-focus-heading {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.auditor-dashboard-panel .client-focus-heading .rz-text:first-child {
    font-weight: 700;
    color: #2a3c47;
}

.auditor-dashboard-panel .client-focus-heading .rz-text:last-child {
    color: #5b6f7f;
    line-height: 1.45;
}

.auditor-dashboard-panel .client-focus-stat-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.auditor-dashboard-panel .client-focus-stat-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.32rem 0.6rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.83rem;
}

.auditor-dashboard-panel .client-focus-stat-label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: 0.68rem;
}

.auditor-dashboard-panel .client-focus-stat-value {
    font-weight: 700;
}

.auditor-dashboard-panel .client-focus-stat-chip-primary {
    background: #e7f5fb;
    border-color: #b9dce9;
    color: #1f677c;
}

.auditor-dashboard-panel .client-focus-stat-chip-warning {
    background: #fff3df;
    border-color: #f2d5a1;
    color: #8a5a13;
}

.auditor-dashboard-panel .client-focus-stat-chip-neutral {
    background: #eef2f5;
    border-color: #d5dee6;
    color: #4d6475;
}

.auditor-dashboard-panel .client-focus-stat-chip-shared {
    background: #edf4ef;
    border-color: #c9d8ce;
    color: #4f6f5a;
}

.auditor-dashboard-panel .client-focus-progress {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(215, 225, 218, 0.95);
}

.auditor-dashboard-panel .client-focus-progress-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.auditor-dashboard-panel .client-focus-progress-copy .rz-text:first-child {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.68rem;
    font-weight: 700;
    color: #6a7d89;
}

.auditor-dashboard-panel .client-focus-progress-copy .rz-text:last-child {
    color: #324754;
    font-weight: 600;
}

.auditor-dashboard-panel .client-focus-progress .rz-progressbar {
    margin-top: 0;
}

.auditor-dashboard-panel .client-focus-footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.1rem;
    border-top: 1px solid #e5eadf;
}

.auditor-dashboard-panel .client-focus-hint {
    color: #6e8090;
}

@media (max-width: 900px) {
    .auditor-dashboard-panel .priority-row-side {
        align-items: flex-start;
        border-top: none;
        padding-top: 0;
    }
}

.users-invite-card .users-invite-fields {
    height: 100%;
    justify-content: flex-start;
}

.completion-import-page .completion-import-hero {
    background: linear-gradient(130deg, #eef5fb 0%, #f4f7fb 45%, #f8f4ea 100%);
    border: 1px solid #dbe3eb;
}

.completion-import-page .completion-import-source-card {
    min-height: 240px;
    border: 1px solid #dde4dd;
    background: linear-gradient(150deg, #fbfcfb 0%, #f2f6f1 100%);
}

.completion-import-page .completion-import-filter-list {
    flex-wrap: wrap;
}

.completion-import-page .completion-import-batch-list {
    max-height: 34rem;
    overflow-y: auto;
}

.completion-import-page .completion-import-batch-list > .completion-import-batch-card {
    flex: 0 0 auto;
}

.completion-import-page .completion-import-batch-card {
    width: 100%;
    display: grid;
    gap: .3rem;
    border-radius: 14px;
    border: 1px solid rgba(122, 156, 178, .28);
    background: linear-gradient(180deg, rgba(122, 163, 188, .95), rgba(97, 142, 171, .98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 10px 24px rgba(44, 84, 110, .12);
    height: auto;
    min-height: 0;
    padding: .9rem 1rem;
    text-align: left;
    line-height: 1.35;
    color: #111111;
    cursor: pointer;
    overflow: visible;
    margin: 0;
    -webkit-user-select: none;
    user-select: none;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}

.completion-import-page .completion-import-batch-card:hover {
    transform: translateY(-1px);
    border-color: rgba(82, 126, 150, .5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 14px 28px rgba(44, 84, 110, .16);
}

.completion-import-page .completion-import-batch-card:focus-visible {
    outline: 3px solid rgba(15, 118, 110, .28);
    outline-offset: 2px;
}

.completion-import-page .completion-import-batch-card__title,
.completion-import-page .completion-import-batch-card__meta {
    display: block;
    white-space: normal;
    overflow: visible;
    word-break: break-word;
    margin: 0;
}

.completion-import-page .completion-import-batch-card__title {
    font-size: .95rem;
    font-weight: 700;
    color: #111111;
}

.completion-import-page .completion-import-batch-card__meta {
    font-size: .78rem;
    color: #1f2a33;
}

.completion-import-page .completion-import-batch-card.is-selected {
    border-color: #0f766e;
    background: linear-gradient(180deg, rgba(230, 247, 245, .98), rgba(212, 237, 234, .98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 14px 28px rgba(15, 118, 110, .14);
    color: #123444;
}

.completion-import-page .completion-import-batch-card.is-selected .completion-import-batch-card__title {
    color: #123444;
}

.completion-import-page .completion-import-batch-card.is-selected .completion-import-batch-card__meta {
    color: #40616c;
}

.completion-import-page .completion-import-metric-card {
    min-height: 5.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #dce5ed;
    background: linear-gradient(180deg, #fcfdfd 0%, #f4f8fb 100%);
}

.completion-import-page .completion-import-grid .rz-grid-table,
.completion-import-page .completion-import-grid .rz-datatable-tablewrapper table {
    min-width: 1650px;
}

.completion-import-page .completion-import-grid .rz-grid-table td,
.completion-import-page .completion-import-grid .rz-grid-table th {
    vertical-align: top;
}

.completion-import-page .completion-import-grid .completion-import-match-stack {
    font-size: 0.84rem;
    line-height: 1.35;
}

.completion-import-page .completion-import-grid .completion-import-notes {
    display: inline-block;
    line-height: 1.35;
}

.completion-import-page .completion-import-grid .completion-import-empty {
    color: #7d8b97;
}

.completion-import-page .completion-import-grid .completion-import-override-dot {
    color: #5a8798;
    font-size: 0.9rem;
}
