/* Visual augmentation: shared workspace language */
html[data-erp-background="clean"] .page-content {
    background: var(--vz-body-bg);
}

html[data-erp-background="soft"] .page-content {
    background: linear-gradient(180deg, rgba(var(--vz-primary-rgb), .025), transparent 19rem), var(--vz-body-bg);
}

html[data-erp-background="mesh"] .page-content {
    background:
        radial-gradient(circle at 8% 3%, rgba(var(--vz-primary-rgb), .085), transparent 24rem),
        radial-gradient(circle at 91% 10%, rgba(10, 179, 156, .055), transparent 25rem),
        linear-gradient(180deg, rgba(255, 255, 255, .22), transparent 26rem),
        var(--vz-body-bg);
    background-attachment: fixed;
}

[data-bs-theme="dark"] html[data-erp-background="mesh"] .page-content,
html[data-bs-theme="dark"][data-erp-background="mesh"] .page-content {
    background:
        radial-gradient(circle at 8% 3%, rgba(var(--vz-primary-rgb), .12), transparent 24rem),
        radial-gradient(circle at 91% 10%, rgba(10, 179, 156, .07), transparent 25rem),
        var(--vz-body-bg);
}

.page-content {
    min-height: calc(100vh - 70px);
}

.page-content > .container-fluid {
    padding-bottom: 1.5rem;
}

#page-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, .045);
}

.navbar-menu .navbar-nav .nav-link {
    position: relative;
}

.navbar-menu .navbar-nav > .nav-item > .nav-link.active::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 1.4rem;
    border-radius: 0 999px 999px 0;
    background: var(--vz-primary);
    content: "";
    transform: translateY(-50%);
}

.navbar-menu .menu-title span {
    letter-spacing: .11em;
}

.page-content .erp-page-intro {
    min-height: 82px;
    margin-bottom: 1.25rem;
}

.erp-page-intro-copy {
    gap: .85rem;
}

.erp-page-intro-icon {
    display: inline-flex;
    flex: 0 0 2.8rem;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid rgba(var(--vz-primary-rgb), .13);
    border-radius: var(--erp-radius-sm);
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .09);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
    font-size: 1.25rem;
}

.erp-page-intro h2 {
    margin-bottom: .28rem;
    font-size: 1.32rem;
    font-weight: 700;
    letter-spacing: -.025em;
}

.erp-page-intro p {
    font-size: .84rem;
    line-height: 1.45;
}

.page-content .card:not(.erp-hero-card) {
    border-color: rgba(135, 138, 153, .14);
}

.page-content .card-header:not(.erp-settings-panel-head) {
    min-height: 66px;
}

.page-content .card-header .card-title {
    font-weight: 650;
}

.erp-registry-card {
    overflow: hidden;
}

.erp-registry-toolbar {
    border-top: 1px solid rgba(135, 138, 153, .1);
    border-bottom: 1px solid rgba(135, 138, 153, .13);
    background: linear-gradient(90deg, rgba(var(--vz-primary-rgb), .025), transparent 55%);
}

.erp-registry-search {
    position: relative;
}

.erp-registry-search > [data-table-search-clear] {
    position: absolute;
    top: 50%;
    right: .35rem;
    z-index: 2;
    width: 1.9rem;
    height: 1.9rem;
    padding: 0;
    transform: translateY(-50%);
}

.erp-registry-search .form-control {
    padding-right: 2.6rem;
}

.page-content .table > thead > tr > th {
    padding-top: .72rem;
    padding-bottom: .72rem;
    border-bottom-width: 1px;
    color: var(--vz-secondary-color);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.page-content .table > tbody > tr > td {
    border-bottom-color: rgba(135, 138, 153, .12);
}

html[data-erp-table-hover="off"] .page-content .table-hover > tbody > tr:hover > * {
    --vz-table-accent-bg: transparent;
}

html[data-erp-table-hover="on"] .page-content .table-hover > tbody > tr {
    transition: box-shadow .16s ease, transform .16s ease, background .16s ease;
}

html[data-erp-table-hover="on"] .page-content .table-hover > tbody > tr:hover {
    box-shadow: inset 3px 0 0 var(--registry-row-accent, var(--vz-primary));
}

.erp-accented-row {
    --registry-row-accent: var(--vz-primary);
}

.erp-inline-color-dot {
    display: inline-block;
    width: .52rem;
    height: .52rem;
    margin-right: .4rem;
    border-radius: 999px;
    box-shadow: 0 0 0 3px var(--vz-light);
}

.erp-entity-avatar-accent {
    color: var(--entity-accent) !important;
    background: color-mix(in srgb, var(--entity-accent) 11%, var(--vz-card-bg)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--entity-accent) 24%, transparent);
}

.page-content .form-label {
    margin-bottom: .42rem;
    color: var(--vz-heading-color);
    font-size: .78rem;
    font-weight: 650;
}

.page-content .form-control,
.page-content .form-select,
.page-content .input-group-text {
    background-color: color-mix(in srgb, var(--vz-card-bg) 96%, var(--vz-primary) 4%);
}

.page-content textarea.form-control {
    line-height: 1.55;
}

html[data-erp-kpis="clean"] .erp-stat-card::before,
html[data-erp-kpis="clean"] .erp-dashboard-kpis .card::before {
    display: none;
}

html[data-erp-kpis="accent"] .erp-stat-card,
html[data-erp-kpis="accent"] .erp-dashboard-kpis .card {
    border-left: 3px solid var(--kpi-accent, var(--vz-primary)) !important;
}

html[data-erp-kpis="gradient"] .erp-stat-card,
html[data-erp-kpis="gradient"] .erp-dashboard-kpis .card {
    background:
        radial-gradient(circle at 94% 2%, color-mix(in srgb, var(--kpi-accent, var(--vz-primary)) 14%, transparent), transparent 42%),
        var(--vz-card-bg);
}

.erp-dashboard-kpis > [class*="col"]:nth-child(5n + 1) { --kpi-accent: #f7b84b; }
.erp-dashboard-kpis > [class*="col"]:nth-child(5n + 2) { --kpi-accent: #0ab39c; }
.erp-dashboard-kpis > [class*="col"]:nth-child(5n + 3) { --kpi-accent: #405189; }
.erp-dashboard-kpis > [class*="col"]:nth-child(5n + 4) { --kpi-accent: #299cdb; }
.erp-dashboard-kpis > [class*="col"]:nth-child(5n + 5) { --kpi-accent: #f06548; }

.erp-hero-card {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 84% 15%, rgba(10, 179, 156, .12), transparent 24rem),
        radial-gradient(circle at 12% 120%, rgba(var(--vz-primary-rgb), .16), transparent 28rem),
        linear-gradient(118deg, rgba(var(--vz-primary-rgb), .085), rgba(41, 156, 219, .035) 60%, var(--vz-card-bg));
}

.erp-hero-card::before,
.erp-hero-card::after {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(var(--vz-primary-rgb), .1);
    border-radius: 50%;
    content: "";
}

.erp-hero-card::before {
    top: -6rem;
    right: -3rem;
    width: 15rem;
    height: 15rem;
}

.erp-hero-card::after {
    top: -2.4rem;
    right: 1rem;
    width: 8rem;
    height: 8rem;
}

.erp-hero-card h1 {
    letter-spacing: -.045em;
}

.erp-hero-summary {
    position: relative;
    border-color: rgba(var(--vz-primary-rgb), .12);
    background: color-mix(in srgb, var(--vz-card-bg) 91%, transparent);
    backdrop-filter: blur(12px);
}

.erp-hero-health {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding-bottom: .85rem;
    border-bottom: 1px dashed var(--vz-border-color);
}

.erp-hero-gauge {
    --gauge-value: 0;
    display: grid;
    flex: 0 0 3.2rem;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--vz-success) calc(var(--gauge-value) * 1%), var(--vz-light) 0);
    box-shadow: inset 0 0 0 1px rgba(10, 179, 156, .08);
}

.erp-hero-gauge::before {
    grid-area: 1 / 1;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 50%;
    background: var(--vz-card-bg);
    content: "";
}

.erp-hero-gauge span {
    z-index: 1;
    grid-area: 1 / 1;
    color: var(--vz-heading-color);
    font-size: .72rem;
    font-weight: 700;
}

.erp-overline {
    display: block;
    margin-bottom: .15rem;
    color: var(--vz-primary);
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .1em;
}

.erp-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .25rem .45rem;
    border-radius: 999px;
    color: var(--vz-success);
    background: rgba(10, 179, 156, .1);
    font-size: .62rem;
    font-weight: 700;
}

.erp-live-indicator i {
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: var(--vz-success);
    box-shadow: 0 0 0 4px rgba(10, 179, 156, .1);
}

.erp-dashboard-command-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.erp-dashboard-command {
    display: grid;
    grid-template-columns: 2.45rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    min-height: 70px;
    padding: .75rem .85rem;
    border: 1px solid rgba(135, 138, 153, .14);
    border-radius: var(--erp-radius);
    color: var(--vz-body-color);
    background: color-mix(in srgb, var(--vz-card-bg) 94%, transparent);
    box-shadow: var(--erp-card-shadow);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.erp-dashboard-command:hover {
    border-color: rgba(var(--vz-primary-rgb), .25);
    color: var(--vz-body-color);
    box-shadow: var(--erp-card-shadow-hover);
    transform: translateY(-2px);
}

.erp-dashboard-command > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: var(--erp-radius-sm);
    font-size: 1.1rem;
}

.erp-dashboard-command strong,
.erp-dashboard-command small {
    display: block;
}

.erp-dashboard-command strong {
    color: var(--vz-heading-color);
    font-size: .82rem;
}

.erp-dashboard-command small {
    overflow: hidden;
    margin-top: .16rem;
    color: var(--vz-secondary-color);
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-dashboard-command > i {
    color: var(--vz-secondary-color);
}

.erp-document-dropzone {
    position: relative;
    display: grid;
    min-height: 190px;
    place-items: center;
    overflow: hidden;
    border: 1.5px dashed rgba(var(--vz-primary-rgb), .38);
    border-radius: var(--erp-radius-lg);
    background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .07), rgba(var(--vz-info-rgb), .025));
    color: var(--vz-body-color);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.erp-document-dropzone:hover {
    border-color: var(--vz-primary);
    background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .12), rgba(var(--vz-info-rgb), .05));
    transform: translateY(-2px);
}

.erp-document-dropzone > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    text-align: center;
}

.erp-document-dropzone i {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(var(--vz-primary-rgb), .12);
    color: var(--vz-primary);
    font-size: 1.65rem;
}

.erp-document-dropzone small {
    color: var(--vz-secondary-color);
}

.erp-document-file-box {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    padding: .85rem;
    border: 1px solid rgba(135, 138, 153, .16);
    border-radius: var(--erp-radius);
    background: rgba(var(--vz-light-rgb), .58);
}

@media (max-width: 1199.98px) {
    .erp-dashboard-command-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .page-content .erp-page-intro { min-height: 0; }
    .erp-page-intro-icon { flex-basis: 2.45rem; width: 2.45rem; height: 2.45rem; }
    .erp-page-intro h2 { font-size: 1.08rem; }
    .erp-dashboard-command-grid { grid-template-columns: 1fr; }
    .erp-live-indicator { display: none; }
}

/* 2027 visual system: depth, clarity and configurable identity */
:root {
    --erp-ink: #102544;
    --erp-teal: #0ab39c;
    --erp-coral: #f06548;
    --erp-sky: #299cdb;
    --erp-surface-glow: rgba(255, 255, 255, .72);
}

.page-content .card,
.page-content .erp-page-intro,
.dropdown-menu,
.modal-content {
    backdrop-filter: saturate(120%) blur(10px);
}

html[data-erp-shadows="soft"] .page-content .card {
    box-shadow: 0 1px 2px rgba(16, 37, 68, .025), 0 12px 34px rgba(16, 37, 68, .045);
}

html[data-erp-shadows="elevated"] .page-content .card {
    box-shadow: 0 1px 2px rgba(16, 37, 68, .04), 0 20px 52px rgba(16, 37, 68, .09);
}

.page-content .card {
    background-image: linear-gradient(145deg, rgba(255,255,255,.018), transparent 45%);
}

.page-content .btn:not(.btn-icon),
.erp-auth-submit {
    font-weight: 650;
    letter-spacing: -.01em;
}

html[data-erp-animations="on"] .page-content .btn:not(.btn-icon) {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

html[data-erp-animations="on"] .page-content .btn:not(.btn-icon):hover {
    transform: translateY(-1px);
}

.form-control:focus,
.form-select:focus,
.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
    border-color: color-mix(in srgb, var(--vz-primary) 58%, white);
    box-shadow: 0 0 0 .22rem rgba(var(--vz-primary-rgb), .09);
}

.erp-brand-compact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.erp-brand-compact img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.erp-brand-image {
    display: block;
    width: auto;
    max-width: 174px;
    height: auto;
    max-height: 43px;
    object-fit: contain;
}

.erp-horizontal-brand .erp-brand-image { max-width: 156px; max-height: 38px; }

/* Branding settings */
.erp-branding-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    overflow: hidden;
    min-height: 190px;
    padding: 2rem;
    color: #fff;
    background:
        radial-gradient(circle at 85% 16%, rgba(66, 211, 188, .24), transparent 18rem),
        radial-gradient(circle at 22% 130%, rgba(41, 156, 219, .2), transparent 24rem),
        linear-gradient(125deg, #102544, #16395a 58%, #0a675f);
}

.erp-branding-hero::after {
    position: absolute;
    right: -4rem;
    bottom: -7rem;
    width: 18rem;
    height: 18rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    content: "";
}

.erp-branding-hero > * { position: relative; z-index: 1; }
.erp-branding-hero h3 { margin: .45rem 0; color: #fff; font-size: clamp(1.45rem, 2vw, 2rem); letter-spacing: -.04em; }
.erp-branding-hero p { max-width: 590px; margin: 0; color: rgba(255,255,255,.68); }
.erp-branding-hero .erp-settings-eyebrow { color: #55d8c2; }

.erp-branding-live-preview {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .8rem;
    min-width: 245px;
    padding: .9rem 1rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 1rem;
    background: rgba(255,255,255,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1.2rem 3rem rgba(0,0,0,.13);
    backdrop-filter: blur(15px);
}

.erp-branding-live-preview > span {
    display: grid;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: .75rem;
    color: #102544;
    background: #55d8c2;
    font-weight: 800;
}

.erp-branding-live-preview img { max-width: 135px; max-height: 42px; object-fit: contain; }
.erp-branding-live-preview strong, .erp-branding-live-preview small { display: block; }
.erp-branding-live-preview strong { color: #fff; font-size: .88rem; }
.erp-branding-live-preview small { margin-top: .18rem; color: rgba(255,255,255,.55); font-size: .6rem; font-weight: 700; letter-spacing: .09em; }

.erp-brand-asset-card {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    height: 100%;
    padding: .9rem;
    border: 1px solid rgba(135,138,153,.16);
    border-radius: var(--erp-radius);
    background: color-mix(in srgb, var(--vz-card-bg) 95%, var(--vz-primary) 5%);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.erp-brand-asset-card:hover { border-color: rgba(var(--vz-primary-rgb), .26); box-shadow: 0 1rem 2.5rem rgba(16,37,68,.07); transform: translateY(-2px); }
.erp-brand-asset-preview { display: grid; min-height: 112px; place-items: center; overflow: hidden; border: 1px dashed rgba(135,138,153,.25); border-radius: calc(var(--erp-radius) - .2rem); background: #f7f9fc; }
.erp-brand-asset-preview.is-dark { background: linear-gradient(135deg, #102544, #1c4566); }
.erp-brand-asset-preview img { width: auto; max-width: 78%; height: auto; max-height: 68px; object-fit: contain; }
.erp-brand-asset-preview > span { display: grid; gap: .35rem; place-items: center; color: #8791a5; text-align: center; }
.erp-brand-asset-preview > span i { font-size: 1.7rem; }
.erp-brand-asset-preview > span small { font-size: .68rem; }
.erp-brand-asset-copy strong, .erp-brand-asset-copy small { display: block; }
.erp-brand-asset-copy small { min-height: 34px; margin-top: .2rem; color: var(--vz-secondary-color); font-size: .7rem; line-height: 1.45; }

.erp-color-input { display: flex; align-items: center; gap: .85rem; padding: .75rem; border: 1px solid var(--vz-border-color); border-radius: var(--erp-radius-sm); background: rgba(var(--vz-light-rgb), .45); }
.erp-color-input .form-control-color { flex: 0 0 3rem; width: 3rem; height: 3rem; padding: .25rem; }
.erp-color-input strong, .erp-color-input small { display: block; }
.erp-color-input strong { color: var(--vz-heading-color); font-size: .78rem; }
.erp-color-input small { margin-top: .18rem; color: var(--vz-secondary-color); font-size: .68rem; }

/* Authentication workspace */
.erp-auth-body { min-height: 100vh; margin: 0; overflow-x: hidden; background: #f4f7fa; }
.erp-auth-shell { display: grid; grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr); min-height: 100vh; }
.erp-auth-shell.without-story { display: block; }
.erp-auth-shell.without-story .erp-auth-main { min-height: 100vh; }
.erp-auth-shell.without-story .erp-auth-brand.is-mobile { display: inline-flex; }

.erp-auth-story {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2rem, 4vw, 4.5rem);
    color: #fff;
    background:
        linear-gradient(rgba(12,33,58,.82), rgba(9,48,66,.91)),
        url('../../vendor/images/auth-one-bg.jpg') center / cover;
}

.erp-auth-shell.is-midnight .erp-auth-story { background: radial-gradient(circle at 12% 15%, rgba(41,156,219,.25), transparent 25rem), radial-gradient(circle at 90% 84%, rgba(10,179,156,.2), transparent 24rem), #08192f; }
.erp-auth-shell.is-clean .erp-auth-story { background: linear-gradient(145deg, #173451, #eef8f6); }
.erp-auth-story::before { position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.erp-auth-story-orb { position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.erp-auth-story-orb.is-one { top: -11rem; right: -9rem; width: 30rem; height: 30rem; box-shadow: inset 0 0 8rem rgba(10,179,156,.08); }
.erp-auth-story-orb.is-two { right: 4rem; bottom: -12rem; width: 24rem; height: 24rem; }

.erp-auth-brand { display: inline-flex; width: max-content; align-items: center; gap: .75rem; text-decoration: none; }
.erp-auth-brand img { display: block; width: auto; max-width: 210px; height: auto; max-height: 58px; object-fit: contain; }
.erp-auth-brand strong, .erp-auth-brand small { display: block; }
.erp-auth-brand strong { font-size: .95rem; letter-spacing: -.015em; }
.erp-auth-brand small { margin-top: .18rem; font-size: .58rem; font-weight: 750; letter-spacing: .12em; }
.erp-auth-brand.is-inverted { color: #fff; }
.erp-auth-brand.is-inverted small { color: rgba(255,255,255,.52); }
.erp-auth-brand-mark { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .78rem; background: #55d8c2; color: #102544; box-shadow: 0 .65rem 1.8rem rgba(0,0,0,.15); font-size: .82rem; font-weight: 850; letter-spacing: -.04em; }

.erp-auth-story-copy { width: min(100%, 660px); margin: auto 0; padding: 4rem 0; }
.erp-auth-eyebrow { display: inline-flex; align-items: center; gap: .48rem; color: #55d8c2; font-size: .64rem; font-weight: 800; letter-spacing: .14em; }
.erp-auth-eyebrow > i { width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .3rem rgba(85,216,194,.1); }
.erp-auth-eyebrow.is-dark { margin-bottom: .7rem; color: #0a8f80; }
.erp-auth-story-copy h1 { max-width: 620px; margin: 1rem 0; color: #fff; font-size: clamp(2.35rem, 4.25vw, 4.9rem); font-weight: 700; line-height: .99; letter-spacing: -.065em; }
.erp-auth-story-copy > p { max-width: 585px; margin: 0; color: rgba(255,255,255,.65); font-size: clamp(.94rem, 1.2vw, 1.08rem); line-height: 1.75; }

.erp-auth-features { display: grid; gap: .55rem; margin-top: 2.35rem; }
.erp-auth-features > div { display: grid; grid-template-columns: 2.45rem 1fr auto; align-items: center; gap: .75rem; max-width: 520px; padding: .62rem .72rem; border: 1px solid rgba(255,255,255,.09); border-radius: .9rem; background: rgba(255,255,255,.055); backdrop-filter: blur(10px); }
.erp-auth-features > div > span { display: grid; width: 2.45rem; height: 2.45rem; place-items: center; border-radius: .7rem; color: #55d8c2; background: rgba(85,216,194,.1); font-size: 1rem; }
.erp-auth-features strong { color: rgba(255,255,255,.86); font-size: .78rem; font-weight: 600; }
.erp-auth-features > div > i { color: rgba(255,255,255,.28); }
.erp-auth-story-foot { display: flex; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.45); font-size: .65rem; font-weight: 650; letter-spacing: .04em; }

.erp-auth-main { position: relative; display: grid; min-width: 0; place-items: center; padding: clamp(1.5rem, 4vw, 5rem); background: radial-gradient(circle at 88% 8%, rgba(41,156,219,.07), transparent 22rem), radial-gradient(circle at 15% 92%, rgba(10,179,156,.07), transparent 22rem), #f6f8fb; }
.erp-auth-main::before { position: absolute; top: 7%; right: 8%; width: 5.5rem; height: 5.5rem; border: 1px solid rgba(16,37,68,.06); border-radius: 1.5rem; content: ""; transform: rotate(18deg); }
.erp-auth-main-inner { position: relative; z-index: 1; width: min(100%, 490px); }
.erp-auth-brand.is-mobile { display: none; margin: 0 auto 2rem; color: #102544; }
.erp-auth-brand.is-mobile small { color: #8791a5; }

.erp-auth-card { padding: clamp(1.4rem, 3vw, 2.7rem); border: 1px solid rgba(16,37,68,.08) !important; border-radius: 1.35rem !important; background: rgba(255,255,255,.88) !important; box-shadow: 0 2rem 6rem rgba(16,37,68,.1), inset 0 1px 0 #fff !important; backdrop-filter: blur(18px); }
.erp-auth-card.card { padding: 0; }
.erp-auth-card-head { margin-bottom: 2rem; }
.erp-auth-card-head h2 { margin: 0 0 .55rem; color: #102544; font-size: clamp(1.8rem, 3vw, 2.35rem); letter-spacing: -.055em; }
.erp-auth-card-head p { margin: 0; color: #718096; line-height: 1.6; }
.erp-auth-card-icon { display: grid; width: 3rem; height: 3rem; margin-bottom: 1.35rem; place-items: center; border: 1px solid rgba(10,179,156,.14); border-radius: .9rem; color: #0a8f80; background: linear-gradient(145deg, rgba(10,179,156,.13), rgba(41,156,219,.06)); font-size: 1.35rem; box-shadow: 0 .8rem 2rem rgba(10,179,156,.08); }
.erp-auth-card .form-label { margin-bottom: .48rem; color: #263b55; font-size: .75rem; font-weight: 700; }
.erp-auth-input { position: relative; display: flex; align-items: center; }
.erp-auth-input > i { position: absolute; left: .95rem; z-index: 2; color: #8791a5; font-size: 1rem; }
.erp-auth-input .form-control { min-height: 50px; padding-left: 2.7rem; border-color: rgba(16,37,68,.11); border-radius: .8rem; background: rgba(247,249,252,.86); }
.erp-auth-input button { position: absolute; right: .45rem; display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 0; border-radius: .6rem; color: #8791a5; background: transparent; }
.erp-auth-input button:hover { color: #102544; background: rgba(16,37,68,.05); }
.erp-auth-submit { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: space-between; padding: .65rem .8rem .65rem 1.1rem; border: 0; border-radius: .8rem; background: linear-gradient(110deg, #102544, #156b68); box-shadow: 0 .85rem 2rem rgba(16,37,68,.18); }
.erp-auth-submit i { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .55rem; background: rgba(255,255,255,.12); }
.erp-auth-submit:hover { background: linear-gradient(110deg, #17395d, #0a8f80); box-shadow: 0 1rem 2.3rem rgba(16,37,68,.24); transform: translateY(-1px); }
.erp-auth-security { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .55rem; margin-top: 1.35rem; padding-top: 1.1rem; border-top: 1px dashed rgba(16,37,68,.12); color: #8791a5; font-size: .68rem; }
.erp-auth-security > i { color: #0ab39c; }
.erp-auth-security strong { padding: .17rem .38rem; border-radius: 999px; color: #0a8f80; background: rgba(10,179,156,.1); font-size: .56rem; letter-spacing: .08em; }
.erp-auth-legal { margin: 1.25rem 1rem 0; color: #9aa5b4; font-size: .65rem; line-height: 1.5; text-align: center; }

@media (max-width: 1099.98px) {
    .erp-auth-shell { grid-template-columns: minmax(350px, .82fr) minmax(470px, 1.18fr); }
    .erp-auth-story { padding: 2.3rem; }
    .erp-auth-story-copy h1 { font-size: 2.65rem; }
}

@media (max-width: 899.98px) {
    .erp-auth-shell { display: block; }
    .erp-auth-story { display: none; }
    .erp-auth-main { min-height: 100vh; }
    .erp-auth-brand.is-mobile { display: inline-flex; }
}

@media (max-width: 575.98px) {
    .erp-auth-main { padding: 1rem; }
    .erp-auth-main::before { display: none; }
    .erp-auth-card { padding: 1.35rem; border-radius: 1rem !important; }
    .erp-auth-card.card .card-body { padding: 1.35rem !important; }
    .erp-auth-brand img { max-width: 165px; max-height: 48px; }
    .erp-branding-hero { align-items: flex-start; flex-direction: column; padding: 1.25rem; }
    .erp-branding-live-preview { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .erp-brand-asset-card,
    .erp-auth-submit,
    .page-content .btn { transition: none !important; transform: none !important; }
}

/* Persistent running timer */
.erp-floating-timer {
    position: fixed;
    z-index: 1050;
    right: 1.25rem;
    bottom: 1.35rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.65rem;
    min-width: min(360px, calc(100vw - 2rem));
    align-items: center;
    gap: .42rem;
    padding: .52rem;
    border: 1px solid rgba(10, 179, 156, .22);
    border-radius: 1.2rem;
    color: #fff;
    background: linear-gradient(112deg, rgba(16, 37, 68, .97), rgba(15, 112, 104, .96));
    box-shadow: 0 1rem 2.8rem rgba(16, 37, 68, .28);
    backdrop-filter: blur(16px);
}
.erp-floating-timer:hover { color: #fff; box-shadow: 0 1.25rem 3.2rem rgba(16, 37, 68, .36); transform: translateY(-2px); }
.erp-floating-timer-main { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr) 1.8rem; min-width: 0; align-items: center; gap: .75rem; color: #fff; }
.erp-floating-timer-main:hover { color: #fff; }
.erp-floating-timer-ring { position: relative; display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border: 1px solid rgba(85, 216, 194, .32); border-radius: 50%; background: rgba(85, 216, 194, .1); box-shadow: inset 0 0 0 .35rem rgba(255,255,255,.035); }
.erp-floating-timer-ring::before { position: absolute; inset: -.18rem; border: 2px solid transparent; border-top-color: #55d8c2; border-right-color: rgba(85, 216, 194, .4); border-radius: 50%; content: ""; animation: erpTimerSpin 4s linear infinite; }
.erp-floating-timer-ring > i { position: absolute; top: .55rem; color: #55d8c2; font-size: .9rem; }
.erp-floating-timer-ring strong { padding-top: .75rem; color: #fff; font-size: .66rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.erp-floating-timer-copy { min-width: 0; }
.erp-floating-timer-copy small,
.erp-floating-timer-copy strong,
.erp-floating-timer-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.erp-floating-timer-copy small { color: #55d8c2; font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.erp-floating-timer-copy strong { margin-top: .15rem; color: #fff; font-size: .78rem; }
.erp-floating-timer-copy span { margin-top: .1rem; color: rgba(255,255,255,.56); font-size: .62rem; }
.erp-floating-timer-arrow { color: rgba(255,255,255,.48); font-size: 1.05rem; }
.erp-floating-timer-stop-form { margin: 0; }
.erp-floating-timer-stop { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: .9rem; color: #fff; background: rgba(240,101,72,.88); box-shadow: 0 .45rem 1.2rem rgba(0,0,0,.16); transition: transform .18s ease, background-color .18s ease; }
.erp-floating-timer-stop:hover { color: #fff; background: #f06548; transform: scale(1.05); }
.erp-floating-timer-stop:focus-visible { outline: 3px solid rgba(255,255,255,.72); outline-offset: 2px; }
@keyframes erpTimerSpin { to { transform: rotate(360deg); } }
@media (max-width: 575.98px) {
    .erp-floating-timer { right: .75rem; bottom: .8rem; min-width: calc(100vw - 1.5rem); }
    .erp-floating-timer-main { grid-template-columns: 3.65rem minmax(0, 1fr) 1.4rem; }
    .erp-floating-timer-ring { width: 3.65rem; height: 3.65rem; }
}

/* Dashboard 2027 visual system */
.erp-dashboard-widget .erp-widget-content > .card {
    border: 1px solid color-mix(in srgb, var(--widget-accent) 14%, var(--vz-border-color));
    border-radius: 1rem;
    background-color: var(--vz-card-bg);
    box-shadow: 0 1px 2px rgba(16,37,68,.025), 0 .85rem 2.2rem rgba(16,37,68,.055);
}
.erp-dashboard-widget .erp-widget-content > .card::before { height: 3px; opacity: .95; }
.erp-widget-surface-clean .erp-widget-content > .card {
    background-image: radial-gradient(circle at 96% 0, color-mix(in srgb, var(--widget-accent) 8%, transparent), transparent 38%);
}
.erp-dashboard-widget .card-animate:hover,
.erp-dashboard-widget a.card:hover { border-color: color-mix(in srgb, var(--widget-accent) 28%, var(--vz-border-color)); box-shadow: 0 1.1rem 2.8rem color-mix(in srgb, var(--widget-accent) 10%, rgba(16,37,68,.07)); }
.erp-dashboard-widget .erp-widget-value { color: var(--vz-heading-color); font-weight: 720; letter-spacing: -.035em; }
.erp-dashboard-widget .avatar-title { border: 1px solid color-mix(in srgb, currentColor 12%, transparent); border-radius: .82rem !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.5); }
.erp-preset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.erp-preset-grid button { display: grid; gap: .25rem; place-items: center; min-height: 64px; padding: .55rem .35rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; color: var(--vz-secondary-color); background: color-mix(in srgb, var(--vz-light) 68%, var(--vz-card-bg)); font-size: .63rem; font-weight: 700; }
.erp-preset-grid button i { color: var(--vz-primary); font-size: 1.2rem; }
.erp-preset-grid button:hover { border-color: rgba(var(--vz-primary-rgb),.28); color: var(--vz-heading-color); background: rgba(var(--vz-primary-rgb),.07); transform: translateY(-1px); }

/* Weather widget */
.erp-weather-card { color: var(--vz-body-color); transition: background .25s ease; }
.erp-weather-card[data-weather-tone="sunny"] { background: radial-gradient(circle at 92% 12%, rgba(247,184,75,.28), transparent 44%), linear-gradient(145deg, rgba(247,184,75,.08), var(--vz-card-bg) 70%) !important; }
.erp-weather-card[data-weather-tone="night"] { background: radial-gradient(circle at 92% 10%, rgba(41,156,219,.22), transparent 42%), linear-gradient(145deg, rgba(64,81,137,.14), var(--vz-card-bg) 72%) !important; }
.erp-weather-card[data-weather-tone="rain"], .erp-weather-card[data-weather-tone="storm"] { background: radial-gradient(circle at 92% 10%, rgba(41,156,219,.24), transparent 42%), linear-gradient(145deg, rgba(41,156,219,.08), var(--vz-card-bg) 72%) !important; }
.erp-weather-loading { display: flex; min-height: 96px; align-items: center; justify-content: center; gap: .55rem; color: var(--vz-secondary-color); font-size: .72rem; }
.erp-weather-content { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.erp-weather-content .erp-widget-value { font-size: clamp(2rem,3vw,2.8rem); line-height: 1; }
.erp-weather-unit { padding-bottom: .25rem; color: var(--vz-secondary-color); font-weight: 700; }
.erp-weather-symbol { display: grid; flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; place-items: center; border: 1px solid color-mix(in srgb, var(--widget-accent) 18%, transparent); border-radius: 1rem; color: var(--widget-accent); background: color-mix(in srgb, var(--widget-accent) 10%, transparent); font-size: 1.8rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.5); }
.erp-weather-foot { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: 1rem; padding-top: .7rem; border-top: 1px dashed color-mix(in srgb, var(--widget-accent) 18%, var(--vz-border-color)); color: var(--vz-secondary-color); font-size: .63rem; }
.erp-weather-foot > span { display: flex; align-items: center; gap: .3rem; min-width: 0; }

/* CRM registry, media and profile */
.erp-client-filters { display: grid; grid-template-columns: minmax(220px,1.7fr) repeat(5,minmax(125px,1fr)) auto; align-items: end; gap: .75rem; padding: 1rem 1.15rem; border-top: 1px solid var(--vz-border-color); border-bottom: 1px solid var(--vz-border-color); background: color-mix(in srgb, var(--vz-light) 55%, var(--vz-card-bg)); }
.erp-filter-field { min-width: 0; }
.erp-filter-field > label { display: block; margin-bottom: .38rem; color: var(--vz-secondary-color); font-size: .61rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.erp-filter-field .form-control, .erp-filter-field .form-select { min-height: 42px; }
.erp-registry-search { position: relative; }
.erp-registry-search > i { position: absolute; z-index: 2; top: 50%; left: .82rem; color: var(--vz-secondary-color); transform: translateY(-50%); }
.erp-registry-search .form-control { padding-left: 2.35rem; }
.erp-client-filter-actions, .erp-company-filter-actions { display: flex; gap: .45rem; }
.erp-client-filter-actions .btn, .erp-company-filter-actions .btn { min-height: 42px; }
.erp-sort-link { display: inline-flex; align-items: center; gap: .35rem; color: var(--vz-secondary-color); font-size: .66rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.erp-sort-link:hover { color: var(--vz-primary); }
.erp-entity-avatar.is-image { object-fit: cover; }
.erp-taxonomy-badge { display: inline-flex; align-items: center; gap: .42rem; padding: .35rem .55rem; border: 1px solid rgba(var(--vz-primary-rgb),.12); border-radius: .55rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.06); font-size: .7rem; font-weight: 650; white-space: nowrap; }
.erp-taxonomy-badge.is-info { border-color: rgba(var(--vz-info-rgb),.14); color: var(--vz-info); background: rgba(var(--vz-info-rgb),.07); }
.erp-client-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.erp-client-media-grid > div { display: block; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: .9rem; background: color-mix(in srgb, var(--vz-light) 48%, var(--vz-card-bg)); }
.erp-client-media-grid .erp-upload-preview { min-height: 168px; border-radius: .8rem; }
.erp-client-media-grid .erp-upload-preview img { width: 100%; height: 168px; }
.erp-client-media-grid .erp-upload-preview.is-logo img { padding: 1rem; object-fit: contain; background: #fff; }
.erp-client-media-grid .erp-upload-preview.is-contact img { object-fit: cover; }
.erp-client-profile-hero { border-color: rgba(var(--vz-primary-rgb),.12); background: radial-gradient(circle at 92% 0,rgba(10,179,156,.12),transparent 31%),radial-gradient(circle at 3% 100%,rgba(64,81,137,.12),transparent 34%),linear-gradient(145deg,rgba(64,81,137,.05),var(--vz-card-bg) 68%); }
.erp-client-profile-grid { display: grid; grid-template-columns: 126px minmax(0,1fr) minmax(270px,340px); align-items: center; gap: 1.6rem; }
.erp-client-profile-brand { display: grid; width: 126px; height: 126px; place-items: center; overflow: hidden; border: 1px solid rgba(var(--vz-primary-rgb),.14); border-radius: 1.35rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.08); font-size: 2rem; font-weight: 800; box-shadow: 0 1rem 2.8rem rgba(16,37,68,.08); }
.erp-client-profile-brand img { width: 100%; height: 100%; object-fit: contain; padding: .65rem; background: #fff; }
.erp-client-profile-tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.erp-client-profile-tags > span { display: inline-flex; align-items: center; gap: .38rem; padding: .42rem .6rem; border: 1px solid var(--vz-border-color); border-radius: 999px; color: var(--vz-secondary-color); background: rgba(var(--vz-light-rgb),.6); font-size: .68rem; }
.erp-client-contact-card { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: .8rem; padding: .8rem; border: 1px solid rgba(135,138,153,.16); border-radius: 1rem; background: rgba(var(--vz-light-rgb),.58); }
.erp-client-contact-card > img, .erp-client-contact-card > span { display: grid; width: 64px; height: 64px; place-items: center; border-radius: .85rem; object-fit: cover; color: var(--vz-info); background: rgba(var(--vz-info-rgb),.1); font-size: 1.45rem; }
.erp-client-contact-card small, .erp-client-contact-card strong, .erp-client-contact-card a { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.erp-client-contact-card small { color: var(--vz-secondary-color); font-size: .57rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.erp-client-contact-card strong { margin: .1rem 0 .25rem; font-size: .78rem; }
.erp-client-contact-card a { color: var(--vz-secondary-color); font-size: .65rem; }
.erp-glass-kpi { position: relative; overflow: hidden; border-color: color-mix(in srgb,var(--kpi-accent) 16%,var(--vz-border-color)); background: radial-gradient(circle at 90% 6%,color-mix(in srgb,var(--kpi-accent) 14%,transparent),transparent 48%),var(--vz-card-bg); }
.erp-glass-kpi::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--kpi-accent); content: ""; }
.erp-glass-kpi-icon { display: grid; float: right; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .75rem; color: var(--kpi-accent); background: color-mix(in srgb,var(--kpi-accent) 10%,transparent); font-size: 1.15rem; }
.erp-glass-kpi small, .erp-glass-kpi strong, .erp-glass-kpi p { display: block; }
.erp-glass-kpi small { color: var(--vz-secondary-color); font-size: .6rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.erp-glass-kpi strong { margin-top: .45rem; color: var(--vz-heading-color); font-size: 1.08rem; letter-spacing: -.03em; }
.erp-glass-kpi p { margin: .15rem 0 0; color: var(--vz-secondary-color); font-size: .65rem; }
.erp-client-company-link { display: grid; grid-template-columns: 2.45rem minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .65rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; color: var(--vz-body-color); }
.erp-client-company-link:hover { border-color: rgba(var(--vz-primary-rgb),.22); color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.04); }
.erp-client-company-link > span { display: grid; width: 2.45rem; height: 2.45rem; place-items: center; border-radius: .65rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.08); }
.erp-client-company-link strong, .erp-client-company-link small { display: block; }
.erp-client-company-link small { color: var(--vz-secondary-color); font-size: .63rem; }
.erp-client-score-panel { display: grid; gap: .8rem; }
.erp-client-score-panel > div { position: relative; display: grid; grid-template-columns: 1fr auto; overflow: hidden; gap: .6rem; padding-bottom: .55rem; font-size: .68rem; }
.erp-client-score-panel > div > i { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 4px; background: var(--vz-primary); }

/* Visual icon picker */
.erp-icon-field > button { display: grid; grid-template-columns: 2.8rem minmax(0,1fr) auto; width: 100%; align-items: center; gap: .7rem; padding: .65rem; border: 1px solid var(--vz-border-color); border-radius: .75rem; color: var(--vz-body-color); background: var(--vz-input-bg); text-align: left; }
.erp-icon-field > button > i:first-child { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .7rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.09); font-size: 1.25rem; }
.erp-icon-field strong, .erp-icon-field small { display: block; }
.erp-icon-field small { color: var(--vz-secondary-color); font-size: .62rem; }
.erp-taxonomy-edit { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .55rem; }
.erp-icon-compact { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid rgba(var(--vz-primary-rgb),.14); border-radius: .7rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.07); font-size: 1.15rem; }
.erp-icon-picker-modal { overflow: hidden; border: 0; border-radius: 1rem; }
.erp-icon-picker-layer { z-index: 1085; }
.erp-icon-picker-layer + .modal-backdrop { z-index: 1080; }
.erp-icon-picker-search { position: sticky; z-index: 2; top: -1rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .65rem; margin: -1rem -1rem 1rem; padding: 1rem; border-bottom: 1px solid var(--vz-border-color); background: var(--vz-card-bg); }
.erp-icon-picker-search > i { position: absolute; left: 1.9rem; color: var(--vz-secondary-color); }
.erp-icon-picker-search .form-control { padding-left: 2.4rem; }
.erp-icon-picker-search span { color: var(--vz-secondary-color); font-size: .65rem; }
.erp-icon-picker-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(112px,1fr)); gap: .5rem; }
.erp-icon-picker-option { display: grid; min-height: 84px; place-items: center; gap: .3rem; padding: .6rem .35rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; color: var(--vz-secondary-color); background: color-mix(in srgb,var(--vz-light) 58%,var(--vz-card-bg)); }
.erp-icon-picker-option i { color: var(--vz-heading-color); font-size: 1.45rem; }
.erp-icon-picker-option span { overflow: hidden; max-width: 100%; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-icon-picker-option:hover, .erp-icon-picker-option.is-selected { border-color: rgba(var(--vz-primary-rgb),.35); color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.07); transform: translateY(-1px); }

/* Company filters */
.erp-company-filterbar { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(280px,1.35fr) auto; align-items: end; gap: .75rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--vz-border-color); }

/* Project edit workspace */
.erp-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.erp-section-heading h3 { margin: .2rem 0; font-size: 1.25rem; letter-spacing: -.035em; }
.erp-section-heading p { margin: 0; color: var(--vz-secondary-color); font-size: .72rem; }
.erp-kicker { color: var(--vz-primary); font-size: .59rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.erp-operation-card { border-color: rgba(var(--vz-primary-rgb),.1); box-shadow: 0 .75rem 2rem rgba(16,37,68,.045); }
.erp-operation-card .card-header { background: linear-gradient(145deg,rgba(var(--vz-primary-rgb),.035),transparent); }
.erp-project-travel-form { padding: 1.35rem; background: linear-gradient(145deg,rgba(var(--vz-warning-rgb),.045),color-mix(in srgb,var(--vz-light) 38%,var(--vz-card-bg))); }
.erp-project-travel-form .erp-travel-picker-map { min-height: 300px; border: 1px solid var(--vz-border-color); border-radius: .8rem; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.erp-member-option { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .6rem; height: 100%; padding: .7rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; cursor: pointer; }
.erp-member-option:has(input:checked) { border-color: rgba(var(--vz-primary-rgb),.3); background: rgba(var(--vz-primary-rgb),.06); }
.erp-member-option strong, .erp-member-option small { display: block; }
.erp-member-option small { color: var(--vz-secondary-color); font-size: .6rem; }
.erp-live-dot { display: inline-block; width: .42rem; height: .42rem; margin-right: .3rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .25rem rgba(var(--vz-danger-rgb),.1); animation: erpLivePulse 1.5s infinite; }
@keyframes erpLivePulse { 50% { box-shadow: 0 0 0 .45rem rgba(var(--vz-danger-rgb),0); } }

.erp-calendar-layer.is-muted { opacity: .55; filter: saturate(.35); }
.erp-hero-copy { display: flex; flex-direction: column; justify-content: center; min-height: 300px; }
.erp-hero-eyebrow { min-height: 34px; }
.erp-hero-eyebrow > span { display: inline-flex; align-items: center; border: 1px solid rgba(var(--vz-primary-rgb),.12); font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.erp-hero-eyebrow time { color: var(--vz-secondary-color); font-size: .66rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.erp-hero-copy h1 { margin: 0 0 .9rem; font-size: clamp(2rem,3.4vw,3.2rem); line-height: 1.04; }
.erp-hero-lead { max-width: 680px; margin: 0 0 1.35rem; color: var(--vz-secondary-color); font-size: .92rem; line-height: 1.7; }
.erp-hero-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.erp-hero-stack { display: flex; flex-direction: column; gap: .8rem; }
.erp-hero-stack .erp-hero-summary { margin-top: auto; }
.erp-hero-weather { position: relative; width: 100%; padding: 1rem 1.1rem; overflow: hidden; border: 1px solid color-mix(in srgb,var(--vz-info) 18%,var(--vz-border-color)); border-radius: 1rem; background: color-mix(in srgb,var(--vz-info) 6%,var(--vz-card-bg)); box-shadow: 0 .75rem 2.1rem rgba(16,37,68,.055); }
.erp-hero-weather::after { position: absolute; top: -2.6rem; right: -2rem; width: 8rem; height: 8rem; border: 1px solid color-mix(in srgb,var(--vz-info) 17%,transparent); border-radius: 50%; content: ""; pointer-events: none; }
.erp-hero-weather .erp-weather-loading { min-height: 54px; }
.erp-hero-weather .erp-weather-content .erp-widget-value { font-size: 2.35rem; }
.erp-hero-weather .erp-weather-symbol { position: relative; z-index: 1; width: 3.2rem; height: 3.2rem; flex-basis: 3.2rem; font-size: 1.55rem; }
.erp-travel-weather-card { border-color: rgba(var(--vz-info-rgb),.16); background: linear-gradient(135deg,rgba(var(--vz-info-rgb),.09),var(--vz-card-bg)); }

/* Media library and the reusable upload editor. */
.erp-media-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); gap: 1rem; }
.erp-media-card { overflow: hidden; border: 1px solid var(--vz-border-color); border-radius: .9rem; background: var(--vz-card-bg); box-shadow: 0 .55rem 1.8rem rgba(16,37,68,.045); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.erp-media-card:hover { border-color: rgba(var(--vz-primary-rgb),.24); box-shadow: 0 .9rem 2.2rem rgba(16,37,68,.08); transform: translateY(-2px); }
.erp-media-card > a { display: block; aspect-ratio: 4/3; overflow: hidden; background: color-mix(in srgb,var(--vz-light) 68%,var(--vz-card-bg)); }
.erp-media-card > a img { width: 100%; height: 100%; object-fit: cover; }
.erp-media-profile-list { display: grid; gap: .75rem; }
.erp-media-profile-row { display: grid; grid-template-columns: 3rem minmax(150px,1.1fr) repeat(3,minmax(125px,.72fr)); align-items: end; gap: .85rem; padding: .9rem; border: 1px solid var(--vz-border-color); border-radius: .85rem; background: color-mix(in srgb,var(--vz-light) 48%,var(--vz-card-bg)); }
.erp-media-profile-icon { display: grid; width: 3rem; height: 3rem; place-items: center; align-self: center; border-radius: .75rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb),.09); font-size: 1.25rem; }
.erp-media-profile-copy { align-self: center; }
.erp-media-profile-copy strong,.erp-media-profile-copy small,.erp-media-profile-copy span { display: block; }
.erp-media-profile-copy small { margin-top: .12rem; color: var(--vz-secondary-color); font-size: .63rem; }
.erp-media-profile-copy span { margin-top: .25rem; color: var(--vz-primary); font-size: .62rem; font-weight: 750; }
.erp-media-editor-modal .modal-content { overflow: hidden; border: 0; border-radius: 1.1rem; }
.erp-media-editor-shell { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: 1.1rem; }
.erp-media-editor-stage { position: relative; display: grid; min-height: 460px; place-items: center; overflow: hidden; padding: 1rem; border-radius: .9rem; background: #101828; }
.erp-media-editor-stage canvas { display: block; max-width: 100%; max-height: 64vh; cursor: grab; touch-action: none; box-shadow: 0 1rem 3rem rgba(0,0,0,.28); }
.erp-media-editor-stage canvas:active { cursor: grabbing; }
.erp-media-editor-grid { position: absolute; inset: 1rem; pointer-events: none; background: linear-gradient(90deg,transparent 33.1%,rgba(255,255,255,.3) 33.2%,rgba(255,255,255,.3) 33.45%,transparent 33.55%,transparent 66.45%,rgba(255,255,255,.3) 66.55%,rgba(255,255,255,.3) 66.8%,transparent 66.9%),linear-gradient(0deg,transparent 33.1%,rgba(255,255,255,.3) 33.2%,rgba(255,255,255,.3) 33.45%,transparent 33.55%,transparent 66.45%,rgba(255,255,255,.3) 66.55%,rgba(255,255,255,.3) 66.8%,transparent 66.9%); opacity: .55; }
.erp-media-editor-hint { position: absolute; bottom: 1.6rem; left: 50%; padding: .42rem .75rem; border-radius: 999px; color: #fff; background: rgba(16,24,40,.74); font-size: .65rem; transform: translateX(-50%); backdrop-filter: blur(8px); }
.erp-media-editor-controls { display: flex; flex-direction: column; gap: 1.25rem; padding: .4rem 0; }
.erp-media-editor-output { margin-top: auto; padding: .85rem; border: 1px solid rgba(var(--vz-info-rgb),.16); border-radius: .75rem; background: rgba(var(--vz-info-rgb),.06); }
.erp-media-editor-output span,.erp-media-editor-output strong,.erp-media-editor-output small { display: block; }
.erp-media-editor-output span { color: var(--vz-secondary-color); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.erp-media-editor-output strong { margin: .22rem 0; font-size: .78rem; }
.erp-media-editor-output small { color: var(--vz-secondary-color); font-size: .61rem; }
.erp-media-picker.has-file { border-style: solid; border-color: rgba(var(--vz-success-rgb),.35); }

@media (max-width: 1399.98px) {
    .erp-client-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .erp-client-filter-actions { grid-column: span 3; justify-content: flex-end; }
}
@media (max-width: 991.98px) {
    .erp-client-profile-grid { grid-template-columns: 96px minmax(0,1fr); }
    .erp-client-profile-brand { width: 96px; height: 96px; }
    .erp-client-contact-card { grid-column: 1 / -1; }
    .erp-client-media-grid { grid-template-columns: 1fr; }
    .erp-section-heading { align-items: flex-start; flex-direction: column; }
    .erp-media-profile-row { grid-template-columns: 3rem 1fr 1fr; }
    .erp-media-profile-copy { grid-column: span 2; }
    .erp-media-editor-shell { grid-template-columns: 1fr; }
    .erp-media-editor-controls { display: grid; grid-template-columns: 1fr 1fr; }
    .erp-media-editor-output { margin-top: 0; }
}
@media (max-width: 767.98px) {
    .erp-hero-copy { min-height: 0; }
    .erp-client-filters, .erp-company-filterbar { grid-template-columns: 1fr; }
    .erp-client-filter-actions { grid-column: auto; justify-content: stretch; }
    .erp-client-filter-actions .btn, .erp-company-filter-actions .btn { flex: 1; }
    .erp-client-profile-grid { grid-template-columns: 1fr; text-align: center; }
    .erp-client-profile-brand { margin: auto; }
    .erp-client-profile-tags { justify-content: center; }
}

/* Financial audit workspace */
.erp-audit-kpi {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--vz-border-color) 82%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--vz-card-bg) 96%, var(--vz-primary) 4%), var(--vz-card-bg));
}

.erp-audit-kpi .card-body {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.erp-audit-kpi-icon {
    display: grid;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: .8rem;
    font-size: 1.25rem;
}

.erp-audit-kpi small,
.erp-audit-kpi strong,
.erp-audit-kpi span { display: block; }
.erp-audit-kpi small { color: var(--vz-secondary-color); font-size: .65rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.erp-audit-kpi strong { margin: .1rem 0; color: var(--vz-heading-color); font-size: 1.2rem; line-height: 1.2; }
.erp-audit-kpi div > span { color: var(--vz-secondary-color); font-size: .68rem; }
.erp-audit-filter-card { overflow: visible; }
.erp-audit-registry { overflow: hidden; }
.erp-audit-table th:last-child { min-width: 360px; }
.erp-audit-table tbody tr { box-shadow: inset 3px 0 0 transparent; }
.erp-audit-table tbody tr:hover { box-shadow: inset 3px 0 0 var(--registry-row-accent, var(--vz-primary)); }
.erp-audit-moment strong,.erp-audit-moment span { display: block; white-space: nowrap; }
.erp-audit-moment strong { color: var(--vz-heading-color); font-size: .78rem; }
.erp-audit-moment span { margin-top: .18rem; color: var(--vz-secondary-color); font-size: .67rem; font-variant-numeric: tabular-nums; }
.erp-audit-author { display: flex; align-items: center; gap: .65rem; min-width: 150px; }
.erp-audit-author > span { display: grid; flex: 0 0 2.2rem; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .65rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); font-size: .72rem; font-weight: 800; }
.erp-audit-author strong,.erp-audit-author small { display: block; }
.erp-audit-author strong { color: var(--vz-heading-color); font-size: .76rem; }
.erp-audit-author small { color: var(--vz-secondary-color); font-size: .64rem; }
.erp-audit-event { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; min-width: 150px; }
.erp-audit-event > strong { color: var(--vz-heading-color); font-size: .76rem; }
.erp-audit-event > strong small,.erp-audit-event > small { color: var(--vz-secondary-color); font-size: .63rem; font-weight: 600; }
.erp-audit-field { min-width: 145px; }
.erp-audit-field strong,.erp-audit-field code { display: block; }
.erp-audit-field strong { margin-bottom: .25rem; color: var(--vz-heading-color); font-size: .74rem; }
.erp-audit-field code { width: fit-content; padding: .2rem .4rem; border-radius: .35rem; color: var(--vz-secondary-color); background: var(--vz-light); font-size: .61rem; }
.erp-audit-change { display: grid; grid-template-columns: minmax(130px, 1fr) 2rem minmax(130px, 1fr); align-items: stretch; gap: .45rem; min-width: 350px; }
.erp-audit-value { min-width: 0; padding: .55rem .65rem; border: 1px solid var(--vz-border-color); border-radius: .6rem; background: var(--vz-card-bg); }
.erp-audit-value small,.erp-audit-value strong { display: block; }
.erp-audit-value small { margin-bottom: .22rem; color: var(--vz-secondary-color); font-size: .57rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.erp-audit-value strong { overflow: hidden; color: var(--vz-heading-color); font-size: .72rem; line-height: 1.35; text-overflow: ellipsis; }
.erp-audit-value.is-old { border-color: rgba(var(--vz-danger-rgb), .13); background: rgba(var(--vz-danger-rgb), .035); }
.erp-audit-value.is-new { border-color: rgba(var(--vz-success-rgb), .16); background: rgba(var(--vz-success-rgb), .045); }
.erp-audit-value.is-old strong { color: color-mix(in srgb, var(--vz-danger) 76%, var(--vz-heading-color)); }
.erp-audit-value.is-new strong { color: color-mix(in srgb, var(--vz-success) 76%, var(--vz-heading-color)); }
.erp-audit-arrow { display: grid; width: 2rem; place-items: center; color: var(--vz-secondary-color); }

@media (max-width: 767.98px) {
    .erp-registry-header-actions { width: 100%; }
    .erp-registry-header-actions > * { flex: 1 1 auto; }
    .erp-audit-change { grid-template-columns: 1fr; min-width: 235px; }
    .erp-audit-arrow { width: 100%; height: 1.25rem; transform: rotate(90deg); }
}

/* Client archive: reversible archive and protected permanent deletion. */
.erp-client-archive-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;overflow:hidden;margin-bottom:1.5rem;padding:1.65rem 1.75rem;border:1px solid rgba(var(--vz-primary-rgb),.14);border-radius:1rem;background:radial-gradient(circle at 88% 5%,rgba(var(--vz-info-rgb),.16),transparent 30%),linear-gradient(125deg,rgba(var(--vz-primary-rgb),.1),var(--vz-card-bg) 52%,rgba(var(--vz-success-rgb),.06));box-shadow:0 1rem 2.5rem rgba(30,41,59,.06)}
.erp-client-archive-hero:after{position:absolute;top:-5rem;right:9%;width:11rem;height:11rem;border:1px solid rgba(var(--vz-primary-rgb),.12);border-radius:50%;content:"";pointer-events:none}
.erp-client-archive-hero-copy{display:flex;align-items:center;gap:1rem;min-width:0}.erp-client-archive-mark{display:grid;flex:0 0 auto;width:3.7rem;height:3.7rem;place-items:center;border-radius:1rem;color:var(--vz-primary);background:var(--vz-card-bg);box-shadow:0 .7rem 1.6rem rgba(30,41,59,.09);font-size:1.6rem}
.erp-client-archive-hero h2{margin:.2rem 0 .35rem;font-size:1.55rem;letter-spacing:-.035em}.erp-client-archive-hero p{max-width:58rem;margin:0;color:var(--vz-secondary-color);line-height:1.65}
.erp-client-archive-stat{overflow:hidden;border:1px solid var(--vz-border-color)}.erp-client-archive-stat .card-body{display:flex;align-items:center;gap:1rem;min-height:8.5rem;padding:1.25rem}.erp-client-archive-stat .card-body>span{display:grid;flex:0 0 auto;width:3.2rem;height:3.2rem;place-items:center;border-radius:.9rem;font-size:1.35rem}
.erp-client-archive-stat .is-secondary{color:var(--vz-secondary);background:rgba(var(--vz-secondary-rgb),.1)}.erp-client-archive-stat .is-primary{color:var(--vz-primary);background:rgba(var(--vz-primary-rgb),.1)}.erp-client-archive-stat .is-warning{color:var(--vz-warning);background:rgba(var(--vz-warning-rgb),.12)}
.erp-client-archive-stat small{display:block;color:var(--vz-secondary-color);font-size:.68rem;font-weight:700;letter-spacing:.07em}.erp-client-archive-stat strong{display:block;margin:.15rem 0;color:var(--vz-heading-color);font-size:1.55rem;line-height:1.1}.erp-client-archive-stat p{margin:0;color:var(--vz-secondary-color);font-size:.78rem}
.erp-client-archive-registry{overflow:hidden;border:0;box-shadow:0 1rem 2.5rem rgba(30,41,59,.06)}.erp-client-archive-registry>.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.4rem;background:var(--vz-card-bg)}
.erp-client-archive-search{position:relative;width:min(21rem,100%)}.erp-client-archive-search i{position:absolute;z-index:2;top:50%;left:.9rem;transform:translateY(-50%);color:var(--vz-secondary-color)}.erp-client-archive-search .form-control{min-height:2.65rem;padding-left:2.45rem;border-radius:.75rem}
.erp-client-archive-list{display:grid;gap:.85rem}.erp-client-archive-item{display:grid;grid-template-columns:minmax(16rem,1.05fr) minmax(22rem,1.5fr) auto;align-items:center;gap:1.25rem;padding:1.1rem;border:1px solid var(--vz-border-color);border-radius:.9rem;background:linear-gradient(115deg,var(--vz-card-bg),rgba(var(--vz-secondary-rgb),.025));transition:.2s}
.erp-client-archive-item:hover{transform:translateY(-1px);border-color:rgba(var(--vz-primary-rgb),.28);box-shadow:0 .75rem 1.8rem rgba(30,41,59,.055)}.erp-client-archive-identity{display:flex;align-items:center;gap:.85rem;min-width:0}.erp-client-archive-identity>img,.erp-client-archive-identity>span{display:grid;flex:0 0 auto;width:3.15rem;height:3.15rem;place-items:center;border-radius:.9rem;object-fit:cover;color:var(--vz-primary);background:rgba(var(--vz-primary-rgb),.1);font-weight:700}
.erp-client-archive-identity>div{min-width:0}.erp-client-archive-identity h5{overflow:hidden;margin:0;color:var(--vz-heading-color);text-overflow:ellipsis;white-space:nowrap}.erp-client-archive-identity p{overflow:hidden;margin:.2rem 0;color:var(--vz-secondary-color);text-overflow:ellipsis;white-space:nowrap}.erp-client-archive-identity small{display:inline-flex;align-items:center;gap:.35rem;color:var(--vz-secondary-color)}
.erp-client-archive-impact{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.erp-client-archive-impact>span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border-radius:.55rem;color:var(--vz-secondary-color);background:rgba(var(--vz-secondary-rgb),.06);font-size:.72rem;white-space:nowrap}.erp-client-archive-impact i{color:var(--vz-primary)}.erp-client-archive-impact strong{color:var(--vz-heading-color)}
.erp-client-archive-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.erp-client-archive-actions form{margin:0}.erp-client-archive-empty{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:12rem;padding:2rem;border:1px dashed var(--vz-border-color);border-radius:.9rem;color:var(--vz-secondary-color);background:rgba(var(--vz-secondary-rgb),.025)}
.erp-client-archive-empty>span{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:.9rem;color:var(--vz-primary);background:rgba(var(--vz-primary-rgb),.1);font-size:1.4rem}.erp-client-archive-empty h4{margin:0 0 .25rem;color:var(--vz-heading-color)}.erp-client-archive-empty p{margin:0}
.erp-client-purge-modal{overflow:hidden;border:0;background:var(--vz-card-bg);box-shadow:0 1.75rem 5rem rgba(15,23,42,.26)}.erp-client-purge-modal .modal-header{padding:1.25rem 1.4rem;border-bottom-color:rgba(var(--vz-danger-rgb),.16);background:linear-gradient(110deg,rgba(var(--vz-danger-rgb),.1),rgba(var(--vz-warning-rgb),.035),var(--vz-card-bg))}.erp-client-purge-modal .modal-body{padding:1.4rem}.erp-client-purge-modal .modal-footer{padding:1rem 1.4rem;background:rgba(var(--vz-secondary-rgb),.035)}
.erp-client-purge-icon{display:grid;width:3rem;height:3rem;place-items:center;border-radius:.85rem;color:var(--vz-danger);background:rgba(var(--vz-danger-rgb),.12);font-size:1.3rem}.erp-client-purge-warning{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid rgba(var(--vz-success-rgb),.2);border-radius:.8rem;background:rgba(var(--vz-success-rgb),.065)}
.erp-client-purge-warning.has-dependencies{border-color:rgba(var(--vz-danger-rgb),.22);background:rgba(var(--vz-danger-rgb),.07)}.erp-client-purge-warning>i{color:var(--vz-success);font-size:1.35rem}.erp-client-purge-warning.has-dependencies>i{color:var(--vz-danger)}.erp-client-purge-warning strong{display:block;margin-bottom:.2rem;color:var(--vz-heading-color)}.erp-client-purge-warning p{margin:0;color:var(--vz-secondary-color);line-height:1.55}
.erp-client-purge-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.erp-client-purge-summary span{padding:.7rem .5rem;border-radius:.65rem;color:var(--vz-secondary-color);background:rgba(var(--vz-secondary-rgb),.06);text-align:center;font-size:.72rem}.erp-client-purge-summary strong{display:block;color:var(--vz-heading-color);font-size:1.05rem}.erp-client-force-check{margin-top:1rem;padding:.9rem 1rem .9rem 2.6rem;border:1px solid rgba(var(--vz-danger-rgb),.18);border-radius:.7rem;background:rgba(var(--vz-danger-rgb),.04)}
@media(max-width:1199.98px){.erp-client-archive-item{grid-template-columns:minmax(15rem,1fr) minmax(18rem,1.2fr)}.erp-client-archive-actions{grid-column:1/-1;padding-top:.85rem;border-top:1px dashed var(--vz-border-color)}}
@media(max-width:767.98px){.erp-client-archive-hero{align-items:flex-start;flex-direction:column;padding:1.25rem}.erp-client-archive-hero-copy{align-items:flex-start}.erp-client-archive-registry>.card-header{align-items:flex-start;flex-direction:column}.erp-client-archive-search{width:100%}.erp-client-archive-item{grid-template-columns:1fr}.erp-client-archive-actions{grid-column:auto;justify-content:stretch}.erp-client-archive-actions>form,.erp-client-archive-actions .btn{width:100%}.erp-client-purge-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-client-archive-empty{align-items:flex-start;flex-direction:column}}

/* SaaS control plane and organization entitlements. */
.erp-superadmin-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    overflow: hidden;
    margin-bottom: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgba(var(--vz-primary-rgb), .16);
    border-radius: 1.2rem;
    color: #fff;
    background:
        radial-gradient(circle at 78% 12%, rgba(45, 212, 191, .28), transparent 27%),
        radial-gradient(circle at 96% 92%, rgba(96, 165, 250, .22), transparent 28%),
        linear-gradient(125deg, #0b1736 0%, #172554 54%, #155e75 135%);
    box-shadow: 0 1.25rem 3.5rem rgba(15, 23, 42, .16);
}
.erp-superadmin-hero::before,
.erp-superadmin-hero::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}
.erp-superadmin-hero::before { top: -6rem; right: 12%; width: 17rem; height: 17rem; }
.erp-superadmin-hero::after { right: -4rem; bottom: -8rem; width: 20rem; height: 20rem; }
.erp-superadmin-hero > * { position: relative; z-index: 1; }
.erp-superadmin-hero .erp-kicker { color: #5eead4; }
.erp-superadmin-hero h1 { margin: .3rem 0 .55rem; color: #fff; font-size: clamp(1.65rem, 3vw, 2.5rem); letter-spacing: -.045em; }
.erp-superadmin-hero p { max-width: 52rem; margin: 0; color: rgba(255, 255, 255, .72); font-size: .95rem; line-height: 1.7; }
.erp-superadmin-safety { display: inline-flex; align-items: center; gap: .45rem; padding: .65rem .8rem; border: 1px solid rgba(255, 255, 255, .13); border-radius: .7rem; color: rgba(255, 255, 255, .78); background: rgba(255, 255, 255, .07); font-size: .75rem; font-weight: 700; }
.erp-superadmin-safety.is-ready { border-color: rgba(94, 234, 212, .28); color: #ccfbf1; background: rgba(20, 184, 166, .16); }
.erp-superadmin-safety.is-prepared { border-color: rgba(125, 211, 252, .28); color: #e0f2fe; background: rgba(14, 165, 233, .14); }
.erp-superadmin-safety.is-blocked { border-color: rgba(251, 191, 36, .3); color: #fef3c7; background: rgba(245, 158, 11, .14); }
.erp-superadmin-safety.is-original { border-color: rgba(196, 181, 253, .28); color: #ede9fe; background: rgba(124, 58, 237, .13); }
.erp-superadmin-orbit { display: grid; width: 9.25rem; height: 9.25rem; place-content: center; border: 1px solid rgba(255, 255, 255, .16); border-radius: 50%; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 .7rem rgba(255, 255, 255, .025); text-align: center; backdrop-filter: blur(8px); }
.erp-superadmin-orbit > span { display: grid; width: 2rem; height: 2rem; margin: 0 auto .25rem; place-items: center; border-radius: .65rem; color: #0f766e; background: #ccfbf1; }
.erp-superadmin-orbit strong { color: #fff; font-size: 2rem; line-height: 1; }
.erp-superadmin-orbit small { margin-top: .3rem; color: rgba(255, 255, 255, .62); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.erp-tenant-identity { display: flex; align-items: center; gap: .75rem; min-width: 15rem; }
.erp-tenant-identity > span { display: grid; flex: 0 0 auto; width: 2.7rem; height: 2.7rem; place-items: center; border: 1px solid rgba(var(--vz-primary-rgb), .15); border-radius: .8rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .09); font-weight: 800; }
.erp-tenant-identity > div { min-width: 0; }
.erp-tenant-identity strong,
.erp-tenant-identity small { display: block; }
.erp-tenant-identity strong { color: var(--vz-heading-color); }
.erp-tenant-identity small { overflow: hidden; max-width: 20rem; margin-top: .2rem; color: var(--vz-secondary-color); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-count-pill { display: inline-flex; align-items: center; gap: .35rem; min-height: 2rem; padding: .35rem .6rem; border-radius: .6rem; color: var(--vz-secondary-color); background: rgba(var(--vz-secondary-rgb), .07); font-size: .74rem; font-weight: 700; white-space: nowrap; }
.erp-count-pill i { color: var(--vz-primary); font-size: .95rem; }
.erp-count-pill.is-primary { color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); }
.erp-tenant-form .card-header { padding: 1.35rem 1.4rem .65rem; }
.erp-tenant-form .card-body { padding: 1.15rem 1.4rem 1.45rem; }
.erp-tenant-security-note { display: flex; align-items: flex-start; gap: .85rem; padding: 1.1rem; border: 1px solid rgba(var(--vz-success-rgb), .18); border-radius: .9rem; background: linear-gradient(125deg, rgba(var(--vz-success-rgb), .08), var(--vz-card-bg)); }
.erp-tenant-security-note > span { display: grid; flex: 0 0 auto; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .75rem; color: var(--vz-success); background: rgba(var(--vz-success-rgb), .12); font-size: 1.2rem; }
.erp-tenant-security-note strong { display: block; margin-bottom: .2rem; color: var(--vz-heading-color); }
.erp-tenant-security-note p { margin: 0; color: var(--vz-secondary-color); font-size: .78rem; line-height: 1.55; }

.erp-entitlement-summary { display: grid; grid-template-columns: auto minmax(12rem, 1fr) minmax(30rem, auto); align-items: center; gap: 1rem; margin-bottom: 1.25rem; padding: 1.15rem 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: linear-gradient(120deg, var(--vz-card-bg), rgba(var(--vz-primary-rgb), .045)); box-shadow: 0 .75rem 2rem rgba(30, 41, 59, .045); }
.erp-tenant-avatar { display: grid; width: 3.6rem; height: 3.6rem; place-items: center; border-radius: 1rem; color: #fff; background: linear-gradient(135deg, var(--vz-primary), #0891b2); box-shadow: 0 .65rem 1.4rem rgba(var(--vz-primary-rgb), .2); font-size: 1.3rem; font-weight: 800; }
.erp-entitlement-summary-copy { min-width: 0; }
.erp-entitlement-summary-copy > span { color: var(--vz-primary); font-size: .67rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.erp-entitlement-summary-copy h3 { overflow: hidden; margin: .15rem 0; color: var(--vz-heading-color); font-size: 1.15rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-entitlement-summary-copy p { margin: 0; color: var(--vz-secondary-color); font-size: .75rem; }
.erp-entitlement-metrics { display: grid; grid-template-columns: repeat(3, minmax(7.5rem, 1fr)); gap: .6rem; }
.erp-entitlement-metrics > div { min-height: 4.8rem; padding: .7rem .8rem; border: 1px solid var(--vz-border-color); border-radius: .75rem; background: rgba(var(--vz-secondary-rgb), .035); }
.erp-entitlement-metrics small,
.erp-entitlement-metrics span { display: block; color: var(--vz-secondary-color); font-size: .65rem; }
.erp-entitlement-metrics strong { color: var(--vz-heading-color); font-size: 1.25rem; line-height: 1.35; }
.erp-entitlement-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; margin-bottom: 1rem; padding: 1.2rem 1.3rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-card-bg); }
.erp-entitlement-toolbar h4 { margin: .15rem 0 .25rem; }
.erp-entitlement-toolbar p { margin: 0; color: var(--vz-secondary-color); font-size: .78rem; }
.erp-entitlement-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .55rem; }
.erp-entitlement-search { position: relative; width: min(21rem, 100%); }
.erp-entitlement-search i { position: absolute; z-index: 2; top: 50%; left: .9rem; transform: translateY(-50%); color: var(--vz-secondary-color); }
.erp-entitlement-search .form-control { min-height: 2.55rem; padding-left: 2.45rem; border-radius: .7rem; }
.erp-superadmin-filters { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(11rem, .42fr) minmax(8rem, auto) auto auto; align-items: center; gap: .7rem; padding-top: 1rem; padding-bottom: 1rem; background: rgba(var(--vz-secondary-rgb), .018); }
.erp-superadmin-filters .erp-entitlement-search { width: 100%; }
.erp-superadmin-filters .form-control,
.erp-superadmin-filters .form-select,
.erp-superadmin-filters .btn { min-height: 2.75rem; }

.erp-module-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }
.erp-module-control-card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-height: 27rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-card-bg); box-shadow: 0 .8rem 2rem rgba(30, 41, 59, .04); transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease; }
.erp-module-control-card::before { position: absolute; top: 0; right: 0; left: 0; height: .18rem; background: linear-gradient(90deg, var(--vz-primary), #14b8a6, #38bdf8); content: ""; opacity: 0; transition: opacity .2s ease; }
.erp-module-control-card.is-enabled::before { opacity: 1; }
.erp-module-control-card:hover { transform: translateY(-2px); border-color: rgba(var(--vz-primary-rgb), .24); box-shadow: 0 1.1rem 2.5rem rgba(30, 41, 59, .075); }
.erp-module-control-card.is-disabled { opacity: .68; background: rgba(var(--vz-secondary-rgb), .025); }
.erp-module-control-card.is-highlighted { border-color: var(--vz-primary); box-shadow: 0 0 0 .22rem rgba(var(--vz-primary-rgb), .13), 0 1rem 2.5rem rgba(30, 41, 59, .08); }
.erp-module-control-card > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: 1.05rem 1.05rem .75rem; }
.erp-module-control-icon { display: grid; width: 2.9rem; height: 2.9rem; place-items: center; border-radius: .82rem; color: var(--vz-primary); background: linear-gradient(135deg, rgba(var(--vz-primary-rgb), .13), rgba(var(--vz-info-rgb), .08)); font-size: 1.25rem; }
.erp-module-control-card h5 { margin: .1rem 0 0; color: var(--vz-heading-color); font-size: .95rem; }
.erp-module-master-switch { min-height: auto; margin: 0; padding-left: 2.8rem; }
.erp-module-master-switch .form-check-input { width: 2.6rem; height: 1.35rem; margin-left: -2.8rem; cursor: pointer; }
.erp-module-description { min-height: 3.8rem; margin: 0; padding: 0 1.05rem .85rem; color: var(--vz-secondary-color); font-size: .76rem; line-height: 1.6; }
.erp-module-dependencies { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; min-height: 2.7rem; margin: 0 1.05rem .8rem; padding: .55rem .65rem; border-radius: .65rem; color: var(--vz-secondary-color); background: rgba(var(--vz-warning-rgb), .075); font-size: .67rem; }
.erp-module-dependencies > i { color: var(--vz-warning); font-size: .95rem; }
.erp-module-dependencies > span { font-weight: 700; }
.erp-module-dependencies button { padding: .2rem .4rem; border: 0; border-radius: .35rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .09); font: inherit; font-weight: 700; }
.erp-module-dependencies.is-independent { color: var(--vz-success); background: rgba(var(--vz-success-rgb), .065); }
.erp-module-dependencies.is-independent > i { color: var(--vz-success); }
.erp-feature-list { display: grid; gap: .42rem; padding: 0 1.05rem 1rem; }
.erp-feature-toggle { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .55rem; min-height: 2.4rem; margin: 0; padding: .43rem .5rem; border: 1px solid transparent; border-radius: .55rem; color: var(--vz-secondary-color); background: rgba(var(--vz-secondary-rgb), .035); cursor: pointer; transition: .18s ease; }
.erp-feature-toggle:hover { border-color: rgba(var(--vz-primary-rgb), .15); background: rgba(var(--vz-primary-rgb), .045); }
.erp-feature-toggle > span { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: .4rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .09); }
.erp-feature-toggle strong { color: var(--vz-body-color); font-size: .71rem; font-weight: 600; }
.erp-feature-toggle .form-check-input { margin: 0; cursor: pointer; }
.erp-module-control-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding: .8rem 1.05rem; border-top: 1px solid var(--vz-border-color); background: rgba(var(--vz-secondary-rgb), .025); }
.erp-module-control-card > footer span { display: inline-flex; align-items: center; gap: .35rem; color: var(--vz-success); font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.erp-module-control-card.is-disabled > footer span { color: var(--vz-secondary-color); }
.erp-module-control-card > footer small { color: var(--vz-secondary-color); font-size: .67rem; }

[data-bs-theme="dark"] .erp-superadmin-hero { border-color: rgba(94, 234, 212, .15); box-shadow: 0 1.25rem 3.5rem rgba(0, 0, 0, .24); }
[data-bs-theme="dark"] .erp-module-control-card,
[data-bs-theme="dark"] .erp-entitlement-summary,
[data-bs-theme="dark"] .erp-entitlement-toolbar { box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .13); }

@media (max-width: 1399.98px) {
    .erp-module-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-entitlement-summary { grid-template-columns: auto minmax(0, 1fr); }
    .erp-entitlement-metrics { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
    .erp-entitlement-toolbar { align-items: flex-start; flex-direction: column; }
    .erp-entitlement-toolbar-actions { justify-content: flex-start; width: 100%; }
    .erp-entitlement-search { flex: 1 1 100%; width: 100%; }
    .erp-superadmin-filters { grid-template-columns: minmax(0, 1fr) minmax(10rem, .5fr); }
    .erp-superadmin-filters .erp-entitlement-search { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
    .erp-superadmin-hero { grid-template-columns: 1fr; }
    .erp-superadmin-orbit { width: 7.5rem; height: 7.5rem; }
    .erp-entitlement-summary { grid-template-columns: auto minmax(0, 1fr); }
    .erp-entitlement-metrics { grid-template-columns: 1fr; }
    .erp-module-control-grid { grid-template-columns: 1fr; }
    .erp-module-control-card { min-height: 0; }
    .erp-entitlement-toolbar-actions > .btn { flex: 1 1 auto; }
    .erp-superadmin-filters { grid-template-columns: 1fr 1fr; }
    .erp-superadmin-filters > label { grid-column: 1 / -1; }
    .erp-superadmin-filters > .btn { width: 100%; }
}

/* Tenant launch readiness */
.erp-readiness-hero {
    --readiness-color: #2dd4bf;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    overflow: hidden;
    margin-bottom: 1rem;
    padding: clamp(1.4rem, 3vw, 2.5rem);
    border: 1px solid rgba(110, 231, 215, .16);
    border-radius: 1.35rem;
    color: #fff;
    background:
        radial-gradient(circle at 76% 8%, rgba(94, 234, 212, .2), transparent 28rem),
        linear-gradient(118deg, #10213f 0%, #1b315d 58%, #244a73 100%);
    box-shadow: 0 1.2rem 3rem rgba(20, 42, 78, .18);
}
.erp-readiness-hero.is-blocked { --readiness-color: #fb923c; }
.erp-readiness-hero::before {
    position: absolute;
    right: -8rem;
    bottom: -14rem;
    width: 22rem;
    height: 22rem;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    content: "";
}
.erp-readiness-hero > * { position: relative; z-index: 1; }
.erp-readiness-hero .erp-kicker { color: #6ee7d7; }
.erp-readiness-hero h1 { margin: .35rem 0 .55rem; color: #fff; font-size: clamp(1.75rem, 3vw, 2.65rem); letter-spacing: -.045em; }
.erp-readiness-hero p { max-width: 52rem; margin: 0; color: rgba(255, 255, 255, .7); line-height: 1.7; }
.erp-readiness-hero-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.2rem; }
.erp-readiness-hero-actions .btn { border-color: rgba(255, 255, 255, .16); }
.erp-readiness-score {
    position: relative;
    display: grid;
    width: 9.6rem;
    height: 9.6rem;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--readiness-color) calc(var(--readiness-score) * 1%), rgba(255, 255, 255, .11) 0);
    box-shadow: 0 1rem 2rem rgba(5, 15, 35, .25);
}
.erp-readiness-score::before {
    position: absolute;
    inset: .7rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    background: #14284b;
    content: "";
}
.erp-readiness-score > div,
.erp-readiness-score > small { position: absolute; z-index: 1; }
.erp-readiness-score > div { top: 2.75rem; display: flex; align-items: baseline; }
.erp-readiness-score strong { font-size: 2.25rem; line-height: 1; }
.erp-readiness-score span { color: rgba(255, 255, 255, .55); font-size: .75rem; }
.erp-readiness-score small { bottom: 2.25rem; color: rgba(255, 255, 255, .55); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.erp-readiness-overview {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.erp-readiness-overview article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .7rem;
    min-height: 5.6rem;
    padding: .85rem;
    border: 1px solid var(--vz-border-color);
    border-radius: .9rem;
    background: var(--vz-card-bg);
    box-shadow: 0 .45rem 1.2rem rgba(30, 41, 59, .04);
}
.erp-readiness-overview article > span {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: .78rem;
    font-size: 1.15rem;
}
.erp-readiness-overview .is-success { color: #078475; background: #ddf8f3; }
.erp-readiness-overview .is-warning { color: #a96708; background: #fff2d9; }
.erp-readiness-overview .is-danger { color: #c24c38; background: #fee8e2; }
.erp-readiness-overview .is-info { color: #176f82; background: #e2f6fa; }
.erp-readiness-overview .is-primary { color: #4052a8; background: #e9ecff; }
.erp-readiness-overview .is-neutral { color: #5b6678; background: #edf1f6; }
.erp-readiness-overview article > div { display: grid; min-width: 0; }
.erp-readiness-overview small,
.erp-readiness-overview em { color: var(--vz-secondary-color); font-size: .62rem; font-style: normal; }
.erp-readiness-overview strong { overflow: hidden; color: var(--vz-heading-color); font-size: 1.2rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-readiness-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--vz-border-color);
    border-radius: 1rem;
    background: var(--vz-card-bg);
}
.erp-readiness-toolbar h3 { margin: .12rem 0 .2rem; color: var(--vz-heading-color); font-size: 1rem; }
.erp-readiness-toolbar p { margin: 0; color: var(--vz-secondary-color); font-size: .73rem; }
.erp-readiness-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.erp-readiness-group { overflow: hidden; margin: 0; border: 1px solid var(--vz-border-color); border-radius: 1rem; box-shadow: 0 .7rem 1.8rem rgba(30, 41, 59, .045); }
.erp-readiness-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-bottom: 1px dashed var(--vz-border-color);
    background: rgba(var(--vz-secondary-rgb), .025);
}
.erp-readiness-group > header > div { display: flex; align-items: center; gap: .7rem; }
.erp-readiness-group h4 { margin: .1rem 0 0; color: var(--vz-heading-color); font-size: .92rem; }
.erp-readiness-group-icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: .75rem;
    font-size: 1.12rem;
}
.erp-readiness-group-icon.is-pass { color: #078475; background: #ddf8f3; }
.erp-readiness-group-icon.is-warning { color: #a96708; background: #fff2d9; }
.erp-readiness-group-icon.is-fail { color: #c24c38; background: #fee8e2; }
.erp-readiness-group-state,
.erp-readiness-check-status {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    flex: 0 0 auto;
    padding: .35rem .55rem;
    border-radius: 2rem;
    font-size: .62rem;
    font-weight: 800;
}
.erp-readiness-group-state.is-pass,
.erp-readiness-check.is-pass .erp-readiness-check-status { color: #078475; background: #ddf8f3; }
.erp-readiness-group-state.is-warning,
.erp-readiness-check.is-warning .erp-readiness-check-status { color: #925908; background: #fff2d9; }
.erp-readiness-group-state.is-fail,
.erp-readiness-check.is-fail .erp-readiness-check-status { color: #b83f2c; background: #fee8e2; }
.erp-readiness-checks { display: grid; }
.erp-readiness-check {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 5.4rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--vz-border-color);
}
.erp-readiness-check:last-child { border-bottom: 0; }
.erp-readiness-check-icon {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    border: 1px solid var(--vz-border-color);
    border-radius: .72rem;
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .055);
    font-size: 1.05rem;
}
.erp-readiness-check strong { display: block; color: var(--vz-heading-color); font-size: .78rem; }
.erp-readiness-check p { margin: .16rem 0 0; color: var(--vz-secondary-color); font-size: .68rem; line-height: 1.5; }
.erp-readiness-next-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(10, 179, 156, .2);
    border-radius: 1rem;
    background: linear-gradient(115deg, rgba(10, 179, 156, .1), rgba(41, 156, 219, .055));
}
.erp-readiness-next-step.is-blocked { border-color: rgba(240, 101, 72, .22); background: linear-gradient(115deg, rgba(240, 101, 72, .1), rgba(247, 184, 75, .055)); }
.erp-readiness-next-step > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .85rem; color: #087568; background: #d9f6f1; font-size: 1.3rem; }
.erp-readiness-next-step.is-blocked > span { color: #b43d2c; background: #fee8e2; }
.erp-readiness-next-step h3 { margin: .12rem 0 .18rem; font-size: 1rem; }
.erp-readiness-next-step p { margin: 0; color: var(--vz-secondary-color); font-size: .72rem; }
@media (max-width: 1399.98px) {
    .erp-readiness-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .erp-readiness-groups { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .erp-readiness-hero { grid-template-columns: 1fr; }
    .erp-readiness-score { width: 8rem; height: 8rem; }
    .erp-readiness-score > div { top: 2.15rem; }
    .erp-readiness-score > small { bottom: 1.8rem; }
    .erp-readiness-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-readiness-toolbar { align-items: flex-start; flex-direction: column; }
    .erp-readiness-toolbar .btn { width: 100%; }
    .erp-readiness-next-step { align-items: flex-start; grid-template-columns: auto minmax(0, 1fr); }
    .erp-readiness-next-step .btn { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 479.98px) {
    .erp-readiness-overview { grid-template-columns: 1fr; }
    .erp-readiness-check { grid-template-columns: auto minmax(0, 1fr); }
    .erp-readiness-check-status { grid-column: 2; justify-self: start; }
}

/* Platform Control Plane is deliberately separate from every tenant workspace. */
.erp-platform-body {
    min-height: 100vh;
    overflow-x: hidden;
    color: #27324a;
    background:
        radial-gradient(circle at 75% -10%, rgba(39, 198, 180, .13), transparent 28rem),
        linear-gradient(145deg, #edf2f8 0%, #f8fafc 48%, #eef5f6 100%);
}
.erp-platform-shell { display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); min-height: 100vh; }
.erp-platform-sidebar {
    position: sticky;
    top: 0;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 1.45rem 1.1rem;
    color: #dce7ff;
    background:
        radial-gradient(circle at 30% 4%, rgba(41, 196, 180, .18), transparent 15rem),
        linear-gradient(180deg, #152548 0%, #101b35 58%, #0c152b 100%);
    box-shadow: 1.25rem 0 3.5rem rgba(16, 27, 53, .12);
}
.erp-platform-brand { display: flex; align-items: center; gap: .8rem; padding: .35rem .45rem 1.35rem; color: #fff; text-decoration: none; }
.erp-platform-brand > span { display: grid; flex: 0 0 2.8rem; width: 2.8rem; height: 2.8rem; place-items: center; border: 1px solid rgba(255, 255, 255, .16); border-radius: .9rem; color: #6ee7d7; background: rgba(255, 255, 255, .07); font-size: 1.25rem; box-shadow: inset 0 1px rgba(255, 255, 255, .08); }
.erp-platform-brand > div { display: grid; line-height: 1.15; }
.erp-platform-brand strong { font-size: 1rem; letter-spacing: -.015em; }
.erp-platform-brand small { margin-top: .28rem; color: #7f91b9; font-size: .61rem; font-weight: 800; letter-spacing: .14em; }
.erp-platform-role-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .72rem; margin: .35rem 0 1.55rem; padding: .9rem; border: 1px solid rgba(110, 231, 215, .17); border-radius: .9rem; background: linear-gradient(135deg, rgba(110, 231, 215, .11), rgba(255, 255, 255, .035)); }
.erp-platform-role-icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .68rem; color: #6ee7d7; background: rgba(110, 231, 215, .12); }
.erp-platform-role-card > div { display: grid; min-width: 0; }
.erp-platform-role-card small { color: #8da0c7; font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.erp-platform-role-card strong { color: #fff; font-size: .83rem; }
.erp-platform-role-card div span { overflow: hidden; color: #aebbd5; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-platform-navigation { display: grid; gap: .35rem; }
.erp-platform-navigation > small { margin: .2rem .65rem .35rem; color: #65799f; font-size: .61rem; font-weight: 800; letter-spacing: .13em; }
.erp-platform-navigation > a { display: flex; align-items: center; gap: .75rem; min-height: 2.8rem; padding: .65rem .78rem; border: 1px solid transparent; border-radius: .72rem; color: #aebbd5; text-decoration: none; transition: .2s ease; }
.erp-platform-navigation > a i { color: #7f91b9; font-size: 1.05rem; }
.erp-platform-navigation > a:hover { color: #fff; background: rgba(255, 255, 255, .055); transform: translateX(.12rem); }
.erp-platform-navigation > a.active { border-color: rgba(110, 231, 215, .2); color: #fff; background: linear-gradient(90deg, rgba(39, 198, 180, .18), rgba(39, 198, 180, .05)); box-shadow: inset .18rem 0 #27c6b4; }
.erp-platform-navigation > a.active i { color: #6ee7d7; }
.erp-platform-tenant-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; margin-top: auto; padding: .85rem; border: 1px solid rgba(255, 255, 255, .09); border-radius: .9rem; background: rgba(255, 255, 255, .045); }
.erp-platform-tenant-avatar { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: .7rem; color: #102343; background: #6ee7d7; font-size: .82rem; font-weight: 900; }
.erp-platform-tenant-card > div { display: grid; min-width: 0; }
.erp-platform-tenant-card small { color: #7f91b9; font-size: .6rem; font-weight: 700; text-transform: uppercase; }
.erp-platform-tenant-card strong { overflow: hidden; color: #fff; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-platform-tenant-card div span { color: #aebbd5; font-size: .65rem; }
.erp-platform-tenant-card > a { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .6rem; color: #6ee7d7; background: rgba(110, 231, 215, .09); text-decoration: none; }
.erp-platform-workspace { min-width: 0; }
.erp-platform-topbar { position: sticky; top: 0; z-index: 1030; display: flex; align-items: center; min-height: 4.5rem; padding: .65rem clamp(1rem, 2.2vw, 2.25rem); border-bottom: 1px solid rgba(94, 109, 140, .12); background: rgba(255, 255, 255, .88); box-shadow: 0 .45rem 1.5rem rgba(34, 54, 86, .055); backdrop-filter: blur(18px); }
.erp-platform-menu-button { display: none; width: 2.45rem; height: 2.45rem; margin-right: .7rem; border: 0; border-radius: .7rem; color: #31436d; background: #edf2fa; }
.erp-platform-context { display: grid; line-height: 1.1; }
.erp-platform-context span { color: #10a996; font-size: .6rem; font-weight: 900; letter-spacing: .13em; }
.erp-platform-context strong { margin-top: .26rem; color: #22304c; font-size: .9rem; }
.erp-platform-topbar-actions { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.erp-platform-isolation-state { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .68rem; border-radius: 2rem; color: #0a806f; background: #e3f8f4; font-size: .67rem; font-weight: 800; }
.erp-platform-isolation-state.is-prepared { color: #075985; background: #e0f2fe; }
.erp-platform-isolation-state.is-blocked { color: #92400e; background: #fef3c7; }
.erp-platform-isolation-state.is-original { color: #5b21b6; background: #ede9fe; }
.erp-platform-tenant-link { display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: .35rem .7rem .35rem .42rem; border: 1px solid #dfe6f0; border-radius: .75rem; color: #283654; background: #fff; text-decoration: none; box-shadow: 0 .35rem 1rem rgba(32, 52, 84, .05); }
.erp-platform-tenant-link > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .55rem; color: #10a996; background: #e8f9f6; }
.erp-platform-tenant-link > div { display: grid; line-height: 1.1; }
.erp-platform-tenant-link small { color: #8a96ad; font-size: .58rem; text-transform: uppercase; }
.erp-platform-tenant-link strong { margin-top: .2rem; font-size: .69rem; }
.erp-platform-account { display: flex; align-items: center; gap: .55rem; padding-left: .72rem; border-left: 1px solid #e3e8f0; }
.erp-platform-account > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #314d85, #18294e); font-size: .76rem; font-weight: 800; }
.erp-platform-account > div { display: grid; line-height: 1.1; }
.erp-platform-account strong { color: #26344f; font-size: .72rem; }
.erp-platform-account small { margin-top: .22rem; color: #8a96ad; font-size: .62rem; }
.erp-platform-main { width: 100%; max-width: 112rem; margin: 0 auto; padding: clamp(1rem, 2.2vw, 2.25rem); }
.erp-platform-boundary-note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; margin-bottom: 1.1rem; padding: .7rem .85rem; border: 1px solid #d8e3ed; border-radius: .8rem; background: rgba(255, 255, 255, .72); }
.erp-platform-boundary-note > span:first-child { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .62rem; color: #31518c; background: #eaf0fb; }
.erp-platform-boundary-note strong { display: block; color: #33415e; font-size: .74rem; }
.erp-platform-boundary-note p { margin: .12rem 0 0; color: #7c899f; font-size: .67rem; }
.erp-platform-backdrop { position: fixed; inset: 0; z-index: 1035; visibility: hidden; background: rgba(8, 16, 34, .55); opacity: 0; transition: .2s ease; }
.erp-platform-backdrop.is-visible { visibility: visible; opacity: 1; }
.erp-original-tenant-badge { display: inline-flex; align-items: center; gap: .25rem; margin-left: .4rem; padding: .2rem .42rem; border-radius: 2rem; color: #0a806f; background: #def7f2; font-size: .6rem; font-style: normal; font-weight: 800; vertical-align: middle; }
.erp-current-tenant-badge { display: inline-flex; align-items: center; gap: .25rem; margin-left: .35rem; padding: .2rem .42rem; border-radius: 2rem; color: #31518c; background: #e7eefc; font-size: .6rem; font-style: normal; font-weight: 800; vertical-align: middle; }
.erp-tenant-row-current > td { background: linear-gradient(90deg, rgba(var(--vz-primary-rgb), .045), transparent 58%); }
.erp-tenant-row-current > td:first-child { box-shadow: inset .2rem 0 var(--vz-primary); }
.erp-tenant-owner-line { display: flex !important; align-items: center; gap: .28rem; margin-top: .18rem; color: #68778f !important; }
.erp-tenant-access-line { display: flex !important; align-items: center; gap: .28rem; margin-top: .18rem; color: var(--vz-success) !important; font-weight: 700; }
.erp-tenant-owner-line i,
.erp-entitlement-owner i { color: #d69722; }
.erp-tenant-access-line i { color: var(--vz-success); }
.erp-entitlement-owner { display: inline-flex; align-items: center; gap: .35rem; margin-top: .25rem; color: var(--vz-secondary-color); font-size: .7rem; font-weight: 700; }

@media (max-width: 991.98px) {
    .erp-platform-shell { display: block; }
    .erp-platform-sidebar { position: fixed; left: 0; transform: translateX(-105%); width: 17.5rem; transition: transform .22s ease; }
    .erp-platform-sidebar.is-open { transform: translateX(0); }
    .erp-platform-menu-button { display: grid; place-items: center; }
    .erp-platform-isolation-state { display: none; }
}
@media (max-width: 575.98px) {
    .erp-platform-context,
    .erp-platform-account > div,
    .erp-platform-tenant-link > div { display: none; }
    .erp-platform-account { padding-left: .5rem; }
    .erp-platform-boundary-note { grid-template-columns: auto minmax(0, 1fr); }
    .erp-platform-boundary-note > .badge { grid-column: 1 / -1; justify-self: start; }
}

.erp-clean-card {
    overflow: hidden;
    border: 1px solid rgba(222, 228, 239, .92);
    border-radius: 1rem;
    box-shadow: 0 12px 34px rgba(35, 51, 84, .065);
}

.erp-sticky-actions {
    position: sticky;
    z-index: 25;
    bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(205, 215, 229, .9);
    border-radius: .9rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 14px 34px rgba(27, 45, 77, .13);
    backdrop-filter: blur(14px);
}

.erp-sticky-actions > span,
.erp-sticky-actions > div {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.erp-sticky-actions > span {
    color: #667085;
    font-size: .78rem;
}

@media (max-width: 767.98px) {
    .erp-sticky-actions {
        align-items: stretch;
        flex-direction: column;
        bottom: .5rem;
    }

    .erp-sticky-actions > div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Platform operations: monitoring, onboarding, plans and automated tests. */
.erp-platform-monitor-hero,
.erp-platform-tests-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    overflow: hidden;
    margin-bottom: 1.25rem;
    padding: clamp(1.5rem, 3vw, 2.6rem);
    border-radius: 1.25rem;
    color: #fff;
    background:
        radial-gradient(circle at 82% 12%, rgba(92, 228, 210, .22), transparent 28%),
        linear-gradient(125deg, #13284f 0%, #284a84 55%, #177f87 115%);
    box-shadow: 0 22px 55px rgba(25, 49, 91, .18);
}
.erp-platform-monitor-hero::after,
.erp-platform-tests-hero::after {
    position: absolute;
    right: -4rem;
    bottom: -6rem;
    width: 17rem;
    height: 17rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    content: "";
}
.erp-platform-monitor-hero h1,
.erp-platform-tests-hero h1 { max-width: 46rem; margin: .35rem 0 .7rem; color: #fff; font-size: clamp(1.65rem, 3vw, 2.65rem); letter-spacing: -.04em; }
.erp-platform-monitor-hero p,
.erp-platform-tests-hero p { max-width: 44rem; margin: 0; color: rgba(255,255,255,.72); }
.erp-platform-monitor-hero .erp-kicker,
.erp-platform-tests-hero .erp-kicker { color: #62e6d7; }
.erp-platform-monitor-hero > *,
.erp-platform-tests-hero > * { position: relative; z-index: 1; }
.erp-superadmin-orbit,
.erp-test-summary {
    display: grid;
    min-width: 11.5rem;
    padding: 1.1rem;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 1.1rem;
    background: rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
    backdrop-filter: blur(14px);
}
.erp-superadmin-orbit > span,
.erp-test-summary > span { display: grid; width: 2.7rem; height: 2.7rem; margin-bottom: .45rem; place-items: center; border-radius: .8rem; color: #12345e; background: #65e7d8; font-size: 1.25rem; }
.erp-superadmin-orbit strong,
.erp-test-summary strong { color: #fff; font-size: 2.1rem; line-height: 1; }
.erp-superadmin-orbit small,
.erp-test-summary small { margin-top: .35rem; color: rgba(255,255,255,.72); }
.erp-test-summary em { margin-top: .7rem; color: #72eadc; font-size: .7rem; font-style: normal; font-weight: 800; }
.erp-test-summary.is-failed > span { color: #7f1d1d; background: #ffd9d2; }

.erp-platform-metric-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .8rem;
}
.erp-platform-metric {
    display: flex;
    min-height: 5.8rem;
    align-items: center;
    gap: .75rem;
    padding: .9rem;
    border: 1px solid #e5eaf2;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(42, 56, 83, .055);
}
.erp-platform-metric > span { display: grid; flex: 0 0 auto; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .7rem; color: #31518c; background: #edf2ff; font-size: 1.05rem; }
.erp-platform-metric small { display: block; color: #8994a8; font-size: .62rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.erp-platform-metric strong { display: block; margin-top: .15rem; color: #344054; font-size: 1.05rem; white-space: nowrap; }
.erp-platform-metric.is-teal > span,
.erp-platform-metric.is-cyan > span { color: #087f73; background: #dcf8f3; }
.erp-platform-metric.is-orange > span { color: #b55b12; background: #fff0dc; }
.erp-platform-metric.is-red > span { color: #c63f32; background: #ffe5e0; }
.erp-platform-metric.is-violet > span { color: #6547bd; background: #eee9ff; }

.erp-platform-tenant-health-list,
.erp-platform-incident-list,
.erp-platform-event-list,
.erp-test-list,
.erp-test-run-list { display: grid; gap: .75rem; }
.erp-platform-tenant-health {
    display: grid;
    grid-template-columns: minmax(13rem, 1.35fr) minmax(10rem, 1fr) minmax(10rem, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: .9rem;
    border: 1px solid #e8ecf3;
    border-radius: .85rem;
    background: linear-gradient(120deg, #fff, #fbfcff);
}
.erp-platform-tenant-health-main { display: flex; min-width: 0; align-items: center; gap: .75rem; }
.erp-platform-tenant-health-main > div { min-width: 0; }
.erp-platform-tenant-health-main strong { color: #344054; }
.erp-platform-tenant-health-main small { display: block; overflow: hidden; margin-top: .16rem; color: #8994a8; text-overflow: ellipsis; white-space: nowrap; }
.erp-platform-quota > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: #7d899d; font-size: .67rem; }
.erp-platform-quota > div:first-child strong { color: #475467; }
.erp-platform-quota .progress { height: .3rem; margin-top: .42rem; background: #edf1f6; }
.erp-platform-tenant-health-stats { display: flex; gap: .35rem; }
.erp-platform-tenant-health-stats span { display: inline-flex; align-items: center; gap: .22rem; padding: .28rem .45rem; border-radius: 2rem; color: #68768c; background: #f0f3f7; font-size: .64rem; font-weight: 800; }

.erp-platform-incident {
    padding: .85rem;
    border: 1px solid #e7ebf2;
    border-left: .22rem solid #f0a44b;
    border-radius: .75rem;
    background: #fff;
}
.erp-platform-incident.is-critical,
.erp-platform-incident.is-error { border-left-color: #ef675a; }
.erp-platform-incident-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.erp-platform-incident-head span { color: #d04b3d; font-size: .58rem; font-weight: 900; letter-spacing: .09em; }
.erp-platform-incident-head time { color: #9aa4b5; font-size: .62rem; }
.erp-platform-incident > strong { display: -webkit-box; overflow: hidden; margin: .45rem 0 .3rem; color: #3b465b; font-size: .76rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.erp-platform-incident > small { display: block; color: #8994a8; font-size: .65rem; }
.erp-platform-incident form { margin-top: .65rem; }
.erp-platform-event {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: .7rem;
    padding: .75rem 0;
    border-bottom: 1px solid #edf0f5;
}
.erp-platform-event:last-child { border-bottom: 0; }
.erp-platform-event > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .62rem; color: #31518c; background: #edf2fc; }
.erp-platform-event > span.is-danger { color: #ce4639; background: #ffe8e4; }
.erp-platform-event strong { display: block; color: #344054; font-size: .75rem; }
.erp-platform-event small { display: block; overflow: hidden; margin-top: .12rem; color: #8a95a7; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-platform-event p { overflow: hidden; margin: .28rem 0 0; color: #667085; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.erp-platform-event time { color: #98a2b3; font-size: .62rem; white-space: nowrap; }
.erp-empty-compact { display: grid; min-height: 10rem; padding: 1rem; place-items: center; align-content: center; text-align: center; }
.erp-empty-compact i { display: grid; width: 2.8rem; height: 2.8rem; margin-bottom: .65rem; place-items: center; border-radius: .8rem; color: #118e81; background: #e0f8f4; font-size: 1.25rem; }
.erp-empty-compact strong { color: #475467; }
.erp-empty-compact span { margin-top: .25rem; color: #98a2b3; font-size: .7rem; }

.erp-onboarding-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 1.25rem;
}
.erp-onboarding-steps > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: .65rem;
    padding: .8rem;
    border: 1px solid #e5eaf2;
    border-radius: .8rem;
    background: #fff;
}
.erp-onboarding-steps span { display: grid; grid-row: 1 / 3; width: 2rem; height: 2rem; place-items: center; border-radius: .62rem; color: #fff; background: linear-gradient(135deg, #5269bf, #10b8a5); font-size: .7rem; font-weight: 900; }
.erp-onboarding-steps strong { color: #435068; font-size: .7rem; }
.erp-onboarding-steps small { color: #98a2b3; font-size: .6rem; }
.erp-plan-selector,
.erp-platform-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}
.erp-plan-option,
.erp-onboarding-module {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
    padding: .85rem;
    border: 1px solid #e3e8f0;
    border-radius: .85rem;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.erp-plan-option:hover,
.erp-onboarding-module:hover { transform: translateY(-1px); border-color: #9ddfd7; box-shadow: 0 10px 24px rgba(46, 72, 111, .08); }
.erp-plan-option:has(input:checked),
.erp-onboarding-module:has(input:checked) { border-color: #20b9a8; background: linear-gradient(125deg, #f1fffc, #f7f9ff); box-shadow: inset 0 0 0 1px rgba(32,185,168,.15); }
.erp-plan-option input,
.erp-onboarding-module input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.erp-plan-option > span,
.erp-onboarding-module > span { display: grid; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .7rem; color: #385791; background: #ecf1fc; }
.erp-plan-option > div,
.erp-onboarding-module > div { min-width: 0; }
.erp-plan-option strong,
.erp-onboarding-module strong { display: block; color: #3d4a60; font-size: .72rem; }
.erp-plan-option small,
.erp-onboarding-module small { display: -webkit-box; overflow: hidden; margin-top: .18rem; color: #8d98aa; font-size: .61rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.erp-plan-option > i:last-child,
.erp-onboarding-module > i:last-child { margin-left: auto; color: #cfd6e1; font-size: 1rem; }
.erp-plan-option:has(input:checked) > i:last-child,
.erp-onboarding-module:has(input:checked) > i:last-child { color: #13b7a5; }
.erp-onboarding-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.erp-onboarding-launch {
    position: sticky;
    z-index: 25;
    bottom: 1rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #d9e3ee;
    border-radius: 1rem;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 42px rgba(24, 45, 78, .14);
    backdrop-filter: blur(16px);
}
.erp-onboarding-launch > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; color: #087e72; background: #ddf8f3; font-size: 1.2rem; }
.erp-onboarding-launch strong { display: block; color: #344054; }
.erp-onboarding-launch p { margin: .15rem 0 0; color: #8a95a8; font-size: .68rem; }
.erp-onboarding-result { display: flex; align-items: center; gap: 1rem; padding: 1.2rem; border-radius: 1rem; background: linear-gradient(115deg, #e6faf6, #f4f7ff); }
.erp-onboarding-result > span { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: .9rem; color: #fff; background: linear-gradient(135deg, #13b7a5, #3b5ea4); font-size: 1.45rem; }
.erp-onboarding-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.erp-onboarding-check-grid > div,
.erp-onboarding-check-grid > article { display: flex; align-items: center; gap: .7rem; padding: .8rem; border: 1px solid #e6eaf1; border-radius: .75rem; background: #fbfcfe; }
.erp-onboarding-check-grid i { color: #13aa99; font-size: 1rem; }
.erp-onboarding-check-grid strong { display: block; color: #465267; font-size: .72rem; }
.erp-onboarding-check-grid small { display: block; color: #939daf; font-size: .62rem; }
.erp-onboarding-check-grid > article > i:last-child { margin-left: auto; }
.erp-onboarding-check-grid > article.is-warning { border-color: #f1d6ae; background: #fffaf1; }
.erp-onboarding-check-grid > article.is-warning i { color: #d68a25; }
.erp-onboarding-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.erp-onboarding-actions > a { display: grid; min-width: 15rem; flex: 1; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .85rem; border: 1px solid #e3e8f0; border-radius: .8rem; color: inherit; background: #fbfcfe; transition: .18s ease; }
.erp-onboarding-actions > a:hover { transform: translateY(-1px); border-color: #8bd9cf; box-shadow: 0 10px 24px rgba(45, 63, 97, .08); }
.erp-onboarding-actions > a > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .65rem; color: #168b7e; background: #e1f8f4; }
.erp-onboarding-actions strong,
.erp-onboarding-actions small { display: block; }
.erp-onboarding-actions strong { color: #435067; font-size: .72rem; }
.erp-onboarding-actions small { margin-top: .12rem; color: #929cad; font-size: .61rem; }

.erp-platform-plan {
    position: relative;
    display: flex;
    min-height: 27rem;
    flex-direction: column;
    padding: 1.15rem;
    border: 1px solid #e2e7ef;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(37, 53, 84, .065);
}
.erp-platform-plan.is-featured { border-color: #74d4ca; background: linear-gradient(150deg, #fff 50%, #effcfa); }
.erp-platform-plan.is-featured::before { position: absolute; inset: 0 0 auto; height: .2rem; border-radius: 1rem 1rem 0 0; background: linear-gradient(90deg, #13b7a5, #536dc1); content: ""; }
.erp-platform-plan-head { display: flex; align-items: center; gap: .75rem; }
.erp-platform-plan-head > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; color: #405c99; background: #edf1fc; font-size: 1.15rem; }
.erp-platform-plan-head h3 { margin: 0; color: #344054; font-size: 1rem; }
.erp-platform-plan-head small { display: block; margin-top: .15rem; color: #98a2b3; font-size: .65rem; }
.erp-platform-plan > p { min-height: 3.2rem; margin: 1rem 0; color: #758196; font-size: .72rem; }
.erp-platform-plan-limits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.erp-platform-plan-limits > div { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .45rem; padding: .65rem; border-radius: .7rem; background: #f5f7fa; }
.erp-platform-plan-limits i { grid-row: 1 / 3; align-self: center; color: #5070ac; }
.erp-platform-plan-limits span { color: #9099aa; font-size: .57rem; text-transform: uppercase; }
.erp-platform-plan-limits strong { color: #475467; font-size: .72rem; }
.erp-platform-plan-modules { flex: 1; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #edf0f5; }
.erp-platform-plan-modules > span { color: #7e899c; font-size: .67rem; font-weight: 800; }
.erp-platform-plan-modules > div { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .5rem; }
.erp-platform-plan-modules em { padding: .22rem .42rem; border-radius: 2rem; color: #52617b; background: #edf1f6; font-size: .57rem; font-style: normal; }
.erp-platform-plan-foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid #edf0f5; }
.erp-platform-plan-foot > span { color: #8894a7; font-size: .65rem; }
.erp-platform-plan-foot > span strong { color: #40506a; font-size: .9rem; }
.erp-plan-default-toggle { display: flex; width: 100%; min-height: 2.6rem; align-items: center; justify-content: space-between; gap: .7rem; padding: .5rem .7rem; border: 1px solid #dfe5ed; border-radius: .45rem; }
.erp-plan-default-toggle strong,
.erp-plan-default-toggle small { display: block; }
.erp-plan-default-toggle strong { color: #475467; font-size: .68rem; }
.erp-plan-default-toggle small { color: #98a2b3; font-size: .58rem; }

.erp-test-list article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid #e7ebf1;
    border-radius: .8rem;
    background: #fff;
}
.erp-test-list article > span,
.erp-test-run-list > div > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .62rem; color: #137e72; background: #def8f3; }
.erp-test-list article.is-fail > span,
.erp-test-run-list > div > span.is-failed { color: #c64235; background: #ffe5e0; }
.erp-test-list strong { display: block; color: #3d495d; font-size: .75rem; }
.erp-test-list small { display: block; color: #9aa3b2; font-size: .59rem; }
.erp-test-list p { margin: .3rem 0 0; color: #68758a; font-size: .68rem; }
.erp-test-list em { color: #13a493; font-size: .62rem; font-style: normal; font-weight: 900; letter-spacing: .06em; }
.erp-test-list article.is-fail em { color: #d44b3e; }
.erp-test-run-list > div { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .7rem 0; border-bottom: 1px solid #edf0f5; }
.erp-test-run-list > div:last-child { border-bottom: 0; }
.erp-test-run-list strong { display: block; color: #475467; font-size: .72rem; }
.erp-test-run-list small { display: block; color: #98a2b3; font-size: .6rem; }
.erp-test-run-list em { color: #7d899c; font-size: .62rem; font-style: normal; }

@media (max-width: 1399.98px) {
    .erp-platform-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .erp-platform-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-platform-tenant-health { grid-template-columns: minmax(13rem, 1.35fr) minmax(9rem, 1fr) minmax(9rem, 1fr) auto; }
    .erp-platform-tenant-health-stats { display: none; }
}
@media (max-width: 991.98px) {
    .erp-onboarding-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-plan-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-onboarding-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-platform-tenant-health { grid-template-columns: minmax(0, 1fr) minmax(9rem, .8fr) auto; }
    .erp-platform-tenant-health .erp-platform-quota:nth-of-type(3) { display: none; }
}
@media (max-width: 767.98px) {
    .erp-platform-monitor-hero,
    .erp-platform-tests-hero { grid-template-columns: 1fr; }
    .erp-superadmin-orbit,
    .erp-test-summary { justify-self: stretch; }
    .erp-platform-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-platform-plan-grid,
    .erp-onboarding-module-grid { grid-template-columns: 1fr; }
    .erp-onboarding-launch { position: static; grid-template-columns: auto minmax(0, 1fr) auto; }
    .erp-onboarding-launch .btn { grid-column: 1 / -1; }
    .erp-platform-tenant-health { grid-template-columns: minmax(0, 1fr) auto; }
    .erp-platform-tenant-health .erp-platform-quota { display: none; }
}
@media (max-width: 479.98px) {
    .erp-onboarding-steps,
    .erp-plan-selector,
    .erp-platform-metric-grid,
    .erp-onboarding-check-grid { grid-template-columns: 1fr; }
}

/* Protected activity audit reset */
.erp-registry-search > [data-table-search-clear] i {
    position: static;
    color: inherit;
    transform: none;
}

.erp-activity-reset-modal {
    overflow: hidden;
    border: 1px solid rgba(var(--vz-danger-rgb), .16);
    border-radius: 1rem;
    background: var(--vz-card-bg, #fff);
    background-image: none;
    backdrop-filter: none;
    box-shadow: 0 1.75rem 5rem rgba(15, 23, 42, .28);
}

.erp-activity-reset-modal .modal-header {
    padding: 1.2rem 1.35rem;
    border-bottom-color: rgba(var(--vz-danger-rgb), .15);
    background: linear-gradient(110deg, rgba(var(--vz-danger-rgb), .09), rgba(var(--vz-warning-rgb), .035), var(--vz-card-bg, #fff));
}

.erp-activity-reset-modal .modal-body {
    padding: 1.35rem;
    background: var(--vz-card-bg, #fff);
}

.erp-activity-reset-modal .modal-footer {
    padding: 1rem 1.35rem;
    border-top-color: var(--vz-border-color);
    background: color-mix(in srgb, var(--vz-light) 55%, var(--vz-card-bg, #fff));
}

.erp-activity-reset-icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    place-items: center;
    border: 1px solid rgba(var(--vz-danger-rgb), .14);
    border-radius: .8rem;
    color: var(--vz-danger);
    background: rgba(var(--vz-danger-rgb), .1);
    font-size: 1.2rem;
}

.erp-activity-reset-history {
    display: grid;
    gap: .55rem;
    padding: .85rem;
    border: 1px solid var(--vz-border-color);
    border-radius: .85rem;
    background: color-mix(in srgb, var(--vz-light) 62%, var(--vz-card-bg, #fff));
}

.erp-activity-reset-history > span,
.erp-platform-reset-proof > span {
    color: var(--vz-secondary-color);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.erp-activity-reset-history > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
}

.erp-activity-reset-history i {
    color: var(--vz-success);
}

.erp-activity-reset-history strong {
    font-size: .75rem;
}

.erp-activity-reset-history small {
    color: var(--vz-secondary-color);
    font-size: .65rem;
}

.erp-platform-reset-proof {
    display: grid;
    gap: .45rem;
    margin-top: .85rem;
    padding-top: .8rem;
    border-top: 1px solid #edf0f5;
}

.erp-platform-reset-proof > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .55rem .65rem;
    border-radius: .65rem;
    background: #f6f8fb;
}

.erp-platform-reset-proof > div > i {
    color: #13a493;
}

.erp-platform-reset-proof p,
.erp-platform-reset-proof strong,
.erp-platform-reset-proof small {
    display: block;
    margin: 0;
}

.erp-platform-reset-proof strong {
    color: #475467;
    font-size: .68rem;
}

.erp-platform-reset-proof small,
.erp-platform-reset-proof time {
    color: #98a2b3;
    font-size: .58rem;
}
