:root {
    --colour-primary: #0d6efd;
    --colour-primary-dark: #0b5ed7;
    --colour-secondary: #282c34;
    --colour-light: #ffffff;
    --colour-dark: #000000;
    --colour-hover: #f4f8ff;
    --colour-white: #ffffff;
    --colour-dark-grey: #343a40;
    --colour-navy: #004085;
    --colour-security: #eef5ff;
    --font-primary: "Roboto", sans-serif;
    --app-bg: #f5f6f8;
    --app-text: #0f172a;
    --app-muted: #64748b;
    --app-border: #dbe3ee;
    --app-border-soft: #e8edf3;
    --app-surface: #ffffff;
    --app-surface-soft: #f8f9fb;
    --app-radius: 8px;
    --app-shadow: 0 .75rem 1.5rem rgba(15, 23, 42, .14);
}

html,
body {
    margin: 0;
    min-height: 100%;
    overflow-x: hidden;
    background: var(--app-bg);
    color: var(--app-text);
    font-family: var(--font-primary);
    font-size: .9rem !important;
}

input, textarea, select, button, a {
    font-family: var(--font-primary);
    font-size: .9rem !important;
}

h6 {
    color: var(--colour-navy);
    font-size: 1rem !important;
    font-weight: 700;
}

.container {
    max-width: 1200px;
}

.card {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    background: var(--app-surface);
    color: var(--app-text);
    box-shadow: none;
}

.card:hover {
    transform: none;
}

.button {
    display: inline-block;
    padding: 10px 20px;
    color: var(--colour-light);
    background-color: var(--colour-primary);
    border: none;
    border-radius: var(--app-radius);
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.button:hover {
    background-color: var(--colour-dark);
}

.table {
    width: 100%;
    margin: 0;
}

.table th, .table td {
    padding: 5px;
}

.table th {
    color: inherit;
}

.table tr:hover {
    background-color: transparent;
}

.table thead th.search-row  {
    border: none;
    background-color: transparent !important;
    color: inherit !important;
}



.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: var(--app-radius);
}

.alert-primary {
    background-color: #e9f7fd;
    color: #31708f;
    border-color: #bce8f1;
}


#bdSidebar .offcanvas-title {
    font-size: 1.35rem !important;
    font-weight: 700;
}

#bdSidebar .offcanvas-header {
    padding: 1.25rem 1.4rem 0.35rem;
}

#bdSidebar .offcanvas-body {
    display: flex;
    flex-direction: column;
    padding: 0 1.25rem 1.25rem;
}

#bd-docs-nav {
    min-height: 0;
    overflow-y: auto;
    padding-top: 0 !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#bd-docs-nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

#bd-docs-nav .nav-tabs {
    border: 0;
    gap: 0.15rem;
    padding-top: 0 !important;
}

.apptify-menu-section {
    border-top: 1px solid #e9ecef;
    margin: 1rem 0 0.4rem;
    padding: 1rem 0.75rem 0.2rem;
}

.apptify-menu-section:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0.25rem;
}

.apptify-menu-section span,
.apptify-menu-section small {
    display: block;
}

.apptify-menu-section span {
    color: #1f2937;
    font-size: 0.74rem !important;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.apptify-menu-section small {
    color: #6b7280;
    font-size: 0.78rem !important;
    line-height: 1.25;
    margin-top: 0.15rem;
}


#bd-docs-nav .lang-flags {
    border: 1px solid #d8dee7;
    border-radius: 8px;
    margin-left: 0.5rem;
    min-height: 38px;
    padding: 0.35rem 2rem 0.35rem 0.65rem;
}

.apptify-sidebar-account {
    border-top: 1px solid #e5e7eb;
    flex: 0 0 auto;
    margin-top: 1rem;
    padding-top: 0.9rem;
}

.apptify-account-avatar {
    align-items: center;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    color: #0b6be1;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.apptify-account-name {
    color: #111827;
    font-size: 0.9rem !important;
    font-weight: 800;
    line-height: 1.15;
}

.apptify-account-role {
    color: #6b7280;
    font-size: 0.76rem !important;
    line-height: 1.2;
    text-transform: capitalize;
}

.apptify-account-action {
    --bs-btn-padding-x: 0.42rem;
    --bs-btn-padding-y: 0.28rem;
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 34px;
    min-width: 34px;
}

.apptify-account-action i {
    font-size: 1rem;
}

.settings-page {
    max-width: 1180px;
}

.settings-panel {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
    height: 100%;
    padding: 1.25rem;
}

.settings-panel-header {
    border-bottom: 1px solid #edf0f4;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
}

.settings-panel-header h5 {
    color: #111827;
    font-size: 1rem !important;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.settings-panel-header p {
    color: #6b7280;
    margin-bottom: 0;
}

.company-email-templates-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.company-email-templates-header > div {
    min-width: 0;
}

.company-email-templates-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: .6rem;
}

.company-email-templates-state {
    align-items: flex-start;
    background: #eef6ff;
    border: 1px solid #cfe3ff;
    border-radius: 8px;
    color: #174b8a;
    display: flex;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    font-size: .9rem;
    font-weight: 650;
}

.company-email-templates-state i {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.35rem;
    justify-content: center;
}

.company-email-templates-state.is-success {
    background: #eaf7f0;
    border-color: #cbead8;
    color: #11623c;
}

.company-email-templates-state.is-warning {
    background: #fff8e6;
    border-color: #ffe4a3;
    color: #835300;
}

.company-email-templates-state.is-danger {
    background: #fff0f2;
    border-color: #ffd0d7;
    color: #9f1239;
}

.company-email-templates-state.is-empty {
    background: #f8fafc;
    border-color: #dbe3ee;
    color: #52627a;
}

.company-email-templates-list {
    display: grid;
    gap: .75rem;
}

.company-email-template-new-models {
    align-items: center;
    background: linear-gradient(135deg, #fff8e6 0%, #eef8ff 100%);
    border: 1px solid #ffe0a3;
    border-radius: 8px;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .95rem;
}

.company-email-template-new-models span {
    color: #b45309;
    display: block;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: .2rem;
    text-transform: uppercase;
}

.company-email-template-new-models h6 {
    color: #0f172a;
    font-size: 1rem !important;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.company-email-template-new-models p {
    color: #52627a;
    font-size: .9rem;
    line-height: 1.35;
    margin: .3rem 0 0;
}

.company-email-template-card {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .95rem;
}

.company-email-template-card--pending {
    background: #fffdf7;
    border-color: #f5d99a;
}

.company-email-template-card span {
    color: #0468fd;
    display: block;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: .2rem;
    text-transform: uppercase;
}

.company-email-template-card h6 {
    color: #0f172a;
    font-size: 1rem !important;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.company-email-template-card p {
    color: #52627a;
    font-size: .9rem;
    line-height: 1.35;
    margin: .3rem 0 0;
}

.company-email-template-card small {
    color: #64748b;
    display: block;
    font-size: .78rem;
    margin-top: .45rem;
}

.company-email-template-card__meta {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.company-email-template-preview-list {
    display: grid;
    gap: .85rem;
}

.company-email-template-preview-card {
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    padding: 1rem;
}

.company-email-template-preview-card__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.company-email-template-preview-card__header span {
    color: #0468fd;
    display: block;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: .25rem;
    text-transform: uppercase;
}

.company-email-template-preview-card__header h6 {
    color: #0f172a;
    font-size: 1rem !important;
    font-weight: 800;
    margin: 0;
}

.company-email-template-preview-card__header small {
    background: #eef5ff;
    border-radius: 999px;
    color: #0d6efd;
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 800;
    padding: .28rem .55rem;
}

.company-email-template-preview-card p {
    color: #52627a;
    line-height: 1.4;
    margin: .65rem 0 .85rem;
}

.company-email-template-preview-card__subject {
    background: #f8fafc;
    border: 1px solid #e5ebf3;
    border-radius: 8px;
    display: grid;
    gap: .25rem;
    padding: .75rem;
}

.company-email-template-preview-card__subject strong {
    color: #64748b;
    font-size: .72rem;
    text-transform: uppercase;
}

.company-email-template-preview-card__variables {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .75rem;
}

.company-email-template-preview-card__variables code {
    background: #eef5ff;
    border: 1px solid #d8e8ff;
    border-radius: 999px;
    color: #0d6efd;
    font-size: .76rem;
    padding: .22rem .48rem;
}

.company-email-template-preview-card__rendered {
    background: #f8fafc;
    border: 1px solid #e5ebf3;
    border-radius: 8px;
    margin-top: .85rem;
    overflow: hidden;
}

.company-email-template-preview-card__rendered-header {
    align-items: center;
    border-bottom: 1px solid #e5ebf3;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .65rem .75rem;
}

.company-email-template-preview-card__rendered-header strong {
    color: #0f172a;
    font-size: .82rem;
}

.company-email-template-preview-card__rendered-header span {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
}

.company-email-template-preview-card__rendered iframe {
    background: #ffffff;
    border: 0;
    display: block;
    height: 360px;
    width: 100%;
}

.email-template-mode-tabs {
    background: #f1f5f9;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    display: inline-flex;
    gap: .25rem;
    padding: .25rem;
}

.email-template-mode-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #52627a;
    display: inline-flex;
    font-weight: 800;
    gap: .45rem;
    line-height: 1;
    padding: .62rem .85rem;
}

.email-template-mode-tabs button.active {
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    color: #0d6efd;
}

.company-email-basic-editor {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, .45fr) minmax(0, .55fr);
}

.company-email-basic-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
}

.company-email-logo-field {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 120px minmax(0, 1fr);
    margin: .7rem 0 1rem;
}

.company-email-logo-preview {
    align-items: center;
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #94a3b8;
    display: flex;
    font-size: .8rem;
    font-weight: 800;
    height: 82px;
    justify-content: center;
    overflow: hidden;
    padding: .65rem;
    position: relative;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
    width: 100%;
}

button.company-email-logo-preview {
    cursor: pointer;
    text-align: center;
}

.company-email-logo-preview:hover,
.company-email-logo-preview:focus-visible,
.company-email-logo-preview.is-dragging {
    background: #eef6ff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .12);
    color: #0d6efd;
    outline: 0;
}

.company-email-logo-preview.is-uploading::after {
    align-items: center;
    background: rgba(255, 255, 255, .82);
    color: #52627a;
    content: "Subiendo...";
    display: flex;
    font-size: .78rem;
    font-weight: 800;
    inset: 0;
    justify-content: center;
    position: absolute;
}

.company-email-logo-preview img {
    display: block;
    max-height: 58px;
    max-width: 100%;
}

.company-email-logo-help {
    color: #64748b;
    font-size: .78rem;
    line-height: 1.35;
}

.company-email-color-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-email-color-grid label {
    color: #52627a;
    display: grid;
    font-size: .78rem;
    font-weight: 800;
    gap: .35rem;
}

.company-email-color-grid .form-control-color {
    height: 1px;
    opacity: 0;
    padding: 0;
    position: absolute;
    width: 1px;
}

.email-template-color-picker {
    display: grid;
    gap: .45rem;
}

.email-template-color-trigger {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    color: #0f172a;
    display: grid;
    gap: .65rem;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    min-height: 48px;
    padding: .42rem .55rem;
    text-align: left;
    width: 100%;
}

.email-template-color-trigger:hover,
.email-template-color-trigger:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .09);
    outline: 0;
}

.email-template-color-trigger[aria-expanded="true"] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .12);
}

.email-template-color-trigger__copy {
    display: grid;
    line-height: 1.15;
    min-width: 0;
}

.email-template-color-trigger__label {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.email-template-color-trigger__hex {
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .88rem;
    letter-spacing: 0;
}

.email-template-color-trigger .bi {
    color: #64748b;
    transition: transform .16s ease;
}

.email-template-color-trigger[aria-expanded="true"] .bi {
    transform: rotate(180deg);
}

.email-template-color-panel {
    background: #ffffff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
    display: grid;
    gap: .65rem;
    padding: .7rem;
}

.email-template-color-picker__swatches {
    display: grid;
    gap: .38rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.email-template-color-swatch {
    background: var(--swatch);
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 7px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55);
    display: block;
    height: 32px;
    padding: 0;
    position: relative;
    width: 100%;
}

.email-template-color-swatch.is-active {
    border-color: #0d6efd;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, .18), inset 0 0 0 2px rgba(255, 255, 255, .85);
}

.email-template-color-swatch.is-active::after {
    background: #0d6efd;
    border: 2px solid #ffffff;
    border-radius: 999px;
    content: "";
    height: 10px;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 10px;
}

.email-template-color-picker__custom {
    align-items: center;
    display: grid;
    gap: .45rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.email-template-color-current {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);
    display: block;
    height: 34px;
    width: 34px;
}

.email-template-color-hex {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .86rem;
    font-weight: 800;
    min-height: 34px;
    padding-bottom: .35rem;
    padding-top: .35rem;
    text-transform: uppercase;
}

.email-template-color-wheel {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
    min-height: 34px;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .company-email-templates-header,
    .company-email-template-new-models,
    .company-email-template-card {
        grid-template-columns: 1fr;
    }

    .company-email-templates-header {
        flex-direction: column;
    }

    .company-email-templates-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .company-email-templates-header .btn,
    .company-email-templates-actions .btn {
        width: 100%;
    }

    .company-email-template-card__meta {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }

    .email-template-mode-tabs,
    .email-template-mode-tabs button {
        width: 100%;
    }

    .email-template-mode-tabs button {
        justify-content: center;
    }

    .company-email-basic-editor,
    .company-email-logo-field,
    .company-email-color-grid {
        grid-template-columns: 1fr;
    }

    .email-template-color-picker__swatches {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .email-template-color-picker__custom {
        grid-template-columns: 1fr;
    }

    .email-template-color-wheel {
        justify-content: center;
        width: 100%;
    }

    .company-email-template-preview-card__rendered iframe {
        height: 310px;
    }
}


.access-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 32px 18px;
    background:
        radial-gradient(circle at 18% 18%, rgba(11, 107, 225, 0.14), transparent 28%),
        linear-gradient(135deg, #f6f9fc 0%, #eef4fb 48%, #ffffff 100%);
}

.access-page-inline {
    min-height: 70vh;
    background:
        radial-gradient(circle at 18% 18%, rgba(11, 107, 225, 0.10), transparent 30%),
        linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}

.access-card {
    width: min(100%, 520px);
    padding: 40px 36px 34px;
    text-align: center;
    color: #1f2937;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(11, 107, 225, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(24, 42, 67, 0.14);
}

.access-logo {
    display: block;
    width: min(180px, 58vw);
    max-height: 72px;
    object-fit: contain;
    margin: 0 auto 28px;
}

.access-card-permission {
    width: min(100%, 560px);
    padding: 42px 38px 36px;
}

.access-card-permission .access-logo {
    width: min(220px, 62vw);
    max-height: 82px;
    margin-bottom: 30px;
}

.access-card .lock-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 22px;
    color: var(--colour-primary);
    background: #edf6ff;
    border: 1px solid rgba(11, 107, 225, 0.14);
    border-radius: 50%;
    box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.68);
    animation: none;
}

.access-card .lock-icon i {
    font-size: 2.35rem;
    line-height: 1;
}

.access-card .lock-icon::before,
.access-card .lock-icon::after {
    content: none;
}

.lock-message h1 {
    max-width: 14ch;
    margin: 0 auto 14px;
    color: #111827;
    font-size: clamp(1.85rem, 5vw, 2.65rem) !important;
    font-weight: 800;
    line-height: 1.08;
}

.lock-message p {
    max-width: 44ch;
    margin: 0 auto;
    color: #4b5563;
    font-size: 1rem !important;
    line-height: 1.65;
}

.access-note {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 18px auto 0;
    padding: .55rem .85rem;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.35;
}

.access-card-permission .lock-message h1 {
    max-width: 18ch;
}

.access-card-permission .lock-message p {
    max-width: 48ch;
}

.access-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
    color: #64748b;
}

.access-actions span {
    flex-basis: 100%;
}

.access-actions .btn {
    min-width: 144px;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
}

.access-actions .btn-primary {
    background-color: var(--colour-primary);
    border-color: var(--colour-primary);
    box-shadow: 0 10px 24px rgba(11, 107, 225, 0.25);
}

.access-actions .btn-primary:hover,
.access-actions .btn-primary:focus {
    background-color: #0858ba;
    border-color: #0858ba;
}

.access-actions .btn-outline-secondary {
    border-color: #cbd5e1;
    color: #334155;
}

.access-actions .btn-outline-secondary:hover,
.access-actions .btn-outline-secondary:focus {
    background: #f8fafc;
    border-color: #94a3b8;
    color: #0f172a;
}


.progress-cell {
    background-color: #b8eaf1; /* Color inicial */
}
.progress-1 { background-color: #378089 !important; } /* Bajo */
.progress-2 { background-color: #5da4ad !important; }
.progress-3 { background-color: #7ecbd5 !important; }
.progress-4 { background-color: #9bdce5 !important; }
.progress-5 { background-color: #b8eaf1 !important; }
.progress-6 { background-color: #b8eaf1 !important; }
.progress-7 { background-color: #9bdce5 !important; } /* Promedio */
.progress-8 { background-color: #7ecbd5 !important; }
.progress-9 { background-color: #5da4ad !important; }
.progress-10 { background-color: #378089 !important; } /* Alto */


.lang-flags {
    background-color: transparent;
    border-color: transparent;
    top: 6px;
    right: 10px;
    appearance: none;
    padding-left: 12px;
    color: inherit;
}

.is-invalid {
    border-color: #dc3545 !important;
}
.invalid-feedback {
    display: block;
    color: #dc3545;
    font-size: 0.875em;
    margin-top: 0.25rem;
}


#alertsContainer {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    transform: translateY(0);
    transition: transform .5s ease-in-out;
    pointer-events: none;
}

.alert {
    margin: 1rem;
    pointer-events: auto;
}

.alert .btn-close {
    position: relative;
    top: 0;
    margin-left: 10px;
}

.dropdown-menu {
    z-index: 1050;
    will-change: transform;
}

.fixed-table-body {
    overflow: visible !important;
}

.dropdown-menu {
    min-width: 13rem;
    padding: .5rem;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 8px;
    box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .14);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-height: 2.45rem;
    padding: .55rem .75rem;
    border-radius: 6px;
    color: #1f2937;
    font-weight: 500;
}

.dropdown-item i {
    width: 1.15rem;
    margin-right: 0 !important;
    color: #64748b;
    text-align: center;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #f1f6ff;
    color: #0b6be1;
}

.dropdown-item:hover i,
.dropdown-item:focus i {
    color: #0b6be1;
}

.dropdown-item.text-danger {
    color: #dc3545 !important;
}

.dropdown-item.text-danger i {
    color: #dc3545;
}

.dropdown-item.text-danger:hover,
.dropdown-item.text-danger:focus {
    background-color: #fff1f2;
    color: #b4232f !important;
}

.dropdown-item.text-danger:hover i,
.dropdown-item.text-danger:focus i {
    color: #b4232f;
}

.app-confirm-modal .modal-content {
    overflow: hidden !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .22) !important;
}

.app-confirm-modal .modal-header {
    align-items: flex-start !important;
    gap: 1rem !important;
    border-bottom: 1px solid #e8edf3 !important;
    padding: 1rem 1.1rem !important;
}

.app-confirm-heading {
    display: flex !important;
    align-items: flex-start !important;
    gap: .85rem !important;
    min-width: 0 !important;
}

.app-confirm-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 8px !important;
    font-size: 1.1rem !important;
}

.app-confirm-icon-danger {
    background: #fff1f2 !important;
    color: #dc3545 !important;
}

.app-confirm-icon-primary {
    background: #eef4ff !important;
    color: #0d6efd !important;
}

.app-confirm-modal .modal-title {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.app-confirm-modal .modal-header p {
    margin: .2rem 0 0 !important;
    color: #64748b !important;
    line-height: 1.35 !important;
}

.app-confirm-modal .modal-body {
    padding: 1rem 1.1rem !important;
}

.app-confirm-copy {
    color: #334155 !important;
    line-height: 1.45 !important;
}

.app-confirm-copy strong {
    color: #0f172a !important;
    font-weight: 800 !important;
}

.app-confirm-modal .modal-footer {
    gap: .55rem !important;
    border-top: 1px solid #e8edf3 !important;
    padding: .85rem 1.1rem !important;
}

.app-confirm-modal .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .4rem !important;
    min-height: 40px !important;
    font-weight: 700 !important;
}

.processes-empty-state {
    margin: 1rem 0 0 !important;
}

.processes-empty-panel {
    display: grid !important;
    justify-items: center !important;
    gap: .75rem !important;
    padding: 2.25rem 1.25rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    text-align: center !important;
}

.processes-empty-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: #eef4ff !important;
    color: #0d6efd !important;
    font-size: 1.55rem !important;
}

.processes-empty-panel h2 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
}

.processes-empty-panel p {
    max-width: 44rem !important;
    margin: 0 !important;
    color: #64748b !important;
    line-height: 1.55 !important;
}

.processes-first-steps {
    display: grid !important;
    gap: .55rem !important;
    padding: .85rem !important;
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
}

.processes-first-steps span {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    color: #334155 !important;
    font-weight: 700 !important;
}

.processes-first-steps i {
    color: #0d6efd !important;
}

.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    border-radius: 8px;
}

.dropdown-toggle::after {
    margin-left: .35rem;
}

.no-spinners {
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
}

.no-spinners::-webkit-inner-spin-button,
.no-spinners::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#criteriaGroupsTable thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    height: 100%;
    border-bottom: 2px solid #dee2e6;
    vertical-align: middle;
    text-align: center;
}

.apptify-factor-title {
    align-items: center;
    display: inline-flex;
    gap: .38rem;
    justify-content: center;
    line-height: 1.2;
    max-width: 100%;
}

.apptify-factor-label {
    align-items: baseline;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .2rem;
    justify-content: center;
    min-width: 0;
}

.apptify-factor-label strong {
    color: #111827;
    font-weight: 800;
}

.apptify-factor-label span:last-child {
    color: #52627a;
    font-size: .82rem;
    font-weight: 700;
}

#criteriaGroupsTable tbody tr.group-odd td {
    background-color: #ebf4f9;
}

#criteriaGroupsTable tbody tr.group-even td {
    background-color: #ffffff;
}

#criteriaGroupsTable td {
    text-align: center;
    vertical-align: middle;
}

.input-zero {
    color: #ccc;
    font-weight: normal;
}

.input-nonzero {
    color: #000;
    font-weight: normal;
}

.killer-switch.form-check-input {
    display: inline-block;
    transform: scale(1.5);
}

.form-check-label {
    margin-top: .2rem;
    font-size: 1rem;
}

.apptify-table-shell,
.bootstrap-table {
    width: 100%;
}

.bootstrap-table .fixed-table-loading {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 58px !important;
    height: auto !important;
    padding: .75rem 1rem !important;
    color: #52627a;
    font-size: .9rem !important;
    font-weight: 600;
    line-height: 1.2 !important;
    background: rgba(255, 255, 255, .94);
}

.bootstrap-table .fixed-table-loading span,
.bootstrap-table .fixed-table-loading .loading-wrap,
.bootstrap-table .fixed-table-loading .loading-text {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .9rem !important;
    line-height: 1.2 !important;
}

.bootstrap-table .fixed-table-loading .animation-wrap {
    transform: scale(.55);
    transform-origin: center;
}

.apptify-table-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    color: #52627a;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
}

.apptify-table-loading__mini {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 36px;
    flex: 0 0 42px;
    overflow: visible;
}

.apptify-table-loading__mini .apptify-triangle-loader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(.32);
    transform-origin: center;
}

.apptify-table-loading__mark {
    width: 1.45rem;
    height: 1.3rem;
    flex: 0 0 auto;
    background: url("../img/logo.png") center / contain no-repeat;
    filter: drop-shadow(0 .25rem .5rem rgba(18, 112, 255, .18));
    animation: apptify-table-loading-breathe 1.35s ease-in-out infinite;
}

@keyframes apptify-table-loading-breathe {
    0%, 100% {
        opacity: .72;
        transform: scale(.94);
    }

    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

.password-toggle-group > .form-floating {
    flex: 1 1 auto;
    min-width: 0;
}

.password-toggle-group > .form-floating > .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.password-toggle-group > .form-control {
    min-width: 0;
}

.password-toggle-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 4.75rem;
    font-weight: 700;
}

.password-toggle-group > .password-toggle-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.apptify-list-table {
    table-layout: auto;
}

.apptify-list-table th,
.apptify-list-table td {
    vertical-align: middle;
}

.apptify-list-table td {
    word-break: break-word;
}

.apptify-list-table .dropdown {
    display: inline-flex;
}

.dashboard-page {
    background: #f8fafc;
    min-height: calc(100vh - 58px);
}

.dashboard-process-card {
    overflow: hidden;
    border: 1px solid #dbe5f1;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.dashboard-process-card:hover,
.dashboard-process-card:focus-visible {
    border-color: #9ec5fe;
    box-shadow: 0 .85rem 1.75rem rgba(15, 23, 42, .12) !important;
    transform: translateY(-1px);
}

.dashboard-process-card:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .22);
    outline-offset: 2px;
}

.dashboard-process-card .card-body {
    padding: 1rem;
}

.dashboard-process-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    background: #ffffff;
    border-bottom: 1px solid #e5edf6;
    padding: 1rem;
}

.dashboard-open-process {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex: 0 0 auto;
    min-height: 34px;
    padding: .35rem .65rem;
    font-weight: 700;
}

.dashboard-process-header .card-title {
    color: #111827;
    font-size: 1.05rem !important;
    font-weight: 800;
    line-height: 1.2;
}

.dashboard-test {
    padding: .9rem;
    border-radius: 8px;
    background: #f8fafc;
}

.dashboard-test p {
    line-height: 1.45;
}

.dashboard-status h6 {
    color: #111827;
}

.dashboard-metric {
    padding: .75rem 0;
    border-top: 1px solid #edf2f7;
}

.dashboard-metric:first-of-type {
    border-top: 0;
}

.dashboard-metric .progress {
    height: .55rem;
    margin-top: .45rem;
    border-radius: 999px;
    background-color: #e9eef5;
}

.dashboard-metric .progress-bar {
    border-radius: 999px;
}

.dashboard-empty,
.dashboard-empty-state {
    border-radius: 8px;
}

.dashboard-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 1rem;
    text-align: center;
    background: #f8fafc;
}

.dashboard-empty-logo {
    width: 86px;
    height: 86px;
    object-fit: contain;
    filter: grayscale(80%);
    opacity: .65;
}

.company-dashboard-welcome,
.company-dashboard-ready,
.company-team-setup-panel,
.company-matrix-card {
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 .45rem 1.2rem rgba(15, 23, 42, .045);
}

.company-dashboard-welcome {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1fr);
    gap: 1.5rem;
    align-items: stretch;
    padding: 1.5rem;
}

.company-dashboard-welcome-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.2rem;
    align-items: center;
    min-width: 0;
}

.company-dashboard-welcome-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #eef5ff;
    color: #0d6efd;
    font-size: 1.65rem;
}

.company-dashboard-welcome span,
.company-dashboard-ready span,
.company-team-setup-panel span,
.company-dashboard-section-title span,
.company-matrix-card-header span {
    display: block;
    color: #64748b;
    font-size: .78rem !important;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.company-dashboard-welcome h2,
.company-dashboard-ready h2,
.company-team-setup-panel h2,
.company-dashboard-section-title h2,
.company-matrix-card h3 {
    margin: .18rem 0 .45rem;
    color: #0f172a;
    font-weight: 800;
    line-height: 1.15;
}

.company-dashboard-welcome h2,
.company-dashboard-ready h2 {
    font-size: 1.35rem !important;
}

.company-dashboard-section-title h2 {
    font-size: 1.1rem !important;
}

.company-dashboard-welcome p,
.company-dashboard-ready p,
.company-team-setup-panel p,
.company-matrix-card p {
    margin: 0;
    color: #475569;
    line-height: 1.55;
}

.company-dashboard-next-steps {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e8edf3;
}

.company-dashboard-next-steps p {
    font-size: .9rem !important;
}

.company-dashboard-next-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.company-dashboard-next-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding-inline: .9rem;
    font-weight: 700;
}

.company-dashboard-journey {
    display: grid;
    align-content: center;
    gap: .85rem;
    min-width: 0;
    padding: 1rem 0 1rem 1.35rem;
    border-left: 1px solid #e8edf3;
}

.company-team-setup-panel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.company-team-setup-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #eef5ff;
    color: #0d6efd;
    font-size: 1.1rem;
}

.company-team-setup-panel h2 {
    font-size: 1rem !important;
}

.company-team-setup-panel p {
    max-width: 48rem;
}

.company-dashboard-journey-title {
    color: #64748b;
    font-size: .78rem !important;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.company-dashboard-journey-action {
    justify-self: end;
}

.company-activation-flow {
    display: grid;
    gap: .65rem;
}

.company-dashboard-status-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 0;
    position: relative;
}

.company-dashboard-status-list::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 11%;
    right: 11%;
    height: 2px;
    border-radius: 999px;
    background: #dbe3ee;
}

.company-dashboard-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .7rem;
    min-height: 0;
    padding: .75rem;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #ffffff;
    color: #64748b;
    font-weight: 700;
    position: relative;
    text-align: left;
    z-index: 1;
}

.company-dashboard-step i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dbe3ee;
    border-radius: 999px;
    background: #ffffff;
    color: #94a3b8;
    font-size: .95rem;
}

.company-dashboard-step span {
    display: block;
    max-width: none;
    color: inherit;
    font-size: .84rem !important;
    line-height: 1.25;
}

.company-dashboard-step small {
    display: block;
    margin-top: .15rem;
    color: #64748b;
    font-size: .78rem !important;
    font-weight: 400;
    line-height: 1.3;
}

.company-dashboard-step.is-done {
    color: #166534;
    border-color: #bbf7d0;
    background: #f7fef9;
}

.company-dashboard-step.is-done i {
    border-color: #bbf7d0;
    background: #ecfdf3;
    color: #16a34a;
}

.company-dashboard-step.is-active {
    color: #1d4ed8;
    border-color: #bfdbfe;
    background: #f4f8ff;
}

.company-dashboard-step.is-active i {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0d6efd;
}

.company-dashboard-ready {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
}

.company-dashboard-section-title {
    position: relative;
    display: grid;
    gap: .18rem;
    margin-top: .75rem;
    padding-left: .8rem;
}

.company-dashboard-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: .12rem;
    bottom: .12rem;
    width: 3px;
    border-radius: 999px;
    background: #bfdbfe;
}

.company-dashboard-section-title p {
    max-width: 54rem;
    margin: .05rem 0 0;
    color: #475569;
    line-height: 1.45;
}

.company-step-execution-title {
    padding-left: .9rem;
}

.company-step-execution-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25rem;
    bottom: .25rem;
    width: 3px;
    border-radius: 999px;
    background: #0d6efd;
}

.company-step-execution-card {
    position: relative;
}

.company-matrix-card {
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(380px, 1fr);
    gap: 1.5rem;
    align-items: stretch;
    padding: 1.5rem;
}

.company-matrix-card.is-working {
    border-color: #dbe3ee;
}

.company-matrix-card.is-finished {
    border-color: #dbe3ee;
}

.company-matrix-main {
    display: grid;
    align-content: center;
    gap: .75rem;
    min-width: 0;
}

.company-matrix-side {
    display: grid;
    align-content: center;
    min-width: 0;
    padding: 1rem 0 1rem 1.35rem;
    border-left: 1px solid #e8edf3;
}

.company-matrix-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .7rem;
}

.company-matrix-card h3 {
    font-size: 1.05rem !important;
}

.company-matrix-context {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-top: .8rem;
    color: #64748b;
    font-size: .82rem !important;
}

.company-matrix-context span {
    color: #64748b;
    font-size: .72rem !important;
    font-weight: 800;
    text-transform: uppercase;
}

.company-matrix-context strong {
    color: #334155;
    font-size: .82rem !important;
}

.company-matrix-explainer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .55rem;
    margin-top: .15rem;
    padding: .75rem;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
}

.company-matrix-study-summary {
    display: grid;
    gap: .25rem;
    margin-top: .25rem;
    padding: .75rem 0 0;
    border-top: 1px solid #e8edf3;
}

.company-matrix-study-summary span {
    color: #64748b;
    font-size: .72rem !important;
    font-weight: 700;
    text-transform: uppercase;
}

.company-matrix-study-summary p {
    color: #475569;
    font-size: .9rem !important;
}

.company-matrix-explainer i {
    color: #0d6efd;
    margin-top: .1rem;
}

.company-matrix-explainer span {
    font-size: .86rem !important;
    line-height: 1.4;
}

.company-matrix-card-header strong {
    flex: 0 0 auto;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .78rem !important;
}

.company-matrix-card.is-finished .company-matrix-card-header strong {
    background: #ecfdf3;
    color: #166534;
}

.company-matrix-progress {
    display: grid;
    gap: .65rem;
    margin-top: 0;
}

.company-matrix-progress-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #475569;
    font-weight: 800;
}

.company-matrix-progress-heading span {
    font-size: .78rem !important;
    text-transform: uppercase;
}

.company-matrix-progress-heading strong {
    color: #0f172a;
}

.company-matrix-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.company-matrix-metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #475569;
    padding: .45rem 0;
    border: 0;
    border-bottom: 1px solid #e8edf3;
    border-radius: 0;
    background: transparent;
}

.company-matrix-metric:nth-last-child(-n+2) {
    border-bottom: 0;
}

.company-matrix-metric strong {
    color: #0f172a;
}

.company-matrix-progress .progress {
    height: .55rem;
    border-radius: 999px;
    background: #e9eef5;
}

.company-matrix-progress .progress-bar {
    border-radius: 999px;
}

.company-matrix-progress small,
.company-matrix-note {
    color: #64748b;
}

.company-matrix-next {
    display: grid;
    gap: .15rem;
    padding: .75rem 0 0;
    border-top: 1px solid #e8edf3;
}

.company-matrix-next span {
    color: #64748b;
    font-size: .72rem !important;
    font-weight: 700;
    text-transform: uppercase;
}

.company-matrix-next strong {
    color: #0f172a;
    font-size: .88rem !important;
    font-weight: 600;
}

.company-matrix-note {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1rem;
    padding: .75rem;
    border-radius: 8px;
    background: #f8fafc;
    font-weight: 700;
}

.company-matrix-note i {
    color: #0d6efd;
}

.company-matrix-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.company-matrix-ready-copy {
    color: #166534;
    font-size: .86rem !important;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .company-dashboard-welcome {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .company-dashboard-journey {
        width: 100%;
        padding: 1.2rem 0 0;
        border-top: 1px solid #e8edf3;
        border-left: 0;
    }

    .company-dashboard-ready {
        align-items: stretch;
        flex-direction: column;
    }

    .company-dashboard-ready .btn {
        width: 100%;
    }

    .company-team-setup-panel {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: flex-start;
    }

    .company-team-setup-panel .company-dashboard-next-actions {
        grid-column: 1 / -1;
    }

    .company-matrix-card {
        grid-template-columns: 1fr;
    }

    .company-matrix-side {
        padding: 1.2rem 0 0;
        border-top: 1px solid #e8edf3;
        border-left: 0;
    }

    .company-matrix-actions {
        align-items: stretch;
    }

    .company-matrix-actions .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .company-dashboard-welcome-main {
        grid-template-columns: 1fr;
    }

    .company-dashboard-status-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1.2rem;
    }

    .company-dashboard-status-list::before {
        content: none;
    }

    .company-dashboard-journey-action {
        justify-self: stretch;
    }

    .company-dashboard-next-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .company-team-setup-panel {
        grid-template-columns: 1fr;
    }

    .company-matrix-detail-grid {
        grid-template-columns: 1fr;
    }
}

.admin-dashboard {
    display: grid;
    gap: 1rem;
}

.admin-dashboard-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
}

.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .85rem;
}

.admin-kpi-card,
.admin-dashboard-panel {
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 .45rem 1.2rem rgba(15, 23, 42, .045);
}

.admin-kpi-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-height: 104px;
    padding: 1rem;
}

.admin-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef4ff;
    color: #0d6efd;
    font-size: 1.2rem;
    flex: 0 0 auto;
}

.admin-kpi-card span,
.admin-panel-header span {
    display: block;
    color: #52627a;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.15;
}

.admin-kpi-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1;
    margin: .18rem 0;
}

.admin-kpi-card small {
    color: #334155;
    font-size: .82rem;
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 1rem;
}

.admin-dashboard-panel {
    overflow: hidden;
}

.admin-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #e4ebf4;
    background: #fff;
}

.admin-panel-header h2 {
    margin: .15rem 0 0;
    color: #0f172a;
    font-size: 1.05rem !important;
    font-weight: 800;
    line-height: 1.15;
}

.admin-activity-list,
.admin-operation-stack,
.admin-compact-table,
.admin-alert-list,
.admin-process-table {
    padding: .75rem 1rem 1rem;
}

.admin-activity-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 44px;
    align-items: center;
    gap: .75rem;
    min-height: 34px;
    color: #334155;
    font-size: .86rem;
}

.admin-activity-bar {
    height: 9px;
    border-radius: 999px;
    background: #edf2f7;
    overflow: hidden;
}

.admin-activity-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #0d6efd;
}

.admin-activity-legend {
    display: flex;
    gap: 1rem;
    padding: 0 1rem 1rem;
    color: #52627a;
    font-size: .8rem;
}

.admin-progress-row {
    padding: .65rem 0;
    border-bottom: 1px solid #edf2f7;
}

.admin-progress-row .progress {
    height: .5rem;
    margin-top: .45rem;
    border-radius: 999px;
    background: #edf2f7;
}

.admin-progress-row .progress-bar {
    border-radius: inherit;
}

.admin-cron-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .75rem;
    padding: .85rem;
    border-radius: 8px;
    background: #f8fafc;
}

.admin-cron-card span,
.admin-cron-card small,
.admin-compact-row span,
.admin-process-row span {
    color: #52627a;
    font-size: .82rem;
}

.admin-cron-card strong,
.admin-compact-row strong {
    display: block;
    color: #0f172a;
    font-weight: 800;
}

.admin-compact-row,
.admin-process-row,
.admin-process-head {
    display: grid;
    gap: 1rem;
    align-items: center;
}

.admin-compact-row {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .8rem 0;
    border-bottom: 1px solid #edf2f7;
}

.admin-compact-row:last-child,
.admin-process-row:last-child {
    border-bottom: 0;
}

.admin-alert-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .25rem .75rem;
    padding: .8rem;
    border-radius: 8px;
    background: #f8fafc;
}

.admin-alert-item + .admin-alert-item {
    margin-top: .6rem;
}

.admin-alert-item strong {
    color: #0f172a;
}

.admin-alert-item span {
    color: #334155;
    font-size: .86rem;
}

.admin-alert-item b {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
}

.admin-alert-success b { color: #198754; }
.admin-alert-warning b { color: #b7791f; }
.admin-alert-danger b { color: #dc3545; }

.admin-process-head,
.admin-process-row {
    grid-template-columns: minmax(220px, 1.6fr) minmax(160px, 1fr) repeat(3, minmax(90px, .5fr));
}

.admin-process-head {
    padding: .7rem 0;
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    border-bottom: 1px solid #dbe3ee;
}

.admin-process-row {
    padding: .85rem 0;
    border-bottom: 1px solid #edf2f7;
}

.admin-process-row strong {
    display: block;
    color: #0f172a;
    font-weight: 750;
}

.admin-empty-state {
    padding: 1rem;
    color: #52627a;
    font-size: .9rem;
}

.criteria-table-wrap {
    width: 100%;
    max-height: 600px;
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
}

.criteria-table-wrap .apptify-matrix-table {
    --apptify-factor-column-width: 16.25rem;
    margin-bottom: 0;
}

.criteria-table-wrap .apptify-matrix-table th.apptify-factor-column,
.criteria-table-wrap .apptify-matrix-table td.apptify-factor-column,
.criteria-table-wrap .apptify-matrix-table td.apptify-criterion-cell {
    width: var(--apptify-factor-column-width);
    min-width: var(--apptify-factor-column-width);
    max-width: var(--apptify-factor-column-width);
}

.criteria-table-wrap .form-control:not(.apptify-plateau-tooltip-input) {
    min-width: 72px;
}

.fixed-table-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.fixed-table-toolbar .bs-bars,
.fixed-table-toolbar .search {
    float: none !important;
}

.fixed-table-toolbar .search {
    margin-left: auto;
}

.fixed-table-toolbar .search-input {
    min-width: 220px;
}

@media (max-width: 767.98px) {
    html,
    body {
        overflow-x: hidden;
    }

    .navbar {
        padding: 8px 12px;
    }

    .navbar .navbar-brand {
        max-width: calc(100vw - 82px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tab-pane.container-fluid {
        padding-right: 12px;
        padding-left: 12px;
    }

    .dashboard-page {
        padding-right: 14px;
        padding-left: 14px;
    }

    .dashboard-process-header {
        align-items: stretch;
        flex-direction: column;
        gap: .8rem;
        padding: .95rem;
    }

    .dashboard-open-process {
        justify-content: center;
        width: 100%;
    }

    .dashboard-process-header .card-title {
        font-size: 1.15rem !important;
    }

    .dashboard-process-card .card-body {
        padding: .95rem;
    }

    .dashboard-empty-state {
        min-height: 190px;
    }

    .admin-kpi-grid,
    .admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .admin-kpi-card {
        min-height: 92px;
    }

    .admin-activity-row {
        grid-template-columns: 78px minmax(0, 1fr) 36px;
        gap: .55rem;
    }

    .admin-cron-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-process-table {
        padding: 0;
    }

    .admin-process-head {
        display: none;
    }

    .admin-process-row {
        display: block;
        padding: 1rem;
    }

    .admin-process-row > * {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        padding: .18rem 0;
    }

    .nav-tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: .35rem;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: .35rem;
        scrollbar-width: none;
    }

    .nav-tabs::-webkit-scrollbar {
        display: none;
    }

    .nav-tabs .nav-link {
        white-space: nowrap;
        border-radius: 6px;
    }

    .modal-dialog {
        margin: .75rem;
    }

    .modal-body,
    .modal-footer,
    .modal-header {
        padding: 1rem;
    }

    .fixed-table-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
        margin-bottom: .75rem;
    }

    .fixed-table-toolbar .bs-bars,
    .fixed-table-toolbar .search,
    .fixed-table-toolbar .search-input,
    .fixed-table-toolbar .columns,
    .fixed-table-toolbar .btn-group {
        width: 100%;
        margin: 0 !important;
    }

    .fixed-table-toolbar .bs-bars .btn,
    .fixed-table-toolbar .search-input {
        width: 100%;
    }

    .fixed-table-container {
        border: 0;
        padding-bottom: 0 !important;
    }

    .bootstrap-table.apptify-mobile-card-table {
        margin-top: .75rem;
    }

    .bootstrap-table.apptify-mobile-card-table .fixed-table-container {
        padding-top: 0 !important;
        border: 0 !important;
        background: transparent;
    }

    .fixed-table-container,
    .fixed-table-body,
    .fixed-table-header,
    .fixed-table-pagination,
    .table-responsive {
        overflow: visible !important;
    }

    .fixed-table-header {
        display: none !important;
    }

    .bootstrap-table.apptify-mobile-card-table .fixed-table-header,
    .bootstrap-table.apptify-mobile-card-table .fixed-table-loading,
    .bootstrap-table.apptify-mobile-card-table .fixed-table-body thead,
    .bootstrap-table.apptify-mobile-card-table table thead {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    .bootstrap-table.apptify-mobile-card-table .fixed-table-body {
        height: auto !important;
        padding-top: 0 !important;
    }

    .fixed-table-pagination {
        display: flex;
        flex-direction: column;
        gap: .65rem;
    }

    .fixed-table-pagination .pagination-detail,
    .fixed-table-pagination .pagination {
        float: none !important;
        width: 100%;
        margin: 0;
    }

    .fixed-table-pagination .pagination {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: .25rem;
    }

    .apptify-list-table,
    .apptify-list-table thead,
    .apptify-list-table tbody,
    .apptify-list-table tr,
    .apptify-list-table td {
        display: block;
        width: 100%;
    }

    .apptify-list-table {
        border-collapse: separate;
        border-spacing: 0 .6rem;
        min-width: 0 !important;
    }

    .apptify-list-table thead {
        display: none;
    }

    .apptify-list-table tbody {
        display: grid;
        gap: .75rem;
    }

    .apptify-list-table tr {
        --bs-table-bg: transparent;
        --bs-table-accent-bg: transparent;
        --bs-table-striped-bg: transparent;
        --bs-table-hover-bg: transparent;
        --bs-table-bg-state: transparent;
        --bs-table-hover-color: inherit;
        padding: .95rem;
        border: 1px solid #dbe5f1;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 .35rem 1.2rem rgba(15, 23, 42, .07);
        transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
        position: relative;
    }

    .apptify-list-table tr:hover,
    .apptify-list-table tr:focus-within {
        background: #f1f6ff;
        border-color: #b9d4f7;
        box-shadow: 0 .45rem 1.35rem rgba(15, 23, 42, .10);
    }

    .apptify-list-table td {
        --bs-table-bg: transparent;
        --bs-table-accent-bg: transparent;
        --bs-table-striped-bg: transparent;
        --bs-table-hover-bg: transparent;
        --bs-table-bg-state: transparent;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        padding: .34rem 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: right !important;
    }

    .apptify-list-table.table-hover > tbody > tr:hover > *,
    .apptify-list-table.table-hover > tbody > tr:focus-within > *,
    .bootstrap-table.apptify-mobile-card-table .table-hover > tbody > tr:hover > *,
    .bootstrap-table.apptify-mobile-card-table .table-hover > tbody > tr:focus-within > * {
        --bs-table-bg-state: transparent;
        --bs-table-hover-bg: transparent;
        background: transparent !important;
        color: inherit;
    }

    .apptify-list-table td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: #64748b;
        font-size: .78rem;
        font-weight: 700;
        line-height: 1.25;
        text-align: left;
        text-transform: uppercase;
    }

    .apptify-list-table td:first-child {
        display: inline-flex;
        width: auto;
        margin-bottom: .45rem;
        padding: .25rem .6rem !important;
        border-radius: 999px;
        background: #eef4ff !important;
        color: #315f9f;
        font-size: .86rem !important;
        font-weight: 700;
        text-align: left !important;
    }

    .apptify-list-table td:first-child::before {
        display: none;
    }

    .apptify-list-table td:last-child {
        position: absolute;
        top: .85rem;
        right: .85rem;
        display: block;
        width: auto;
        padding: 0 !important;
        text-align: right !important;
    }

    .apptify-list-table td:last-child::before {
        display: none;
    }

    .apptify-list-table td .dropdown,
    .apptify-list-table td .btn,
    .apptify-list-table td .btn-group {
        width: auto;
    }

    .apptify-list-table td:last-child .dropdown-toggle {
        min-width: 42px;
        min-height: 38px;
        border-radius: 8px;
    }

    .apptify-list-table td .dropdown-menu {
        min-width: 11rem;
    }

    #processes-tab-pane #toolbar,
    #companies-tab-pane #toolbar,
    #admin_tests-tab-pane #toolbar,
    #users-tab-pane #toolbar,
    #email_templates-tab-pane #toolbar {
        width: 100%;
    }

    #processes-tab-pane #toolbar .btn,
    #companies-tab-pane #toolbar .btn,
    #admin_tests-tab-pane #toolbar .btn,
    #users-tab-pane #toolbar .btn,
    #email_templates-tab-pane #toolbar .btn {
        width: 100%;
        padding: .72rem 1rem;
        border-radius: 8px;
        font-weight: 700;
        box-shadow: 0 .35rem .8rem rgba(11, 107, 225, .16);
    }

    #processesTable td:nth-child(2) {
        display: block;
        padding-right: 3.4rem !important;
        padding-top: .15rem !important;
        color: #111827;
        font-size: 1.05rem !important;
        font-weight: 700;
        text-align: left !important;
    }

    #processesTable td:nth-child(2)::before {
        display: none;
    }

    #processesTable td:nth-child(3),
    #processesTable td:nth-child(4),
    #processesTable td:nth-child(5) {
        align-items: center;
        min-height: 1.8rem;
        color: #1f2937;
    }

    #processesTable .dropdown-toggle {
        min-width: 44px;
        min-height: 38px;
        border-radius: 8px;
    }

    .criteria-table-wrap {
        max-height: 70vh;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .criteria-table-wrap .apptify-matrix-table {
        min-width: 720px;
        font-size: .82rem !important;
    }

    .criteria-table-wrap .apptify-matrix-table th,
    .criteria-table-wrap .apptify-matrix-table td {
        padding: .35rem;
    }

    .criteria-table-wrap .form-control:not(.apptify-plateau-tooltip-input) {
        min-width: 64px;
        padding: .35rem .45rem;
        font-size: .85rem !important;
    }

    #killerQuestionOptions .killer-question-option {
        gap: .5rem;
    }

    #killerQuestionOptions .killer-question-option > [class*="col-"] {
        width: 100%;
        flex: 0 0 100%;
    }

    .process-detail-page {
        padding: .9rem;
        background: #f7f9fc;
    }

    .process-detail-header {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: .75rem;
        margin-bottom: .85rem;
    }

    .process-detail-title {
        text-align: left;
        width: 100%;
    }

    .process-detail-title h1 {
        font-size: 1.25rem !important;
    }

    .process-detail-header .btn {
        width: 100%;
    }

    .process-detail-shell {
        border-radius: 8px;
        box-shadow: 0 .6rem 1.5rem rgba(15, 23, 42, .08);
    }

    .process-detail-tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: 1.15rem;
        padding: 0 1rem;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    .process-detail-tabs::-webkit-scrollbar {
        display: none;
    }

    .process-detail-tabs .nav-link {
        min-height: 0;
        padding: .9rem 0 .8rem;
    }

    .process-detail-content {
        padding: .75rem;
    }

    .process-panel {
        border: 0;
        box-shadow: none;
        padding: 0;
    }

    .process-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: .85rem;
        margin-bottom: .85rem;
    }

    .process-toolbar-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .process-toolbar-actions .btn {
        width: 100%;
    }

    .process-table-shell {
        border: 0;
        overflow: visible;
    }

    .process-table-shell .fixed-table-toolbar {
        padding: 0 0 .75rem;
        border: 0;
        background: transparent;
    }

    .processes-list-page {
        padding: .9rem;
    }

    .processes-list-header {
        align-items: stretch;
        flex-direction: column;
        gap: .85rem;
    }

    .processes-toolbar .btn {
        width: 100%;
    }

    .apptify-data-shell {
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .apptify-data-shell .fixed-table-toolbar {
        align-items: stretch;
        background: transparent;
        border: 0;
        flex-direction: column;
        padding: 0 0 .75rem;
    }

    .apptify-data-shell .fixed-table-toolbar .search {
        margin-left: 0;
    }

    .apptify-data-shell .fixed-table-toolbar .search-input {
        min-width: 0;
        width: 100%;
    }

    .apptify-data-shell .fixed-table-pagination {
        border-top: 0;
        padding: .5rem 0 0;
    }
}

/* Final override: sidebar selected state and icon rhythm */
#bd-docs-nav .nav-tabs .nav-link {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: .65rem !important;
    min-height: 42px !important;
    width: 100% !important;
    margin: 0 0 .1rem !important;
    padding: .52rem .75rem !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #111827 !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
}

#bd-docs-nav .nav-tabs .nav-link i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    color: #42526a !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

#bd-docs-nav .nav-tabs .apptify-sidebar-group-toggle {
    grid-template-columns: 28px minmax(0, 1fr) 28px !important;
}

#bd-docs-nav .apptify-sidebar-chevron {
    align-items: center;
    display: inline-flex;
    grid-column: 3;
    justify-content: center;
    justify-self: end;
    transition: transform 0.18s ease;
}

#bd-docs-nav .apptify-sidebar-group-toggle:not(.collapsed) .apptify-sidebar-chevron {
    transform: rotate(180deg);
}

#bd-docs-nav .nav-tabs .nav-link:hover {
    background: #f4f8ff !important;
    color: #0d6efd !important;
}

#bd-docs-nav .nav-tabs .nav-link:hover i {
    color: #0d6efd !important;
}

#bd-docs-nav .nav-tabs .nav-link.active {
    position: relative !important;
    background: #eef5ff !important;
    border-left: 0 !important;
    color: #0d6efd !important;
    font-weight: 700 !important;
}

#bd-docs-nav .nav-tabs .nav-link.active::before {
    content: "";
    position: absolute;
    top: .55rem;
    bottom: .55rem;
    left: 0;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: #0d6efd;
}

#bd-docs-nav .nav-tabs .nav-link.active i {
    color: #0d6efd !important;
}

.apptify-menu-section {
    margin: .65rem 0 .2rem !important;
    padding: .65rem .75rem .15rem !important;
}

.apptify-menu-section:first-child {
    margin-top: 0 !important;
    padding-top: .15rem !important;
}

/* EOF override: shared table surface for every Apptify list */
.apptify-data-shell,
.processes-table-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.process-detail-table-shell {
    margin: 0 !important;
}

.apptify-data-shell .fixed-table-toolbar,
.processes-table-shell .fixed-table-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.1rem 1.25rem !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #fff !important;
}

.apptify-data-shell .fixed-table-toolbar .bs-bars,
.processes-table-shell .fixed-table-toolbar .bs-bars {
    order: 2 !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
}

.apptify-data-shell .fixed-table-toolbar .search,
.processes-table-shell .fixed-table-toolbar .search {
    order: 1 !important;
    flex: 0 1 360px !important;
    width: min(360px, 100%) !important;
    margin: 0 !important;
}

.apptify-data-shell .fixed-table-toolbar .search-input,
.processes-table-shell .fixed-table-toolbar .search-input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}

.apptify-data-shell .fixed-table-toolbar .search-input:focus,
.processes-table-shell .fixed-table-toolbar .search-input:focus {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 .18rem rgba(13, 110, 253, .14) !important;
}

.app-table-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    width: 100% !important;
}

.app-table-title {
    position: relative !important;
    display: grid !important;
    gap: .18rem !important;
    min-width: 0 !important;
    padding-left: .8rem !important;
}

.app-table-title::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .12rem !important;
    bottom: .12rem !important;
    width: 3px !important;
    border-radius: 999px !important;
    background: #bfdbfe !important;
}

.app-table-title span {
    display: block !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

.app-table-title h2 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
}

.app-table-title p {
    margin: .05rem 0 0 !important;
    color: #475569 !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
    max-width: 52rem !important;
}

.app-table-actions {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: .55rem !important;
}

.app-table-actions .btn,
.processes-toolbar .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: .55rem .9rem !important;
    border-radius: 8px !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

.email-template-preview-shell {
    border: 1px solid #d9e2ef !important;
    border-radius: 12px !important;
    padding: 16px !important;
    background: #f8fafc !important;
}

.email-template-preview-shell iframe {
    width: 100% !important;
    min-height: 520px !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

.email-template-variable-chip {
    font-family: var(--bs-font-monospace) !important;
}

.apptify-data-shell .fixed-table-container,
.processes-table-shell .fixed-table-container {
    border: 0 !important;
}

.apptify-data-shell .apptify-list-table,
.processes-table-shell .apptify-list-table {
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: .9rem !important;
}

.apptify-data-shell .apptify-list-table > thead > tr > th,
.processes-table-shell .apptify-list-table > thead > tr > th {
    padding: .8rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #f8f9fb !important;
    color: #334155 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
}

.apptify-data-shell .apptify-list-table > tbody > tr > td,
.processes-table-shell .apptify-list-table > tbody > tr > td {
    padding: .82rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: .9rem !important;
    vertical-align: middle !important;
}

.apptify-data-shell .apptify-list-table > tbody > tr:nth-child(even) > *,
.processes-table-shell .apptify-list-table > tbody > tr:nth-child(even) > * {
    background: #fbfcfe !important;
}

.apptify-data-shell .apptify-list-table > tbody > tr:hover > *,
.apptify-data-shell .apptify-list-table > tbody > tr:focus-within > *,
.processes-table-shell .apptify-list-table > tbody > tr:hover > *,
.processes-table-shell .apptify-list-table > tbody > tr:focus-within > * {
    background: #f2f7ff !important;
}

.companies-table-shell .apptify-list-table > tbody > tr {
    cursor: pointer !important;
}

.apptify-data-shell .fixed-table-pagination,
.processes-table-shell .fixed-table-pagination {
    padding: .85rem 1rem !important;
    border-top: 0 !important;
    background: #fff !important;
    color: #52627a !important;
}

.apptify-data-shell .dropdown-toggle,
.processes-table-shell .dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border: 1px solid #91a0b3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #40506a !important;
    box-shadow: none !important;
}

.apptify-data-shell .dropdown-toggle:hover,
.apptify-data-shell .dropdown-toggle:focus,
.processes-table-shell .dropdown-toggle:hover,
.processes-table-shell .dropdown-toggle:focus {
    background: #f8f9fb !important;
    border-color: #64748b !important;
    box-shadow: 0 0 0 .16rem rgba(100, 116, 139, .12) !important;
}

.apptify-data-shell .dropdown-menu,
.processes-table-shell .dropdown-menu,
.apptify-body-context-menu {
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    box-shadow: 0 .75rem 1.5rem rgba(15, 23, 42, .14) !important;
}

.apptify-body-context-menu {
    min-width: 15rem !important;
    padding: .45rem !important;
    z-index: 2000 !important;
}

.apptify-data-shell .dropdown-menu .dropdown-item,
.processes-table-shell .dropdown-menu .dropdown-item,
.process-detail-content > .tab-pane > .bootstrap-table .dropdown-menu .dropdown-item,
.process-results-dashboard .dropdown-menu .dropdown-item,
.apptify-body-context-menu .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
    min-height: 40px !important;
    padding: .55rem .85rem !important;
    border-radius: 6px !important;
    color: #26364d !important;
    font-weight: 600 !important;
}

.apptify-data-shell .dropdown-menu .dropdown-item i,
.processes-table-shell .dropdown-menu .dropdown-item i,
.process-detail-content > .tab-pane > .bootstrap-table .dropdown-menu .dropdown-item i,
.process-results-dashboard .dropdown-menu .dropdown-item i,
.apptify-body-context-menu .dropdown-item i {
    width: 1.05rem !important;
    margin: 0 !important;
    color: #64748b !important;
    text-align: center !important;
}

.apptify-data-shell .dropdown-menu .dropdown-item.text-danger,
.processes-table-shell .dropdown-menu .dropdown-item.text-danger,
.process-detail-content > .tab-pane > .bootstrap-table .dropdown-menu .dropdown-item.text-danger,
.process-results-dashboard .dropdown-menu .dropdown-item.text-danger,
.apptify-body-context-menu .dropdown-item.text-danger,
.apptify-data-shell .dropdown-menu .dropdown-item.text-danger i,
.processes-table-shell .dropdown-menu .dropdown-item.text-danger i,
.process-detail-content > .tab-pane > .bootstrap-table .dropdown-menu .dropdown-item.text-danger i,
.process-results-dashboard .dropdown-menu .dropdown-item.text-danger i,
.apptify-body-context-menu .dropdown-item.text-danger i {
    color: #dc3545 !important;
}

.apptify-actions-header {
    color: transparent !important;
}

.apptify-icon-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #40506a !important;
    box-shadow: none !important;
}

.apptify-icon-menu::after {
    display: none !important;
}

.apptify-icon-menu:hover,
.apptify-icon-menu:focus,
.apptify-icon-menu.show {
    background: #eef4ff !important;
    color: #0d6efd !important;
    box-shadow: none !important;
}

.user-email-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .4rem !important;
    min-width: 7rem !important;
    padding: .34rem .65rem !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.user-email-status i {
    font-size: .86rem !important;
}

.user-email-status.is-verified {
    border: 1px solid #bbf7d0 !important;
    background: #ecfdf3 !important;
    color: #166534 !important;
}

.user-email-status.is-pending {
    border: 1px solid #fed7aa !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
}

.user-last-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #334155 !important;
    font-size: .86rem !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.user-last-login.is-empty {
    color: #8090a8 !important;
    font-weight: 600 !important;
}

.users-table-shell .apptify-list-table {
    table-layout: fixed !important;
    width: 100% !important;
}

.users-table-shell .apptify-list-table > thead > tr > th,
.users-table-shell .apptify-list-table > tbody > tr > td {
    height: 58px !important;
    padding: .8rem 1rem !important;
    text-align: left !important;
}

.users-table-shell .apptify-list-table > thead > tr > th .th-inner {
    display: flex !important;
    align-items: center !important;
    min-height: 24px !important;
    width: 100% !important;
    padding: 0 1.15rem 0 0 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(1),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(1) {
    width: 23% !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(2),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(2) {
    width: 29% !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(3),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(3) {
    width: 12% !important;
    text-align: center !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(4),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(4) {
    width: 16% !important;
    text-align: center !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(5),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(5) {
    width: 16% !important;
    text-align: center !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(6),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(6) {
    width: 58px !important;
    min-width: 58px !important;
    padding-left: .55rem !important;
    padding-right: .55rem !important;
    text-align: center !important;
}

.users-table-shell .apptify-list-table > thead > tr > th:nth-child(n+3):nth-child(-n+6) .th-inner {
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
}

.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(1),
.users-table-shell .apptify-list-table > tbody > tr > td:nth-child(2) {
    overflow-wrap: anywhere !important;
}

.users-table-shell .apptify-icon-menu {
    margin-inline: auto !important;
}

.user-modal-dialog {
    max-width: 620px !important;
}

.user-modal-content {
    overflow: hidden !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important;
}

.user-modal-header {
    align-items: flex-start !important;
    gap: 1rem !important;
    padding: 1.15rem 1.25rem !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #ffffff !important;
}

.user-modal-heading {
    display: flex !important;
    align-items: flex-start !important;
    gap: .9rem !important;
    min-width: 0 !important;
}

.user-modal-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    background: #eef4ff !important;
    color: #0d6efd !important;
    font-size: 1.15rem !important;
}

.user-modal-heading span:not(.user-modal-icon) {
    display: block !important;
    color: #64748b !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.user-modal-heading .modal-title {
    margin: .12rem 0 .2rem !important;
    color: #0f172a !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.user-modal-heading p {
    margin: 0 !important;
    color: #64748b !important;
    line-height: 1.4 !important;
}

.user-modal-form {
    display: grid !important;
    gap: 1rem !important;
}

.user-modal-field {
    margin: 0 !important;
}

.user-modal-field .form-control {
    border-radius: 8px !important;
}

.user-modal-field .form-control.is-invalid {
    border-color: #dc3545 !important;
    background-image: none !important;
    box-shadow: 0 0 0 .18rem rgba(220, 53, 69, .1) !important;
}

.user-field-error {
    display: flex !important;
    align-items: center !important;
    gap: .45rem !important;
    margin-top: -.65rem !important;
    color: #b4232f !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.user-field-error::before {
    content: "!";
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: #dc3545 !important;
    color: #fff !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.user-field-error.d-none {
    display: none !important;
}

.user-access-email-notice {
    display: flex !important;
    align-items: flex-start !important;
    gap: .55rem !important;
    margin-top: -.45rem !important;
    padding: .55rem .7rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fbfdff !important;
    color: #52627a !important;
}

.user-access-email-notice i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #0d6efd !important;
    font-size: .95rem !important;
}

.user-access-email-notice strong {
    display: block !important;
    color: #334155 !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.user-access-email-notice span {
    display: block !important;
    margin-top: .05rem !important;
    color: #52627a !important;
    font-size: .88rem !important;
    line-height: 1.35 !important;
}

.user-access-email-notice.is-edit {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
}

.user-access-email-notice.is-edit i {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

.user-role-field {
    display: grid !important;
    gap: .65rem !important;
}

.user-role-field-header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

.user-role-field-header span {
    color: #0f172a !important;
    font-weight: 800 !important;
}

.user-role-field-header small {
    color: #64748b !important;
    text-align: right !important;
}

.user-role-segmented {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: .6rem !important;
}

.user-role-option {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .2rem .65rem !important;
    min-height: 76px !important;
    padding: .8rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0f172a !important;
    text-align: left !important;
    box-shadow: none !important;
}

.user-role-option i {
    grid-row: span 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
}

.user-role-option span {
    font-weight: 800 !important;
}

.user-role-option small {
    color: #64748b !important;
    line-height: 1.25 !important;
}

.user-role-option:hover,
.user-role-option:focus {
    border-color: #93c5fd !important;
    background: #f8fbff !important;
    box-shadow: 0 0 0 .18rem rgba(13, 110, 253, .1) !important;
}

.user-role-option.is-selected {
    border-color: #0d6efd !important;
    background: #eef4ff !important;
    color: #0b4eb3 !important;
}

.user-role-option.is-selected i {
    background: #0d6efd !important;
    color: #fff !important;
}

.user-role-segmented.user-role-invalid .user-role-option {
    border-color: #dc3545 !important;
    background: #fff5f6 !important;
}

.user-role-segmented.user-role-invalid .user-role-option i {
    background: #fee2e2 !important;
    color: #b4232f !important;
}

.user-role-option:disabled {
    cursor: not-allowed !important;
    opacity: .65 !important;
}

.user-role-loading,
.user-role-empty {
    padding: .85rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    color: #64748b !important;
    background: #f8fafc !important;
}

.user-company-context {
    display: flex !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: .85rem 1rem !important;
    border: 1px solid #dbeafe !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
}

.user-company-context i {
    color: #0d6efd !important;
    font-size: 1.1rem !important;
}

.user-company-context span {
    display: block !important;
    color: #64748b !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.user-company-context strong {
    display: block !important;
    color: #0f172a !important;
    font-weight: 800 !important;
}

.user-modal-footer {
    gap: .6rem !important;
    padding: 1rem 1.25rem !important;
    border-top: 1px solid #e8edf3 !important;
}

.user-modal-footer .btn {
    min-height: 40px !important;
    font-weight: 700 !important;
}

@media (max-width: 575.98px) {
    .user-modal-dialog {
        margin: .75rem !important;
    }

    .user-modal-heading {
        gap: .75rem !important;
    }

    .user-role-field-header {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: .25rem !important;
    }

    .user-role-field-header small {
        text-align: left !important;
    }

    .user-role-segmented {
        grid-template-columns: 1fr !important;
    }
}

.apptify-icon-menu i {
    margin: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
}

.apptify-data-shell .apptify-icon-menu.dropdown-toggle,
.processes-table-shell .apptify-icon-menu.dropdown-toggle,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-icon-menu.dropdown-toggle,
.process-results-dashboard .apptify-icon-menu.dropdown-toggle {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #40506a !important;
    box-shadow: none !important;
}

.apptify-data-shell .apptify-icon-menu.dropdown-toggle:hover,
.apptify-data-shell .apptify-icon-menu.dropdown-toggle:focus,
.apptify-data-shell .apptify-icon-menu.dropdown-toggle.show,
.processes-table-shell .apptify-icon-menu.dropdown-toggle:hover,
.processes-table-shell .apptify-icon-menu.dropdown-toggle:focus,
.processes-table-shell .apptify-icon-menu.dropdown-toggle.show,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-icon-menu.dropdown-toggle:hover,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-icon-menu.dropdown-toggle:focus,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-icon-menu.dropdown-toggle.show,
.process-results-dashboard .apptify-icon-menu.dropdown-toggle:hover,
.process-results-dashboard .apptify-icon-menu.dropdown-toggle:focus,
.process-results-dashboard .apptify-icon-menu.dropdown-toggle.show {
    background: #eef4ff !important;
    color: #0d6efd !important;
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    .apptify-data-shell .fixed-table-toolbar,
    .processes-table-shell .fixed-table-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: .85rem !important;
        padding: 1rem !important;
    }

    .app-table-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .app-table-actions {
        width: 100% !important;
        flex-direction: column !important;
    }

    .app-table-actions .btn {
        width: 100% !important;
    }

    .company-users-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 1rem !important;
    }

    .apptify-data-shell .fixed-table-toolbar .search,
    .processes-table-shell .fixed-table-toolbar .search {
        flex-basis: auto !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* EOF override: process detail tabs as a light section switcher */
.process-detail-tabs {
    display: flex !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 .6rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe3ee !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    scrollbar-width: none !important;
}

.process-detail-tabs::-webkit-scrollbar {
    display: none !important;
}

.process-detail-tabs .nav-item {
    flex: 0 0 auto !important;
    margin: 0 0 -1px !important;
}

.process-detail-tabs .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: .85rem 1.05rem !important;
    border: 1px solid transparent !important;
    border-bottom-color: transparent !important;
    border-radius: 8px 8px 0 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.process-detail-tabs .nav-item:first-child .nav-link {
    border-top-left-radius: 8px !important;
}

.process-detail-tabs .nav-item:last-child .nav-link {
    border-top-right-radius: 8px !important;
}

.process-detail-tabs .nav-link:hover {
    background: #f8fafc !important;
    color: #0d6efd !important;
}

.process-detail-tabs .nav-link.active {
    background: #fff !important;
    border-color: #dbe3ee !important;
    border-bottom-color: #fff !important;
    color: #0d6efd !important;
    box-shadow: none !important;
}

.process-detail-tabs .nav-link::before,
.process-detail-tabs .nav-link::after {
    display: none !important;
}

@media (max-width: 767.98px) {
    .process-detail-tabs .nav-link {
        min-height: 48px !important;
        padding: .75rem .95rem !important;
        font-size: .9rem !important;
        white-space: nowrap !important;
    }
}

/* Process detail: compact header and direct tab tables */
.process-detail-page {
    padding-top: .45rem !important;
    background: #f4f6f8 !important;
}

.process-detail-shell {
    background: transparent !important;
    box-shadow: none !important;
}

.process-detail-header {
    display: block !important;
    margin-bottom: 1.35rem !important;
    padding-left: .6rem !important;
}

.process-detail-title span {
    font-size: .72rem !important;
}

.process-detail-title h1 {
    margin-top: .18rem !important;
    font-size: 1.45rem !important;
    line-height: 1.12 !important;
}

.process-detail-content {
    padding: 1.25rem !important;
    background: #fff !important;
}

.process-detail-content > .tab-pane > .app-table-toolbar,
.process-detail-content > .tab-pane > .bootstrap-table {
    margin: 0 !important;
}

.process-detail-content > .tab-pane > .app-table-toolbar {
    padding: 0 0 .75rem !important;
}

.process-detail-content > .tab-pane > .bootstrap-table {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: .75rem 1rem !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #fff !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar .bs-bars {
    order: 2 !important;
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar .search {
    order: 1 !important;
    flex: 0 1 360px !important;
    width: min(360px, 100%) !important;
    margin: 0 !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar .search-input {
    width: 100% !important;
    min-height: 42px !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .fixed-table-container {
    border: 0 !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table {
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: .9rem !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > thead > tr > th {
    padding: .55rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #f8f9fb !important;
    color: #334155 !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > tbody > tr > td {
    padding: .82rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: .9rem !important;
    vertical-align: middle !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > tbody > tr:nth-child(even) > * {
    background: #fbfcfe !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > tbody > tr:hover > *,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > tbody > tr:focus-within > * {
    background: #f2f7ff !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-actions-header {
    color: transparent !important;
}

.process-detail-content > .tab-pane > .apptify-list-table {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    font-size: .9rem !important;
}

.process-detail-content > .tab-pane > .apptify-list-table > thead > tr > th {
    height: 42px !important;
    padding: .45rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #f8f9fb !important;
    color: #334155 !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
}

.process-detail-content > .tab-pane > .apptify-list-table > tbody > tr > td {
    padding: .82rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: .9rem !important;
    vertical-align: middle !important;
}

.process-detail-content > .tab-pane > .apptify-list-table > tbody > tr:nth-child(even) > * {
    background: #fbfcfe !important;
}

.process-detail-content > .tab-pane > .apptify-list-table > tbody > tr:hover > *,
.process-detail-content > .tab-pane > .apptify-list-table > tbody > tr:focus-within > * {
    background: #f2f7ff !important;
}

.process-detail-content > .tab-pane > .apptify-list-table .apptify-actions-header {
    color: transparent !important;
}

.process-detail-content > .tab-pane > .bootstrap-table .apptify-icon-menu {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
}

/* Shared page hierarchy and denser table headers */
.app-list-page,
.processes-list-page {
    padding: 1rem .85rem 1.5rem !important;
}

.app-page-header,
.processes-list-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin: 0 0 .9rem !important;
}

.app-page-header > div:first-child,
.processes-list-header > div:first-child {
    min-width: 0 !important;
}

.app-page-header span,
.processes-list-header span,
.process-detail-title span {
    display: block !important;
    margin-bottom: .25rem !important;
    color: #0468fd !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

.app-page-header h1,
.app-page-header h2,
.processes-list-header h1,
.process-detail-title h1 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
}

.app-page-header h2 {
    font-size: 1.2rem !important;
}

.app-page-header p,
.processes-list-header p {
    margin: .5rem 0 0 !important;
    color: #334155 !important;
    font-size: .92rem !important;
    line-height: 1.45 !important;
}

.app-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .4rem;
    margin-bottom: 1rem;
    color: #64748b;
    font-size: .82rem !important;
    line-height: 1.2;
}

.app-breadcrumb span {
    display: inline !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-transform: none !important;
}

.app-breadcrumb button,
.app-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #475569;
    font: inherit;
    font-weight: 600;
    text-decoration: none;
}

.app-breadcrumb button:hover,
.app-breadcrumb a:hover {
    color: #0d6efd;
}

.app-breadcrumb > i {
    color: #94a3b8;
    font-size: .72rem;
}

.app-section-header {
    margin-top: 1.5rem !important;
}

.app-page-actions,
.processes-toolbar {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .55rem !important;
    margin-left: auto !important;
}

.app-page-actions .btn,
.processes-toolbar .btn {
    min-height: 40px !important;
}

.apptify-data-shell .apptify-list-table > thead > tr > th,
.processes-table-shell .apptify-list-table > thead > tr > th,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > thead > tr > th,
.process-results-dashboard .apptify-list-table > thead > tr > th {
    height: 42px !important;
    padding-top: .45rem !important;
    padding-bottom: .45rem !important;
    line-height: 1.1 !important;
}

.apptify-data-shell .apptify-list-table > thead > tr > th:last-child,
.processes-table-shell .apptify-list-table > thead > tr > th:last-child,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > thead > tr > th:last-child,
.process-results-dashboard .apptify-list-table > thead > tr > th:last-child {
    width: 58px !important;
    min-width: 58px !important;
    text-align: right !important;
}

.apptify-data-shell .apptify-list-table > tbody > tr > td:last-child,
.processes-table-shell .apptify-list-table > tbody > tr > td:last-child,
.process-detail-content > .tab-pane > .bootstrap-table .apptify-list-table > tbody > tr > td:last-child,
.process-results-dashboard .apptify-list-table > tbody > tr > td:last-child {
    text-align: right !important;
}

@media (max-width: 767.98px) {
    .process-detail-page {
        padding-top: .65rem !important;
    }

    .process-detail-header {
        align-items: stretch !important;
    }

    .process-detail-content {
        padding: .85rem !important;
    }

    .process-detail-content > .tab-pane > .app-table-toolbar {
        padding-bottom: .75rem !important;
    }

    .process-detail-content > .tab-pane > .bootstrap-table {
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }

    .process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 0 0 .75rem !important;
        border: 0 !important;
        background: transparent !important;
    }

    .process-detail-content > .tab-pane > .bootstrap-table .fixed-table-toolbar .search {
        flex-basis: auto !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* EOF override: polished navbar and participant insight view */
.navbar.bg-primary {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1020 !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: .5rem 1rem !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: none !important;
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
}

.navbar.bg-primary ~ .bd-main {
    padding-top: 58px !important;
}

.navbar.bg-primary .container-fluid {
    align-items: center !important;
    min-height: 42px !important;
}

.navbar.bg-primary .navbar-brand {
    color: #111827 !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-left: auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-align: right !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.navbar.bg-primary .navbar-toggler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
    flex: 0 0 42px !important;
    line-height: 1 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.navbar.bg-primary .navbar-toggler:hover,
.navbar.bg-primary .navbar-toggler:focus {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .12) !important;
}

.navbar.bg-primary .navbar-toggler-icon {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    opacity: .7 !important;
    filter: invert(23%) sepia(13%) saturate(812%) hue-rotate(176deg) brightness(93%) contrast(89%) !important;
}

@media (max-width: 576px) {
    .navbar.bg-primary {
        min-height: 64px !important;
        padding: .55rem .9rem !important;
        padding-top: max(.55rem, env(safe-area-inset-top)) !important;
    }

    .navbar.bg-primary ~ .bd-main {
        padding-top: 64px !important;
    }

    .navbar.bg-primary .navbar-brand {
        font-size: .95rem !important;
        max-width: calc(100vw - 84px) !important;
    }
}

.participant-insight-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr) !important;
    gap: 1rem !important;
    align-items: start !important;
}

.participant-insight-panel {
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.participant-profile-panel,
.participant-summary-panel {
    padding: 1rem !important;
}

.participant-profile-panel {
    display: grid !important;
    gap: 1rem !important;
}

.participant-panel-heading {
    margin-bottom: .85rem !important;
}

.participant-panel-heading span {
    display: block !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.participant-panel-heading h3 {
    margin: .15rem 0 0 !important;
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.participant-profile-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    padding: 1rem !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.participant-avatar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #0d6efd !important;
    color: #fff !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.participant-profile-body {
    min-width: 0 !important;
}

.participant-profile-body h3 {
    margin: 0 !important;
    color: #0d6efd !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.participant-contact-list {
    display: grid !important;
    gap: .35rem !important;
    margin-top: .65rem !important;
}

.participant-contact-list span {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    min-width: 0 !important;
    color: #334155 !important;
    overflow-wrap: anywhere !important;
}

.participant-contact-list i,
.participant-status-row i {
    line-height: 1 !important;
}

.participant-status-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    margin-top: .75rem !important;
}

.participant-status-row span {
    display: inline-flex !important;
    align-items: center !important;
    gap: .35rem !important;
    padding: .35rem .55rem !important;
    border-radius: 999px !important;
    background: #eef4ff !important;
    color: #315f9f !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.participant-status-row .is-ok {
    background: #eaf5f0 !important;
    color: #006c45 !important;
}

.participant-status-row .is-danger {
    background: #fff1f2 !important;
    color: #b4232f !important;
}

.participant-status-row .is-muted {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

.participant-chart-panel {
    padding-top: 1rem !important;
    border-top: 1px solid #e8edf3 !important;
}

.participant-chart-note {
    max-width: 620px !important;
    margin: -.35rem 0 .75rem !important;
    color: #475569 !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
}

.participant-chart-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .65rem 1rem !important;
    margin: 0 0 .5rem !important;
    color: #475569 !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
}

.participant-chart-legend span {
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
}

.legend-line {
    display: inline-block !important;
    width: 26px !important;
    height: 0 !important;
    border-top: 2px solid #0d6efd !important;
}

.legend-line-target {
    border-top-style: dashed !important;
    border-top-color: #94a3b8 !important;
}

.legend-line-candidate {
    border-top-color: #0d6efd !important;
}

.participant-radar-chart {
    width: 100% !important;
    height: 360px !important;
    min-height: 320px !important;
}

.participant-pattern-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid #e8edf3 !important;
}

.participant-pattern-sort {
    flex: 0 0 auto !important;
    padding: .2rem !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.participant-pattern-sort .btn {
    border: 0 !important;
    border-radius: 6px !important;
    color: #475569 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.participant-pattern-sort .btn.active {
    background: #0d6efd !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(13, 110, 253, .18) !important;
}

.participant-pattern-list {
    display: grid !important;
    gap: .65rem !important;
}

.participant-pattern-item {
    padding: .85rem !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.participant-pattern-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    margin-bottom: .65rem !important;
}

.participant-pattern-title strong {
    min-width: 0 !important;
    color: #0f172a !important;
    font-size: .95rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

.participant-pattern-title span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: .2rem .55rem !important;
    border-radius: 999px !important;
    background: #eef4ff !important;
    color: #315f9f !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.company-users-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 1.1rem 1.25rem !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #fff !important;
}

.company-users-table-shell .table-responsive {
    margin: 0 !important;
}

.company-users-empty {
    padding: 1.3rem !important;
    color: #64748b !important;
    text-align: center !important;
}

.company-users-table-shell.company-users-table-shell-error {
    border-color: #f1aeb5 !important;
    box-shadow: 0 0 0 .18rem rgba(220, 53, 69, .08) !important;
}

.company-users-validation-error {
    display: flex !important;
    align-items: flex-start !important;
    gap: .75rem !important;
    margin: 1rem 1.25rem 0 !important;
    padding: .85rem 1rem !important;
    border: 1px solid #f1aeb5 !important;
    border-radius: 8px !important;
    background: #fff5f6 !important;
    color: #842029 !important;
    outline: 0 !important;
}

.company-users-validation-error i {
    flex: 0 0 auto !important;
    color: #dc3545 !important;
    font-size: 1.1rem !important;
    line-height: 1.35 !important;
}

.company-users-validation-copy {
    display: grid !important;
    gap: .12rem !important;
}

.company-users-validation-copy strong {
    color: #842029 !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.company-users-validation-copy span {
    color: #9f2b37 !important;
    line-height: 1.35 !important;
}

.process-detail-tabs .nav-link.company-tab-has-error {
    color: #b4232f !important;
}

.process-detail-tabs .nav-link.company-tab-has-error i {
    color: #dc3545 !important;
}

.company-users-primary-action-highlight {
    box-shadow: 0 0 0 .22rem rgba(13, 110, 253, .18) !important;
}

.company-user-notify-switch {
    display: flex !important;
    align-items: center !important;
    gap: .95rem !important;
    min-height: 64px !important;
    margin-top: 1rem !important;
    padding: .85rem 1rem .85rem 4.5rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #f8fbff !important;
}

.company-user-notify-switch .form-check-input {
    width: 3.25rem !important;
    height: 1.8rem !important;
    margin-left: -3.55rem !important;
    margin-top: 0 !important;
    border-width: 2px !important;
    cursor: pointer !important;
}

.company-user-notify-switch .form-check-input:checked {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.company-user-notify-switch .form-check-label {
    margin: 0 !important;
    color: #17212f !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
}

.participant-pattern-item.is-aligned .participant-pattern-title span {
    background: #eaf5f0 !important;
    color: #006c45 !important;
}

.participant-pattern-item.is-close .participant-pattern-title span {
    background: #eef4ff !important;
    color: #315f9f !important;
}

.participant-pattern-item.is-deviated .participant-pattern-title span {
    background: #fff7e6 !important;
    color: #946200 !important;
}

.participant-pattern-item.is-far .participant-pattern-title span {
    background: #fff1f2 !important;
    color: #b4232f !important;
}

.participant-pattern-meter {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #edf2f7 !important;
    cursor: pointer !important;
    appearance: none !important;
}

.participant-pattern-meter i {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #0d6efd !important;
}

.participant-pattern-item.is-aligned .participant-pattern-meter i {
    background: #0f9f6e !important;
}

.participant-pattern-item.is-deviated .participant-pattern-meter i {
    background: #f59f00 !important;
}

.participant-pattern-item.is-far .participant-pattern-meter i {
    background: #dc3545 !important;
}

.participant-pattern-toggle:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .22) !important;
    outline-offset: 3px !important;
}

.participant-pattern-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem .8rem !important;
    margin-top: .65rem !important;
    color: #475569 !important;
    font-size: .8rem !important;
    line-height: 1.3 !important;
}

.participant-pattern-meta strong {
    color: #0f172a !important;
    font-weight: 850 !important;
}

.participant-pattern-criteria {
    gap: .35rem !important;
    margin-top: .65rem !important;
}

.participant-pattern-criteria.show,
.participant-pattern-criteria.collapsing {
    display: grid !important;
}

.participant-pattern-criteria.collapse:not(.show) {
    display: none !important;
}

.participant-pattern-criteria span {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    padding: .45rem .55rem !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #334155 !important;
}

.participant-pattern-criteria strong {
    color: #0f172a !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
}

.participant-pattern-criteria small {
    color: #475569 !important;
    font-size: .78rem !important;
    text-align: right !important;
}

.participant-score-card {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
    margin-bottom: 1rem !important;
}

.participant-score-card div {
    padding: .85rem !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.participant-score-card span {
    display: block !important;
    color: #64748b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.participant-score-card strong {
    display: block !important;
    margin-top: .2rem !important;
    color: #0f172a !important;
    font-size: 1.7rem !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
}

.participant-summary-copy {
    margin: 0 !important;
    color: #334155 !important;
    line-height: 1.55 !important;
}

.participant-conclusions {
    margin-top: 1rem !important;
}

.participant-conclusions .list-group {
    display: grid !important;
    gap: .5rem !important;
}

.participant-conclusions .list-group-item {
    margin: 0 !important;
    padding: .85rem 1rem !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0f172a !important;
    line-height: 1.45 !important;
}

#results > .pt-3 > h3,
#results > .pt-3 > p {
    display: none !important;
}

.process-results-dashboard {
    display: grid !important;
    gap: 1rem !important;
}

.process-results-dashboard .bootstrap-table {
    overflow: hidden !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.process-results-dashboard .fixed-table-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 1.1rem 1.25rem !important;
    border-bottom: 1px solid #dbe3ee !important;
}

.process-results-dashboard .fixed-table-toolbar .bs-bars {
    order: 2 !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
}

.process-results-dashboard .fixed-table-toolbar .search {
    order: 1 !important;
    flex: 0 1 360px !important;
    width: min(360px, 100%) !important;
    margin: 0 !important;
}

.process-results-dashboard .fixed-table-toolbar .search-input {
    width: 100% !important;
    min-height: 42px !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.process-results-dashboard .fixed-table-container {
    border: 0 !important;
}

.process-results-dashboard .fixed-table-pagination {
    padding: .85rem 1rem !important;
    color: #52627a !important;
}

.process-results-dashboard .apptify-list-table {
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: .9rem !important;
}

.process-results-dashboard .apptify-list-table > thead > tr > th {
    padding: .8rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe3ee !important;
    background: #f8f9fb !important;
    color: #334155 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.process-results-dashboard .apptify-list-table > tbody > tr > td {
    padding: .82rem .9rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf3 !important;
    background: #fff !important;
    color: #0f172a !important;
    vertical-align: middle !important;
}

#patternResultsTable .pattern-matrix-check-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

#patternResultsTable .pattern-matrix-participant {
    margin: 0;
}

.process-results-dashboard .apptify-list-table > tbody > tr:nth-child(even) > * {
    background: #fbfcfe !important;
}

.process-results-dashboard .apptify-list-table > tbody > tr:hover > *,
.process-results-dashboard .apptify-list-table > tbody > tr:focus-within > * {
    background: #f2f7ff !important;
}

.process-results-summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: .75rem !important;
}

.process-result-card {
    padding: 1rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.process-result-card span {
    display: block !important;
    color: #64748b !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.process-result-card strong {
    display: block !important;
    margin-top: .25rem !important;
    color: #0f172a !important;
    font-size: 1.75rem !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
}

.process-result-card small {
    display: block !important;
    margin-top: .35rem !important;
    color: #52627a !important;
    font-size: .82rem !important;
}

.process-results-loading {
    display: inline-flex !important;
    align-items: center !important;
    gap: .5rem !important;
    color: #52627a !important;
    font-weight: 700 !important;
}

.result-score-pill,
.result-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 26px !important;
    padding: .22rem .62rem !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.result-score-pill.is-high,
.result-status-pill.is-success {
    background: #eaf5f0 !important;
    color: #006c45 !important;
}

.result-score-pill.is-medium {
    background: #eef4ff !important;
    color: #315f9f !important;
}

.result-score-pill.is-low,
.result-status-pill.is-warning {
    background: #fff7e6 !important;
    color: #946200 !important;
}

.result-status-pill.is-danger {
    background: #fff1f2 !important;
    color: #b4232f !important;
}

.result-score-pill.is-muted,
.result-status-pill.is-muted {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

@media (max-width: 991.98px) {
    .participant-insight-grid {
        grid-template-columns: 1fr !important;
    }

    .process-results-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575.98px) {
    .participant-profile-card {
        flex-direction: column !important;
    }

    .participant-score-card {
        grid-template-columns: 1fr !important;
    }

    .process-results-summary {
        grid-template-columns: 1fr !important;
    }

    .participant-pattern-heading {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .participant-pattern-sort {
        width: 100% !important;
    }

    .participant-pattern-sort .btn {
        flex: 1 1 0 !important;
    }

    .participant-pattern-title,
    .participant-pattern-criteria span {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .participant-pattern-criteria small {
        text-align: left !important;
    }
}
.pattern-study-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.pattern-study-dashboard-card {
    border: 1px solid var(--apptify-border, #d7e1ee);
    border-radius: 8px;
    background: #fff;
    padding: 18px;
}

.pattern-study-dashboard-card .label {
    color: var(--apptify-muted, #5f6f86);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.pattern-study-dashboard-card .value {
    color: var(--apptify-ink, #06142b);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.1;
    margin-top: 4px;
}

.pattern-study-dashboard-card .meta {
    color: var(--apptify-muted, #5f6f86);
    font-size: 14px;
    margin-top: 6px;
}

.pattern-study-insight-list {
    display: grid;
    gap: 10px;
}

.pattern-study-insight {
    border: 1px solid var(--apptify-border, #d7e1ee);
    border-radius: 8px;
    background: #fff;
    padding: 14px 16px;
}

@media (max-width: 991.98px) {
    .pattern-study-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .pattern-study-dashboard-grid {
        grid-template-columns: 1fr;
    }
}
.admin-version-panel {
    border: 1px solid var(--apptify-border, #d7e1ee);
    border-radius: 8px;
    background: #f8fafc;
    padding: 16px;
    margin-top: 16px;
    display: grid;
    gap: 14px;
}

.admin-version-panel span {
    display: block;
    color: var(--apptify-muted, #5f6f86);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-version-panel strong {
    display: block;
    color: var(--apptify-ink, #06142b);
    font-size: 24px;
    line-height: 1.15;
    margin-top: 4px;
}

.admin-version-panel small {
    display: block;
    color: var(--apptify-muted, #5f6f86);
    margin-top: 4px;
}

.admin-version-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
}

@media (max-width: 575.98px) {
    .admin-version-form {
        grid-template-columns: 1fr;
    }
}

.backend-tests-shell {
    display: grid !important;
    gap: 1rem !important;
    padding: 1rem !important;
}

.backend-tests-status {
    align-items: center;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    display: flex;
    gap: .65rem;
    margin: 0;
    padding: .85rem 1rem;
    font-weight: 700;
}

.backend-tests-status i {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    width: 1.25rem;
}

.backend-tests-status-info {
    background: #eef6ff;
    border-color: #cfe3ff;
    color: #174b8a;
}

.backend-tests-status-success {
    background: #eaf7f0;
    border-color: #cbead8;
    color: #11623c;
}

.backend-tests-status-warning {
    background: #fff7df;
    border-color: #ffe6a6;
    color: #805800;
}

.backend-tests-status-danger {
    background: #fff0f2;
    border-color: #ffd0d7;
    color: #9f1239;
}

.backend-tests-summary {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.backend-tests-metric {
    background: #fff;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    min-height: 104px;
    padding: .95rem;
}

.backend-tests-metric span {
    color: #64748b;
    display: block;
    font-size: .73rem !important;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.backend-tests-metric strong {
    color: #0f172a;
    display: block;
    font-size: 1.75rem !important;
    font-weight: 850;
    line-height: 1.05;
    margin-top: .3rem;
}

.backend-tests-metric small {
    color: #52627a;
    display: block;
    font-size: .8rem !important;
    line-height: 1.25;
    margin-top: .35rem;
}

.backend-tests-metric.is-success strong {
    color: #148653;
}

.backend-tests-metric.is-warning strong {
    color: #9a6a00;
}

.backend-tests-metric.is-danger strong {
    color: #c21f3a;
}

.backend-tests-list-header {
    align-items: flex-end;
    border-top: 1px solid #e7edf5;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-top: .9rem;
}

.backend-tests-list-header span {
    color: #64748b;
    display: block;
    font-size: .75rem !important;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.backend-tests-list-header h2 {
    color: #0f172a;
    font-size: 1.05rem !important;
    font-weight: 800;
    line-height: 1.2;
    margin: .2rem 0 0;
}

.backend-tests-list-header small {
    color: #64748b;
    font-size: .82rem !important;
    line-height: 1.35;
    max-width: 420px;
    text-align: right;
}

.backend-tests-list {
    display: grid;
    gap: .55rem;
}

.backend-tests-empty {
    border: 1px dashed #cfd9e8;
    border-radius: 8px;
    color: #64748b;
    padding: 1rem;
}

.backend-test-row {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-left-width: 4px;
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .9rem 1rem;
}

.backend-test-row.is-passed {
    border-left-color: #148653;
}

.backend-test-row.is-skipped {
    border-left-color: #94a3b8;
}

.backend-test-row.is-failed {
    background: #fff7f8;
    border-left-color: #dc3545;
}

.backend-test-section {
    color: #0468fd;
    display: block;
    font-size: .74rem !important;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: .25rem;
    text-transform: uppercase;
}

.backend-test-main h3 {
    color: #0f172a;
    font-size: .98rem !important;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.backend-test-main p {
    color: #52627a;
    font-size: .88rem !important;
    line-height: 1.4;
    margin: .3rem 0 0;
}

.backend-test-message {
    color: #9f1239;
    font-size: .82rem !important;
    font-weight: 700;
    margin-top: .45rem;
}

.backend-test-meta {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .45rem;
    min-width: 92px;
}

.backend-test-meta > span:last-child {
    color: #64748b;
    font-size: .78rem !important;
    font-weight: 700;
}

.backend-tests-badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: .72rem !important;
    font-weight: 850;
    line-height: 1;
    padding: .32rem .55rem;
}

.backend-tests-badge-pass {
    background: #148653;
    color: #fff;
}

.backend-tests-badge-skip {
    background: #e2e8f0;
    color: #475569;
}

.backend-tests-badge-fail {
    background: #dc3545;
    color: #fff;
}

@media (max-width: 992px) {
    .backend-tests-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .backend-tests-list-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .backend-tests-list-header small {
        max-width: none;
        text-align: left;
    }
}

@media (max-width: 640px) {
    #backend_tests-tab-pane {
        padding-left: .7rem !important;
        padding-right: .7rem !important;
    }

    .backend-tests-page {
        padding: 1rem 0 1.25rem !important;
    }

    .backend-tests-page .app-page-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .85rem !important;
        margin-bottom: .8rem !important;
    }

    .backend-tests-page .app-page-header p {
        max-width: none !important;
    }

    .backend-tests-page .app-page-header .btn {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: center !important;
        justify-self: stretch !important;
        min-height: 44px !important;
        padding: .65rem .9rem !important;
        width: 100% !important;
    }

    .backend-tests-shell {
        border-radius: 8px !important;
        gap: .85rem !important;
        padding: .75rem !important;
    }

    .backend-tests-status {
        align-items: flex-start;
        padding: .8rem .85rem;
    }

    .backend-tests-list-header {
        padding: .85rem 0 0;
    }

    .backend-tests-summary {
        grid-template-columns: 1fr;
    }

    .backend-tests-metric {
        min-height: 0;
        padding: .85rem;
    }

    .backend-tests-metric strong {
        font-size: 1.45rem !important;
    }

    .backend-test-row {
        align-items: flex-start;
        gap: .7rem;
        grid-template-columns: 1fr;
        padding: .85rem;
    }

    .backend-test-meta {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
}

.apptify-navbar-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: .75rem !important;
}

.apptify-navbar-brand img {
    display: block;
    width: auto;
    height: 36px;
    max-width: 148px;
    object-fit: contain;
    opacity: 1;
}

.apptify-navbar-brand span {
    display: none !important;
}

.apptify-sidebar-brand {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: .75rem !important;
    min-height: 42px;
}

.apptify-sidebar-brand img {
    display: block;
    width: auto;
    height: 38px;
    max-width: 156px;
    object-fit: contain;
}

.auth-logo {
    display: block;
    width: min(260px, 72vw);
    height: auto;
    max-height: 96px;
    object-fit: contain;
    margin: 0 auto 1.25rem;
}

.chat-brand-logo {
    display: inline-block;
    width: auto;
    height: 32px;
    max-width: 190px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.apptify-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 210px;
    padding: 1.5rem 1rem;
    color: var(--apptify-text, #0f172a);
}

.apptify-loader--page {
    min-height: min(360px, calc(100vh - 180px));
}

.apptify-loader--inline {
    min-height: 150px;
    padding: 1rem;
}

.apptify-loader--compact {
    min-height: 96px;
    padding: .75rem;
}

.apptify-loader__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    width: min(360px, 100%);
    padding: 1rem;
    text-align: center;
}

.apptify-loader__copy strong,
.apptify-loader__copy span {
    display: block;
}

.apptify-loader__copy strong {
    color: var(--apptify-text, #0f172a);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.2;
}

.apptify-loader__copy span {
    margin-top: .22rem;
    max-width: 320px;
    margin-inline: auto;
    color: var(--apptify-muted, #5f6f86);
    font-size: .84rem;
    line-height: 1.35;
}

.apptify-triangle-loader {
    position: relative;
    width: 86px;
    height: 76px;
    display: grid;
    place-items: center;
    isolation: isolate;
}

.apptify-triangle-loader::before {
    content: "";
    position: absolute;
    inset: 5px 2px 0;
    z-index: 0;
    border-radius: 999px;
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 216, 0, .28), transparent 32%),
        radial-gradient(circle at 83% 82%, rgba(120, 224, 43, .26), transparent 34%),
        radial-gradient(circle at 14% 82%, rgba(18, 196, 243, .24), transparent 34%);
    filter: blur(13px);
    animation: apptify-loader-glow 1.65s ease-in-out infinite;
}

.apptify-triangle-loader__path {
    position: relative;
    z-index: 2;
    width: 72px;
    height: 64px;
    background: url("../img/logo.png") center / contain no-repeat;
    filter: drop-shadow(0 12px 22px rgba(22, 139, 246, .16));
    animation: apptify-loader-breathe 1.65s ease-in-out infinite;
}

.apptify-triangle-loader__pulse {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 74px;
    height: 74px;
    border: 1px solid rgba(18, 112, 255, .18);
    border-radius: 999px;
    transform: translate(-50%, -50%) scale(.82);
    animation: apptify-loader-pulse 1.65s ease-out infinite;
}

@keyframes apptify-loader-glow {
    0%, 100% {
        opacity: .72;
        transform: scale(.96);
    }
    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

@keyframes apptify-loader-breathe {
    0%, 100% {
        transform: translateY(0) scale(1);
        filter: saturate(1) brightness(1) drop-shadow(0 12px 22px rgba(22, 139, 246, .16));
    }
    50% {
        transform: translateY(-2px) scale(1.045);
        filter: saturate(1.16) brightness(1.04) drop-shadow(0 16px 28px rgba(22, 139, 246, .2));
    }
}

@keyframes apptify-loader-pulse {
    0% {
        opacity: .66;
        transform: translate(-50%, -50%) scale(.74);
    }
    70%, 100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.22);
    }
}

@media (prefers-reduced-motion: reduce) {
    .apptify-triangle-loader::before,
    .apptify-triangle-loader__path,
    .apptify-triangle-loader__pulse {
        animation: none;
    }
}

/* Shared Apptify animated triangle loader. */
.apptify-triangle-loader {
    --track-size: 28px;
    --p1x: 66px;
    --p1y: 23px;
    --p2x: 104px;
    --p2y: 90px;
    --p3x: 29px;
    --p3y: 90px;
    position: relative;
    width: 132px;
    height: 112px;
    overflow: visible;
    isolation: isolate;
}

.apptify-triangle-loader::before {
    content: "";
    position: absolute;
    inset: 0 -3px 2px;
    z-index: 0;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 20%, rgba(255, 216, 0, .24), transparent 31%),
        radial-gradient(circle at 87% 83%, rgba(120, 224, 43, .23), transparent 34%),
        radial-gradient(circle at 13% 83%, rgba(18, 196, 243, .22), transparent 34%);
    filter: blur(14px);
    opacity: .95;
    animation: apptify-mark-glow 1.8s ease-in-out infinite;
}

.apptify-triangle-loader::after {
    content: none;
}

.apptify-triangle-loader__path,
.apptify-triangle-loader__path::before,
.apptify-triangle-loader__path::after {
    position: absolute;
    display: block;
    content: "";
}

.apptify-triangle-loader__path {
    left: 0;
    top: 0;
    z-index: 3;
    width: 132px;
    height: 112px;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20132%20112%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3ClinearGradient%20id%3D%22left%22%20x1%3D%2229%22%20y1%3D%2290%22%20x2%3D%2266%22%20y2%3D%2223%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2328d4df%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220.52%22%20stop-color%3D%22%23119ff2%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231477ff%22%2F%3E%0A%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%20%20%3ClinearGradient%20id%3D%22base%22%20x1%3D%2229%22%20y1%3D%2290%22%20x2%3D%22104%22%20y2%3D%2290%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2315c8f3%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220.48%22%20stop-color%3D%22%2330d8d9%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2381df2e%22%2F%3E%0A%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%20%20%3ClinearGradient%20id%3D%22right%22%20x1%3D%2266%22%20y1%3D%2223%22%20x2%3D%22104%22%20y2%3D%2290%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ffdc00%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%220.45%22%20stop-color%3D%22%23cde900%22%2F%3E%0A%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2377df2e%22%2F%3E%0A%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20d%3D%22M29%2090%20L66%2023%22%20fill%3D%22none%22%20stroke%3D%22url(%23left)%22%20stroke-width%3D%2228%22%20stroke-linecap%3D%22round%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M29%2090%20L104%2090%22%20fill%3D%22none%22%20stroke%3D%22url(%23base)%22%20stroke-width%3D%2228%22%20stroke-linecap%3D%22round%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M66%2023%20L104%2090%22%20fill%3D%22none%22%20stroke%3D%22url(%23right)%22%20stroke-width%3D%2228%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E") center / 132px 112px no-repeat;
    box-shadow: none;
    filter: drop-shadow(0 14px 28px rgba(19, 181, 246, .14));
    animation: apptify-mark-breathe 1.8s ease-in-out infinite;
}

.apptify-triangle-loader__path::before,
.apptify-triangle-loader__path::after {
    display: none;
}

.apptify-triangle-loader__pulse {
    display: none !important;
}

.apptify-triangle-loader__corner {
    position: absolute;
    z-index: 1;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(circle, currentColor 0 18%, color-mix(in srgb, currentColor 34%, transparent) 48%, transparent 72%);
    filter: blur(7px);
    transform: translate(-50%, -50%) scale(.72);
    animation: apptify-corner-aura 1.8s ease-out infinite;
}

.apptify-triangle-loader__corner--one {
    left: var(--p1x);
    top: var(--p1y);
    color: #ffd700;
}

.apptify-triangle-loader__corner--two {
    left: var(--p2x);
    top: var(--p2y);
    color: #7bdc27;
    animation-delay: .6s;
}

.apptify-triangle-loader__corner--three {
    left: var(--p3x);
    top: var(--p3y);
    color: #13b5f6;
    animation-delay: 1.2s;
}

.apptify-triangle-loader__dot {
    position: absolute;
    z-index: 7;
    left: var(--p1x);
    top: var(--p1y);
    width: var(--track-size);
    height: var(--track-size);
    border-radius: 50%;
    color: #ffd700;
    background: radial-gradient(circle at 34% 30%, rgba(255, 255, 255, .68) 0 16%, currentColor 48%, color-mix(in srgb, currentColor 76%, #0f172a) 100%);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 7px color-mix(in srgb, currentColor 16%, transparent), 0 12px 24px rgba(15, 23, 42, .15);
    animation: apptify-dot-triangle 1.8s cubic-bezier(.45, 0, .25, 1) infinite;
}

.apptify-triangle-loader__dot::before,
.apptify-triangle-loader__dot::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: -1;
    pointer-events: none;
}

.apptify-triangle-loader__dot::before {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    background: radial-gradient(circle, color-mix(in srgb, currentColor 30%, transparent) 0 18%, color-mix(in srgb, currentColor 12%, transparent) 44%, transparent 72%);
    filter: blur(4px);
    opacity: .58;
    transform: translate(-50%, -50%) scale(.92);
    animation: apptify-dot-aura 1.8s cubic-bezier(.45, 0, .25, 1) infinite;
}

.apptify-triangle-loader__dot::after {
    width: 66px;
    height: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, currentColor 36%, transparent) 52%, transparent);
    filter: blur(5px);
    opacity: 0;
    transform-origin: 100% 50%;
    transform: translate(-105%, -50%) rotate(238deg) scaleX(.65);
    animation: apptify-dot-trail 1.8s cubic-bezier(.45, 0, .25, 1) infinite;
}

@keyframes apptify-mark-glow {
    0%, 100% {
        opacity: .75;
        transform: scale(.98);
    }
    50% {
        opacity: 1;
        transform: scale(1.03);
    }
}

@keyframes apptify-mark-breathe {
    0%, 100% {
        filter: saturate(1.02) brightness(1);
        transform: translateY(0) scale(1);
    }
    50% {
        filter: saturate(1.18) brightness(1.04);
        transform: translateY(-1px) scale(1.015);
    }
}

@keyframes apptify-dot-aura {
    0%, 100% {
        opacity: .38;
        transform: translate(-50%, -50%) scale(.82);
    }
    50% {
        opacity: .68;
        transform: translate(-50%, -50%) scale(1.08);
    }
}

@keyframes apptify-dot-trail {
    0%, 8%, 33%, 41%, 66%, 74%, 100% {
        opacity: 0;
    }
    14%, 27% {
        opacity: .82;
        transform: translate(-105%, -50%) rotate(238deg) scaleX(1);
    }
    47%, 60% {
        opacity: .78;
        transform: translate(-105%, -50%) rotate(0deg) scaleX(1);
    }
    80%, 93% {
        opacity: .78;
        transform: translate(-105%, -50%) rotate(60deg) scaleX(1);
    }
}

@keyframes apptify-dot-triangle {
    0%, 8% {
        left: var(--p1x);
        top: var(--p1y);
        color: #ffd700;
    }
    22% {
        color: #cde900;
    }
    33%, 41% {
        left: var(--p2x);
        top: var(--p2y);
        color: #7bdc27;
    }
    53% {
        color: #30d8d9;
    }
    66%, 74% {
        left: var(--p3x);
        top: var(--p3y);
        color: #13b5f6;
    }
    87% {
        color: #1477ff;
    }
    100% {
        left: var(--p1x);
        top: var(--p1y);
        color: #ffd700;
    }
}

@keyframes apptify-corner-aura {
    0%, 6% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(.72);
    }
    14% {
        opacity: .58;
        transform: translate(-50%, -50%) scale(1.08);
    }
    30%, 100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(2.1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .apptify-triangle-loader__path,
    .apptify-triangle-loader__dot,
    .apptify-triangle-loader__dot::before,
    .apptify-triangle-loader__dot::after,
    .apptify-triangle-loader__corner {
        animation: none;
    }

    .apptify-triangle-loader__dot {
        left: var(--p1x);
        top: var(--p1y);
    }

    .apptify-triangle-loader__dot::after,
    .apptify-triangle-loader__corner {
        opacity: 0;
    }
}

@media (max-width: 576px) {
    .apptify-navbar-brand img {
        height: 32px;
        max-width: 132px;
    }

    .apptify-navbar-brand span {
        display: none;
    }
}

/* Restored empirical analysis matrix styles from the newer study-matrix workspace copy. */
    }
}

.pattern-population-analytics {
    padding: 1.25rem 0 0;
    max-width: 100%;
    overflow-x: hidden;
}

.pattern-population-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin-bottom: 1rem;
}

.pattern-population-overview article,
.pattern-population-card,
.pattern-population-empty {
    background: #fff;
    border: 1px solid var(--apptify-border, #d8e1ec);
    border-radius: 8px;
}

.pattern-population-overview article {
    padding: 1rem;
}

.pattern-population-overview span,
.pattern-population-card header p,
.pattern-signal-note,
.pattern-criterion span {
    color: #53647a;
}

.pattern-population-overview span {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pattern-population-overview strong {
    display: block;
    color: #111827;
    font-size: 1.9rem;
    line-height: 1.1;
    margin-top: .25rem;
}

.pattern-population-overview small {
    color: #53647a;
}

.pattern-population-note,
.pattern-population-empty {
    padding: 1rem;
    margin-bottom: 1rem;
}

.pattern-population-note {
    background: #f5f9ff;
    border: 1px solid #cfe0f6;
    border-radius: 8px;
    color: #27476f;
}

.pattern-analysis-grid {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    max-width: 100%;
    min-width: 0;
}

.pattern-analysis-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    min-width: 0;
}

.pattern-correlation-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.pattern-analysis-card__header {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-left: .8rem;
}

.pattern-analysis-card__header::before,
.pattern-section-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: .12rem;
    bottom: .12rem;
    width: 3px;
    border-radius: 999px;
    background: #bfdbfe;
}

.pattern-analysis-card__header span,
.pattern-section-heading span {
    display: block;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.15;
    text-transform: uppercase;
}

.pattern-analysis-card__header h3,
.pattern-section-heading h3 {
    margin: 0;
    color: #111827;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.18;
}

.pattern-analysis-card__header p,
.pattern-section-heading p {
    margin: .05rem 0 0;
    color: #475569;
    font-size: .9rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.pattern-factor-score-list {
    display: grid;
    gap: .65rem;
}

.pattern-factor-score {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .7rem;
    border: 1px solid #e5ebf2;
    border-radius: 8px;
    background: #fbfdff;
}

.pattern-factor-score__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #0d6efd;
    font-weight: 800;
}

.pattern-factor-score h4 {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0;
    color: #111827;
    font-size: .98rem;
    font-weight: 800;
}

.pattern-factor-score p {
    margin: .2rem 0 0;
    color: #53647a;
    font-size: .86rem;
}

.pattern-factor-score__meta {
    display: grid;
    justify-items: end;
    gap: .35rem;
}

.pattern-factor-score__meta strong {
    color: #111827;
    font-size: 1.2rem;
    line-height: 1;
}

.pattern-correlation-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .9rem;
    margin-bottom: .9rem;
    color: #53647a;
    font-size: .82rem;
}

.pattern-correlation-legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.pattern-correlation-legend i {
    width: .85rem;
    height: .85rem;
    border-radius: 3px;
}

.pattern-correlation-filter {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5ebf2;
    border-radius: 8px;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(10rem, auto) minmax(14rem, 1fr);
    margin: -.1rem 0 .9rem;
    padding: .75rem .85rem;
}

.pattern-correlation-filter span {
    color: #64748b;
    display: block;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.pattern-correlation-filter strong {
    color: #0f172a;
    display: inline-flex;
    font-size: .98rem;
    font-weight: 850;
    line-height: 1.2;
    margin-top: .12rem;
}

.pattern-correlation-filter small {
    color: #64748b;
    display: block;
    font-size: .76rem;
    line-height: 1.2;
    margin-top: .18rem;
}

.pattern-correlation-threshold {
    accent-color: #0d6efd;
    cursor: pointer;
    width: 100%;
}

.pattern-correlation-filter__control {
    display: grid;
    gap: .25rem;
}

.pattern-correlation-filter__scale {
    display: flex;
    justify-content: space-between;
}

.pattern-correlation-filter__scale span {
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 750;
    text-transform: none;
}

.pattern-correlation-hint {
    display: none;
    margin: -.25rem 0 .75rem;
    color: #66758a;
    font-size: .82rem;
}

.pattern-correlation-scroll {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-gutter: stable;
    touch-action: pan-x;
    padding-bottom: .35rem;
}

.pattern-correlation-table {
    width: 74rem;
    min-width: 74rem;
    max-width: none;
    border-collapse: separate;
    border-spacing: .25rem;
}

.pattern-correlation-table th {
    color: #34445b;
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
}

.pattern-correlation-table tbody th {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    text-align: left;
    min-width: 10.5rem;
    white-space: nowrap;
}

.pattern-correlation-table thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    background: #fff;
}

.pattern-correlation-table td {
    text-align: center;
    min-width: 3.75rem;
}

.pattern-correlation-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1rem;
    height: 2rem;
    border-radius: 7px;
    border: 1px solid transparent;
    background: #eef3f8;
    color: #44546a;
    font-size: .78rem;
    font-weight: 800;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease, transform .16s ease;
}

.pattern-correlation-cell.is-self {
    background: transparent;
    color: #b6c0cc;
    font-weight: 700;
}

.pattern-correlation-cell.is-pos-strong,
.pattern-correlation-legend .is-pos-strong {
    background: #c7f1dd;
    border-color: #9fe2c2;
    color: #007a4d;
}

.pattern-correlation-cell.is-pos,
.pattern-correlation-legend .is-pos {
    background: #d8efff;
    border-color: #b8def9;
    color: #075f9f;
}

.pattern-correlation-cell.is-neutral,
.pattern-correlation-legend .is-neutral {
    background: transparent;
    color: rgba(83, 100, 122, .34);
    font-size: .72rem;
    font-weight: 700;
}

.pattern-correlation-cell.is-weak,
.pattern-correlation-legend .is-weak {
    background: #f7fafc;
    border-color: #eef3f8;
    color: rgba(83, 100, 122, .55);
    font-size: .74rem;
    font-weight: 750;
}

.pattern-correlation-cell.is-neg,
.pattern-correlation-legend .is-neg {
    background: #fff0bf;
    border-color: #f7df9b;
    color: #805200;
}

.pattern-correlation-cell.is-neg-strong,
.pattern-correlation-legend .is-neg-strong {
    background: #ffdce5;
    border-color: #f5b5c5;
    color: #b4233c;
}

.pattern-correlation-cell.is-empty {
    background: transparent;
    color: rgba(154, 167, 182, .42);
}

.pattern-correlation-cell.is-filtered-out {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    opacity: 0 !important;
    pointer-events: none;
    transform: none !important;
}

.pattern-correlation-cell.is-pos-strong,
.pattern-correlation-cell.is-neg-strong {
    box-shadow: 0 4px 12px rgba(15, 23, 42, .08);
    font-weight: 900;
}

.pattern-correlation-cell.is-pos,
.pattern-correlation-cell.is-neg {
    font-weight: 850;
}

.pattern-correlation-cell:not(.is-self):hover,
.pattern-correlation-cell:not(.is-self):focus {
    opacity: 1;
    transform: translateY(-1px);
}

.pattern-correlation-legend .is-neutral {
    background: #f7fafc;
    border: 1px solid #e5ebf2;
}

.pattern-section-heading {
    position: relative;
    display: grid;
    gap: .18rem;
    margin: 1.25rem 0 .75rem;
    padding-left: .8rem;
}

.pattern-population-empty {
    color: #53647a;
}

.pattern-population-empty strong {
    display: block;
    color: #111827;
    margin-bottom: .35rem;
}

.pattern-population-empty p {
    margin: 0;
}

.pattern-population-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 100%;
    overflow: hidden;
}

.pattern-population-card {
    padding: 1rem;
    min-width: 0;
    overflow: hidden;
}

.pattern-population-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .9rem;
    min-width: 0;
}

.pattern-population-card__title {
    min-width: 0;
}

.pattern-population-card__score {
    display: grid;
    justify-items: end;
    gap: .35rem;
    flex: 0 0 auto;
}

.pattern-population-card__score strong {
    color: #111827;
    font-size: 1.15rem;
    line-height: 1;
}

.pattern-factor-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 .45rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #0d6efd;
    font-size: .78rem;
    font-weight: 800;
}

.pattern-population-card h3 {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    gap: .45rem;
}

.pattern-population-card header p {
    margin: .25rem 0 0;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.pattern-factor-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.35rem;
    height: 1.35rem;
    margin-top: -.05rem;
    border: 1px solid #b9d8ff;
    border-radius: 999px;
    background: #eef6ff;
    color: #0d6efd;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}

.pattern-factor-info:hover,
.pattern-factor-info:focus {
    border-color: #75adff;
    background: #dcecff;
    color: #0759d1;
    outline: none;
}

.pattern-factor-popover {
    display: grid;
    gap: .55rem;
    max-width: 28rem;
    color: #42526b;
    font-size: .88rem;
    line-height: 1.45;
}

.pattern-factor-popover p {
    margin: 0;
}

.pattern-factor-popover-shell {
    --bs-popover-max-width: 26rem;
    --bs-popover-border-color: #cfd8e3;
    --bs-popover-header-bg: #eef1f5;
    --bs-popover-header-color: #1f2937;
    --bs-popover-body-color: #42526b;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .14);
}

.pattern-signal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    border-radius: 999px;
    padding: .28rem .6rem;
    font-size: .78rem;
    font-weight: 700;
}

.pattern-signal.is-success {
    background: #e5f6ee;
    color: #007a4d;
}

.pattern-signal.is-warning {
    background: #fff4d8;
    color: #8a5a00;
}

.pattern-signal.is-info {
    background: #e6f1ff;
    color: #0b5ed7;
}

.pattern-signal.is-danger {
    background: #fde8ec;
    color: #b4233c;
}

.pattern-signal.is-muted {
    background: #eef3f8;
    color: #53647a;
}

.pattern-histogram {
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.pattern-histogram__row {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr) 1.75rem;
    align-items: center;
    gap: .55rem;
    font-size: .82rem;
    min-width: 0;
}

.pattern-histogram__row span {
    white-space: nowrap;
}

.pattern-histogram__track {
    height: .55rem;
    min-width: 0;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.pattern-histogram__track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1fb6ff, #19d3c5, #a7e914);
}

.pattern-signal-note {
    margin: .9rem 0 0;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.pattern-criteria-list {
    margin-top: .9rem;
    border-top: 1px solid #e5ebf2;
    padding-top: .75rem;
}

.pattern-criteria-list summary {
    cursor: pointer;
    color: #1f3b5d;
    font-weight: 700;
}

.pattern-criteria-list > div {
    display: grid;
    gap: .5rem;
    margin-top: .75rem;
}

.pattern-criterion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem;
    border-radius: 8px;
    background: #f8fafc;
}

.pattern-criterion strong,
.pattern-criterion span {
    display: block;
}

.pattern-criterion strong {
    color: #111827;
    font-size: .9rem;
}

.pattern-criterion span {
    font-size: .8rem;
}

.pattern-matrix-preview {
    display: grid;
    gap: .85rem;
}

.pattern-matrix-preview__header,
.pattern-matrix-empty,
.pattern-matrix-factor,
.pattern-matrix-overview article {
    background: #fff;
    border: 1px solid var(--apptify-border, #d8e1ec);
    border-radius: 8px;
}

.pattern-matrix-preview__header,
.pattern-matrix-empty {
    padding: .95rem;
}

.pattern-matrix-preview__header span,
.pattern-matrix-overview span {
    display: block;
    color: #60718a;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.pattern-matrix-preview__header h3 {
    margin: .12rem 0 .25rem;
    color: #111827;
    font-size: 1rem;
    font-weight: 800;
}

.pattern-matrix-preview__header p,
.pattern-matrix-empty p,
.pattern-matrix-factor p,
.pattern-matrix-overview small {
    margin: 0;
    color: #53647a;
    overflow-wrap: anywhere;
}

.pattern-matrix-empty strong {
    display: block;
    color: #111827;
    margin-bottom: .25rem;
}

.pattern-matrix-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.pattern-matrix-overview article {
    padding: .85rem;
    min-width: 0;
}

.pattern-matrix-overview strong {
    display: block;
    color: #111827;
    font-size: 1.35rem;
    line-height: 1.1;
    margin-top: .18rem;
}

.pattern-matrix-note {
    padding: .8rem .9rem;
    border: 1px solid #cfe0f6;
    border-radius: 8px;
    background: #f5f9ff;
    color: #27476f;
    font-size: .88rem;
}

.pattern-matrix-factor-list {
    display: grid;
    gap: .65rem;
}

.pattern-matrix-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.pattern-matrix-column {
    border: 1px solid #e5ebf2;
    border-radius: .75rem;
    padding: 1rem;
    background: #fff;
}

.pattern-matrix-column > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.pattern-matrix-column > header span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.pattern-matrix-column > header strong {
    color: #111827;
    font-size: .95rem;
}

.pattern-matrix-factor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: .75rem;
    align-items: start;
    padding: .85rem;
    min-width: 0;
}

.pattern-matrix-factor h4 {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    margin: 0;
    color: #111827;
    font-size: .95rem;
    font-weight: 800;
}

.pattern-matrix-factor p {
    margin-top: .25rem;
    font-size: .84rem;
}

.pattern-matrix-factor__body {
    min-width: 0;
}

.pattern-matrix-factor__meta {
    display: grid;
    justify-items: end;
    gap: .35rem;
    grid-template-rows: auto auto 1fr;
    height: 100%;
}

.pattern-matrix-factor__meta strong {
    color: #111827;
    font-size: 1rem;
    line-height: 1;
}

.pattern-matrix-factor__bar {
    height: .45rem;
    margin-top: .25rem;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.pattern-matrix-factor__meta .pattern-toggle-factor {
    align-self: end;
}

.pattern-matrix-factor__bar-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .55rem;
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
}

.pattern-matrix-factor__bar-label strong {
    color: #1f2937;
    font-size: .78rem;
    white-space: nowrap;
}

.pattern-matrix-factor__bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0d6efd, #19d3c5);
}

.pattern-matrix-factor.is-discarded {
    background: #f8fafc;
    border-style: dashed;
}

.pattern-matrix-factor.is-discarded h4,
.pattern-matrix-factor.is-discarded .pattern-matrix-factor__meta strong {
    color: #4b5563;
}

.pattern-matrix-discarded {
    border-top: 1px solid #e5ebf2;
    padding-top: .75rem;
}

.pattern-matrix-discarded summary {
    cursor: pointer;
    color: #1f3b5d;
    font-weight: 700;
    margin-bottom: .75rem;
}

.pattern-linked-matrices {
    border: 1px solid #e5ebf2;
    border-radius: .75rem;
    padding: 1rem;
    background: #fff;
}

.pattern-linked-matrix-empty {
    color: #64748b;
    font-size: .9rem;
}

.pattern-linked-matrix-empty strong {
    color: #1f2937;
    display: block;
    margin-bottom: .25rem;
}

.pattern-linked-matrix-empty p {
    margin: 0;
}

.pattern-linked-matrix-list {
    display: grid;
    gap: .75rem;
}

.pattern-linked-matrix {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid #e5ebf2;
    border-radius: .65rem;
    padding: .85rem;
    background: #f8fafc;
}

.pattern-linked-matrix.is-active {
    border-color: #0d6efd;
    background: #eef6ff;
}

.pattern-linked-matrix h4 {
    margin: 0 0 .2rem;
    color: #111827;
    font-size: .98rem;
    font-weight: 800;
}

.pattern-linked-matrix p,
.pattern-linked-matrix small {
    display: block;
    margin: 0;
    color: #64748b;
    font-size: .84rem;
}

.pattern-matrix-editor {
    margin-top: 0;
}

.pattern-matrix-editor__panel {
    border: 1px solid #e5ebf2;
    border-radius: .75rem;
    padding: 1rem;
    background: #fff;
}

.pattern-matrix-editor__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pattern-matrix-editor__header span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.pattern-matrix-editor__header h3 {
    margin: .15rem 0 .25rem;
    color: #111827;
    font-size: 1.12rem;
    font-weight: 800;
}

.pattern-matrix-editor__header p {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
}

.pattern-matrix-editor__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.pattern-matrix-group-cell {
    display: grid;
    gap: .5rem;
    min-width: 9rem;
}

.pattern-matrix-group-cell .btn {
    justify-self: start;
}

.pattern-matrix-edit-table {
    min-width: 1120px;
}

.pattern-matrix-edit-table th,
.pattern-matrix-edit-table td {
    vertical-align: top;
}

.pattern-matrix-edit-table .apptify-criterion-cell {
    min-width: 15.25rem;
}

.apptify-plateau-editor {
    position: relative;
    display: grid;
    gap: .35rem;
    min-width: 14.25rem;
}

.apptify-plateau-canvas {
    position: relative;
    min-height: 5.45rem;
    padding: .55rem .75rem 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.apptify-plateau-svg {
    position: absolute;
    top: 1.12rem;
    left: .75rem;
    width: calc(100% - 1.5rem);
    height: 3.18rem;
    overflow: visible;
}

.apptify-plateau-svg polyline {
    fill: rgba(13, 110, 253, .15);
    stroke: #0d6efd;
    stroke-linejoin: round;
    stroke-width: 2.4;
    vector-effect: non-scaling-stroke;
}

.apptify-plateau-ideal {
    stroke: #111827;
    stroke-dasharray: 3 2;
    stroke-linecap: round;
    stroke-width: 1.35;
    opacity: .72;
    vector-effect: non-scaling-stroke;
}

.apptify-plateau-point-control {
    position: absolute;
    z-index: 3;
    display: grid;
    gap: .18rem;
    justify-items: center;
    min-width: 0;
    margin: 0;
    transform: translate(-50%, -50%);
    cursor: grab;
    user-select: none;
}

.apptify-plateau-editor.is-dragging,
.apptify-plateau-editor.is-dragging .apptify-plateau-point-control,
.apptify-plateau-editor.is-dragging .apptify-plateau-handle {
    cursor: grabbing;
}

.apptify-plateau-handle {
    width: .85rem;
    height: .85rem;
    padding: 0;
    border: 1.8px solid #0d6efd;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(13, 110, 253, .12), 0 .28rem .7rem rgba(15, 23, 42, .16);
}

.apptify-plateau-handle.is-ideal {
    border-color: #111827;
    box-shadow: 0 0 0 .22rem rgba(15, 23, 42, .1), 0 .28rem .7rem rgba(15, 23, 42, .16);
}

.apptify-plateau-point-label {
    display: none;
}

.apptify-plateau-tooltip-input {
    position: absolute;
    bottom: calc(100% + .28rem);
    left: 50%;
    z-index: 5;
    width: clamp(1.35rem, calc(var(--plateau-input-ch, 2) * .42rem + .65rem), 3.2rem) !important;
    min-height: 1.35rem !important;
    padding: .03rem .28rem !important;
    border: 1px solid #bfdbfe !important;
    border-radius: .38rem !important;
    background: #fff !important;
    box-shadow: 0 .55rem 1.4rem rgba(15, 23, 42, .18);
    color: #111827;
    font-size: .64rem !important;
    font-weight: 700;
    line-height: 1.1 !important;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, .2rem);
    transition: opacity .12s ease, transform .12s ease;
}

.apptify-plateau-tooltip-input::selection {
    background: rgba(13, 110, 253, .18);
}

.apptify-plateau-point-control.is-active .apptify-plateau-tooltip-input,
.apptify-plateau-point-control:focus-within .apptify-plateau-tooltip-input,
.apptify-plateau-editor.is-dragging .apptify-plateau-point-control.is-active .apptify-plateau-tooltip-input {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.apptify-plateau-tooltip-input:focus {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .18), 0 .55rem 1.4rem rgba(15, 23, 42, .18) !important;
}

.apptify-plateau-scale {
    display: none;
}

.apptify-plateau-axis-labels {
    position: absolute;
    right: .75rem;
    bottom: .32rem;
    left: .75rem;
    height: .8rem;
    pointer-events: none;
}

.apptify-plateau-axis-labels span {
    position: absolute;
    top: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .24rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    height: .8rem;
    line-height: .8rem;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateX(-50%);
}

.apptify-plateau-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
    width: 100%;
}

.apptify-plateau-fields label {
    position: relative;
    display: block;
    margin: 0;
    width: 100%;
    min-width: 0;
}

.apptify-plateau-fields span {
    position: absolute;
    top: 50%;
    left: .45rem;
    z-index: 2;
    pointer-events: none;
    text-transform: none;
    transform: translateY(-50%);
}

.apptify-plateau-scale,
.apptify-plateau-axis-labels span,
.apptify-plateau-fields span {
    color: #64748b;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: 0;
}

.apptify-plateau-fields .form-control {
    width: 100% !important;
    min-height: 1.55rem !important;
    height: 1.55rem !important;
    padding: .12rem .34rem .12rem 2.15rem !important;
    border-radius: .45rem;
    font-size: .64rem !important;
    font-weight: 600;
    line-height: 1.05 !important;
    text-align: right !important;
}

.apptify-remove-criterion {
    display: inline-grid;
    place-items: center;
    position: absolute;
    top: .2rem;
    right: .2rem;
    z-index: 4;
    width: 1.45rem;
    height: 1.45rem;
    padding: 0;
    border: 1px solid #fecdd3;
    border-radius: .4rem;
    background: rgba(255, 245, 245, .9);
    color: #dc3545;
    font-size: .75rem;
    line-height: 1;
}

.apptify-remove-criterion .bi,
.apptify-remove-criterion .bi::before {
    display: block;
    line-height: 1;
    vertical-align: 0;
}

.apptify-remove-criterion:hover {
    border-color: #fda4af;
    background: #ffe4e6;
    color: #b42318;
}

.apptify-criterion-cell.is-empty {
    vertical-align: middle;
    text-align: center;
}

.apptify-add-criterion {
    min-width: 0;
    padding: .15rem .35rem;
    border-color: transparent !important;
    background: transparent !important;
    color: rgba(13, 110, 253, .34) !important;
    font-size: .74rem;
    font-weight: 500;
    box-shadow: none !important;
    opacity: .72;
}

.apptify-add-criterion:hover,
.apptify-add-criterion:focus {
    border-color: rgba(13, 110, 253, .18) !important;
    background: rgba(13, 110, 253, .04) !important;
    color: rgba(13, 110, 253, .78) !important;
    opacity: 1;
}

.pattern-matrix-result {
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

.pattern-matrix-companies {
    border: 0;
    border-radius: 0;
    padding: 1rem 0 0;
    background: transparent;
}

.pattern-matrix-company-list {
    display: grid;
    gap: .75rem;
}

.pattern-matrix-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid #e5ebf2;
    border-radius: .65rem;
    padding: .85rem 1rem;
    background: #f8fafc;
}

.pattern-matrix-company strong,
.pattern-matrix-company span {
    display: block;
}

.pattern-matrix-company strong {
    color: #111827;
    font-size: .98rem;
}

.pattern-matrix-company span {
    color: #64748b;
    font-size: .84rem;
}

@media (max-width: 991.98px) {
    .pattern-population-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .pattern-population-analytics {
        padding: .85rem 0 0;
    }

    .pattern-population-overview {
        grid-template-columns: 1fr;
    }

    .pattern-criterion {
        align-items: flex-start;
        flex-direction: column;
    }

    .pattern-matrix-overview {
        grid-template-columns: 1fr;
    }

    .pattern-matrix-columns {
        grid-template-columns: 1fr;
    }

    .pattern-matrix-factor {
        grid-template-columns: 1fr;
    }

    .pattern-matrix-factor__meta {
        align-items: center;
        grid-auto-flow: column;
        justify-content: start;
        justify-items: start;
    }

    .pattern-linked-matrix,
    .pattern-matrix-editor__header,
    .pattern-matrix-company {
        flex-direction: column;
        align-items: flex-start;
    }

    .pattern-matrix-editor__actions {
        justify-content: flex-start;
        width: 100%;
    }

    .pattern-population-card {
        padding: .85rem;
    }

    .pattern-population-card header {
        align-items: flex-start;
        flex-direction: column;
        gap: .75rem;
    }

    .pattern-population-card__score {
        align-items: center;
        grid-auto-flow: column;
        justify-items: start;
        justify-content: start;
        width: 100%;
    }

    .pattern-histogram__row {
        grid-template-columns: 2.35rem minmax(0, 1fr) 1.25rem;
        gap: .45rem;
        font-size: .76rem;
    }

    .pattern-factor-score {
        grid-template-columns: 2.1rem minmax(0, 1fr);
    }

    .pattern-factor-score__meta {
        grid-column: 2;
        justify-items: start;
    }

    .pattern-correlation-filter {
        grid-template-columns: 1fr;
        gap: .55rem;
        padding: .7rem;
    }

    .pattern-correlation-table {
        width: 51.5rem;
        min-width: 51.5rem;
    }

    .pattern-correlation-table tbody th {
        min-width: 7.25rem;
    }

    .pattern-correlation-table td {
        min-width: 2.35rem;
    }

    .pattern-correlation-cell {
        width: 2.35rem;
        height: 1.8rem;
        font-size: .72rem;
    }

    .pattern-correlation-hint {
        display: block;
    }

    .pattern-correlation-scroll {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        padding-right: .35rem;
    }

    .pattern-correlation-scroll::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 2.5rem;
        height: 100%;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff);
    }
}

/* Global title weight normalization. Keep headings clear without making every
   section compete with the same heavy visual weight. */
h1,
h2,
h3,
h4,
h5,
h6,
.app-page-header h1,
.app-page-header h2,
.processes-list-header h1,
.process-detail-title h1,
.app-table-title h2,
.admin-panel-header h2,
.dashboard-process-header .card-title,
.company-dashboard-welcome h2,
.company-dashboard-ready h2,
.company-team-setup-panel h2,
.company-dashboard-section-title h2,
.company-matrix-card h3,
.modal-title,
.user-modal-heading .modal-title,
.participant-panel-heading h3,
.participant-profile-body h3,
#results > .pt-3 > h3,
.pattern-analysis-card__header h3,
.pattern-section-heading h3,
.pattern-population-card h3,
.pattern-matrix-preview__header h3,
.pattern-matrix-editor__header h3 {
    font-weight: 700 !important;
}

.app-page-header span,
.company-dashboard-welcome span,
.company-dashboard-ready span,
.company-team-setup-panel span,
.company-dashboard-section-title span,
.company-dashboard-journey-title,
.company-matrix-card-header span,
.company-matrix-context span,
.company-matrix-progress-heading span,
.apptify-menu-section span,
.app-confirm-modal .modal-title,
.pattern-analysis-card__eyebrow,
.pattern-section-eyebrow,
.pattern-matrix-editor__eyebrow {
    font-weight: 700 !important;
}

.company-dashboard-step,
.company-dashboard-next-actions .btn,
.company-matrix-note,
.company-matrix-ready-copy,
.company-matrix-metric strong,
.company-matrix-context strong,
.company-matrix-progress-heading {
    font-weight: 600 !important;
}

/* Thinking bubble loader inspired by modern AI response states. */
@property --thinking-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 220deg;
}

.apptify-loader .apptify-triangle-loader,
.apptify-table-loading__mini .apptify-triangle-loader {
    --thinking-bg: rgba(245, 247, 250, .9);
    --thinking-ink: #687487;
    --thinking-angle: 165deg;
    display: block !important;
    position: relative !important;
    width: 92px !important;
    height: 50px !important;
    overflow: visible !important;
    isolation: isolate !important;
    filter: none !important;
    animation: none !important;
}

.apptify-loader .apptify-triangle-loader::before,
.apptify-table-loading__mini .apptify-triangle-loader::before {
    content: "" !important;
    position: absolute !important;
    inset: 6px !important;
    z-index: 2 !important;
    border-radius: 20px !important;
    background: var(--thinking-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    animation: apptify-thinking-bubble 2.8s ease-in-out infinite !important;
}

.apptify-loader .apptify-triangle-loader::after,
.apptify-table-loading__mini .apptify-triangle-loader::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 -8px -3px -8px !important;
    z-index: 1 !important;
    border-radius: 24px !important;
    padding: 0 !important;
    background:
        conic-gradient(
            from var(--thinking-angle),
            transparent 0deg,
            transparent 206deg,
            rgba(0, 118, 255, .06) 220deg,
            rgba(0, 118, 255, .36) 242deg,
            rgba(0, 214, 201, .56) 266deg,
            rgba(112, 214, 0, .44) 292deg,
            rgba(255, 201, 42, .28) 314deg,
            transparent 336deg,
            transparent 360deg
        ) !important;
    filter: blur(5px) saturate(1.35) !important;
    opacity: .92 !important;
    transform: translateY(2px) scale(.92) !important;
    animation: apptify-thinking-border 2.65s linear infinite !important;
}

.apptify-loader .apptify-triangle-loader__path,
.apptify-table-loading__mini .apptify-triangle-loader__path {
    position: absolute !important;
    inset: 14px 20px 7px 6px !important;
    z-index: 0 !important;
    width: auto !important;
    height: auto !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 10% 82%, rgba(0, 118, 255, .28), transparent 52%),
        radial-gradient(circle at 30% 100%, rgba(0, 214, 201, .22), transparent 48%) !important;
    box-shadow: none !important;
    filter: blur(10px) saturate(1.25) !important;
    opacity: .5 !important;
    transform: none !important;
    animation: apptify-thinking-aura 2.8s ease-in-out infinite !important;
}

.apptify-loader .apptify-triangle-loader__path::before,
.apptify-loader .apptify-triangle-loader__path::after,
.apptify-table-loading__mini .apptify-triangle-loader__path::before,
.apptify-table-loading__mini .apptify-triangle-loader__path::after,
.apptify-loader .apptify-triangle-loader__corner,
.apptify-table-loading__mini .apptify-triangle-loader__corner,
.apptify-loader .apptify-triangle-loader__pulse,
.apptify-table-loading__mini .apptify-triangle-loader__pulse {
    display: none !important;
}

.apptify-loader .apptify-triangle-loader__dot,
.apptify-loader .apptify-triangle-loader__dot::before,
.apptify-loader .apptify-triangle-loader__dot::after,
.apptify-table-loading__mini .apptify-triangle-loader__dot,
.apptify-table-loading__mini .apptify-triangle-loader__dot::before,
.apptify-table-loading__mini .apptify-triangle-loader__dot::after {
    position: absolute !important;
    z-index: 3 !important;
    display: block !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: var(--thinking-ink) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .1) !important;
    opacity: .88 !important;
    filter: none !important;
    animation: apptify-thinking-dot 1.4s ease-in-out infinite !important;
}

.apptify-loader .apptify-triangle-loader__dot,
.apptify-table-loading__mini .apptify-triangle-loader__dot {
    left: calc(50% - 2.5px) !important;
    top: calc(50% - 2.5px) !important;
}

.apptify-loader .apptify-triangle-loader__dot::before,
.apptify-table-loading__mini .apptify-triangle-loader__dot::before {
    content: "" !important;
    left: -15px !important;
    top: 0 !important;
    animation-delay: -.18s !important;
}

.apptify-loader .apptify-triangle-loader__dot::after,
.apptify-table-loading__mini .apptify-triangle-loader__dot::after {
    content: "" !important;
    left: 15px !important;
    top: 0 !important;
    animation-delay: .18s !important;
}

.apptify-table-loading__mini .apptify-triangle-loader {
    width: 44px !important;
    height: 28px !important;
    transform: translateY(1px) !important;
}

.apptify-table-loading__mini .apptify-triangle-loader::before {
    inset: 3px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.apptify-table-loading__mini .apptify-triangle-loader::after {
    inset: -1px -4px -2px -4px !important;
    border-radius: 14px !important;
    padding: 1px !important;
    filter: blur(3px) saturate(1.08) !important;
}

.apptify-table-loading__mini .apptify-triangle-loader__dot,
.apptify-table-loading__mini .apptify-triangle-loader__dot::before,
.apptify-table-loading__mini .apptify-triangle-loader__dot::after {
    width: 3px !important;
    height: 3px !important;
}

.apptify-table-loading__mini .apptify-triangle-loader__dot {
    left: calc(50% - 1.5px) !important;
    top: calc(50% - 1.5px) !important;
}

.apptify-table-loading__mini .apptify-triangle-loader__dot::before {
    left: -8px !important;
}

.apptify-table-loading__mini .apptify-triangle-loader__dot::after {
    left: 8px !important;
}

@keyframes apptify-thinking-border {
    0% {
        --thinking-angle: 155deg;
        opacity: .78;
    }
    50% {
        opacity: 1;
    }
    100% {
        --thinking-angle: 515deg;
        opacity: .78;
    }
}

@keyframes apptify-thinking-bubble {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-1px) scale(1.015);
    }
}

@keyframes apptify-thinking-aura {
    0%, 100% {
        opacity: .38;
        transform: translateX(-5px) scale(.92);
    }
    50% {
        opacity: .58;
        transform: translateX(3px) scale(1.04);
    }
}

@keyframes apptify-thinking-dot {
    0%, 100% {
        opacity: .38;
        transform: translateY(1px) scale(.92);
    }
    45% {
        opacity: .94;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .apptify-loader .apptify-triangle-loader::before,
    .apptify-loader .apptify-triangle-loader::after,
    .apptify-loader .apptify-triangle-loader__path,
    .apptify-loader .apptify-triangle-loader__dot,
    .apptify-loader .apptify-triangle-loader__dot::before,
    .apptify-loader .apptify-triangle-loader__dot::after,
    .apptify-table-loading__mini .apptify-triangle-loader::before,
    .apptify-table-loading__mini .apptify-triangle-loader::after,
    .apptify-table-loading__mini .apptify-triangle-loader__path,
    .apptify-table-loading__mini .apptify-triangle-loader__dot,
    .apptify-table-loading__mini .apptify-triangle-loader__dot::before,
    .apptify-table-loading__mini .apptify-triangle-loader__dot::after {
        animation: none !important;
    }
}

@media (max-width: 767.98px) {
    #PatternParticipants > .bootstrap-table .fixed-table-toolbar,
    #participants > .bootstrap-table .fixed-table-toolbar {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: .55rem !important;
        padding: 0 0 .75rem !important;
        border: 0 !important;
        background: transparent !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .search,
    #participants > .bootstrap-table .fixed-table-toolbar .search {
        order: 1 !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .search-input,
    #participants > .bootstrap-table .fixed-table-toolbar .search-input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .bs-bars,
    #participants > .bootstrap-table .fixed-table-toolbar .bs-bars {
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .app-table-toolbar,
    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .app-table-actions,
    #participants > .bootstrap-table .fixed-table-toolbar .app-table-toolbar,
    #participants > .bootstrap-table .fixed-table-toolbar .app-table-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: 0 !important;
        gap: 0 !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .apptify-icon-menu,
    #participants > .bootstrap-table .fixed-table-toolbar .apptify-icon-menu {
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        border: 1px solid #dbe3ee !important;
        border-radius: 10px !important;
        background: #fff !important;
        color: #0d6efd !important;
    }

    #PatternParticipants > .bootstrap-table .fixed-table-toolbar .apptify-icon-menu i,
    #participants > .bootstrap-table .fixed-table-toolbar .apptify-icon-menu i {
        display: block !important;
        width: 1em !important;
        margin: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar,
    .pattern-studies-table-shell .fixed-table-toolbar {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: .55rem !important;
        padding: 1rem !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar .search,
    .pattern-studies-table-shell .fixed-table-toolbar .search {
        order: 1 !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar .search-input,
    .pattern-studies-table-shell .fixed-table-toolbar .search-input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar .bs-bars,
    .pattern-studies-table-shell .fixed-table-toolbar .bs-bars {
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar .app-page-actions,
    .pattern-studies-table-shell .fixed-table-toolbar .processes-toolbar {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar #createTest,
    .pattern-studies-table-shell .fixed-table-toolbar #createPatternStudy {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 .45rem 1rem rgba(13, 110, 253, .18) !important;
        white-space: nowrap !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar #createTest i,
    .pattern-studies-table-shell .fixed-table-toolbar #createPatternStudy i {
        margin: 0 !important;
        font-size: 1.15rem !important;
        line-height: 1 !important;
    }

    .admin-tests-table-shell .fixed-table-toolbar #createTest span,
    .pattern-studies-table-shell .fixed-table-toolbar #createPatternStudy span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .apptify-data-shell .fixed-table-toolbar:has(.app-page-actions .btn-primary),
    .apptify-data-shell .fixed-table-toolbar:has(.processes-toolbar .btn-primary) {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: .55rem !important;
        padding: 1rem !important;
    }

    .apptify-data-shell .fixed-table-toolbar:has(.app-page-actions .btn-primary) .search,
    .apptify-data-shell .fixed-table-toolbar:has(.processes-toolbar .btn-primary) .search {
        order: 1 !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .apptify-data-shell .fixed-table-toolbar:has(.app-page-actions .btn-primary) .search-input,
    .apptify-data-shell .fixed-table-toolbar:has(.processes-toolbar .btn-primary) .search-input {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
    }

    .apptify-data-shell .fixed-table-toolbar:has(.app-page-actions .btn-primary) .bs-bars,
    .apptify-data-shell .fixed-table-toolbar:has(.processes-toolbar .btn-primary) .bs-bars {
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .apptify-data-shell .fixed-table-toolbar .app-page-actions,
    .apptify-data-shell .fixed-table-toolbar .processes-toolbar {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .apptify-data-shell .fixed-table-toolbar .app-page-actions > .btn-primary,
    .apptify-data-shell .fixed-table-toolbar .processes-toolbar > .btn-primary {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 .45rem 1rem rgba(13, 110, 253, .18) !important;
        white-space: nowrap !important;
    }

    .apptify-data-shell .fixed-table-toolbar .app-page-actions > .btn-primary i,
    .apptify-data-shell .fixed-table-toolbar .processes-toolbar > .btn-primary i {
        margin: 0 !important;
        font-size: 1.15rem !important;
        line-height: 1 !important;
    }

    .apptify-data-shell .fixed-table-toolbar .app-page-actions > .btn-primary span,
    .apptify-data-shell .fixed-table-toolbar .processes-toolbar > .btn-primary span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    #usersTable td {
        display: grid !important;
        grid-template-columns: minmax(5.8rem, 32%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: .85rem !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        padding: .46rem 0 !important;
        overflow-wrap: break-word !important;
        text-align: right !important;
        word-break: normal !important;
    }

    #usersTable td::before {
        flex: none !important;
        min-width: 0 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    #usersTable td > * {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    #usersTable td:first-child {
        display: inline-flex !important;
        width: auto !important;
        max-width: calc(100% - 3.25rem) !important;
        overflow-wrap: anywhere !important;
        text-align: left !important;
    }

    #usersTable td:last-child {
        display: block !important;
    }
}
