.visitor-shell-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: inherit;
    text-decoration: none;
}

.visitor-shell-brand:hover {
    color: inherit;
}

.visitor-header-action-link {
    text-decoration: none;
}

.main-header-container,
.main-header-container .header-content-left,
.main-header-container .header-content-right {
    min-width: 0;
}

.main-header-container .header-content-left {
    flex: 1 1 auto;
}

.main-header-container .header-content-right {
    flex: 0 0 auto;
}

.visitor-global-search-wrap {
    display: flex;
    align-items: center;
    flex: 1 1 clamp(14rem, 34vw, 30rem);
    min-width: 0;
    max-width: 32rem;
    padding-inline: 0.35rem;
}

.visitor-global-search {
    position: relative;
    width: 100%;
    min-width: 0;
    top:11px;
}

.visitor-global-search > i {
    position: absolute;
    z-index: 2;
    left: 0.85rem;
    top: 33%;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.main-header-container .visitor-global-search .form-control {
    min-height: 2.35rem;
    padding-left: 2.35rem;
    border: 1px solid rgba(255, 255, 255, 0);
    border-radius: 0.5rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.005);
    box-shadow: none;
}

.main-header-container .visitor-global-search .form-control:focus {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.13);
}

.main-header-container .visitor-global-search .form-control::placeholder {
    color: rgba(255, 255, 255, 0.68);
}

.visitor-global-search-results {
    position: absolute;
    z-index: 120;
    left: 0;
    right: 0;
    top: calc(100% + 0.55rem);
    display: grid;
    gap: 0.35rem;
    max-height: min(30rem, calc(100vh - 5.5rem));
    overflow: auto;
    padding: 0.55rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.5rem;
    background: var(--custom-white);
    box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.18);
}

.visitor-global-search-results[hidden] {
    display: none;
}

.visitor-global-search-section {
    padding: 0.35rem 0.45rem 0.15rem;
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-global-search-option {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.25rem;
    padding: 0.48rem 0.55rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    color: var(--default-text-color);
    text-decoration: none;
}

.visitor-global-search-option:hover,
.visitor-global-search-option:focus,
.visitor-global-search-option.is-active {
    border-color: rgba(var(--primary-rgb), 0.22);
    color: var(--default-text-color);
    background: rgba(var(--primary-rgb), 0.08);
}

.visitor-global-search-option__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    color: rgb(var(--primary-rgb));
    background: rgba(var(--primary-rgb), 0.1);
}

.visitor-global-search-option__copy {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.visitor-global-search-option__copy strong,
.visitor-global-search-option__copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-global-search-option__copy strong {
    font-size: 0.9rem;
}

.visitor-global-search-option__copy small,
.visitor-global-search-option__meta,
.visitor-global-search-option em,
.visitor-global-search-empty {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.visitor-global-search-option__meta {
    white-space: nowrap;
}

.visitor-global-search-option em {
    padding: 0.25rem 0.45rem;
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.visitor-global-search-option--date {
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
}

.visitor-global-search-empty {
    padding: 0.75rem;
    font-weight: 700;
}

[data-theme-mode=dark] .visitor-global-search-results {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
    box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.38);
}

[data-theme-mode=dark] .visitor-global-search-option:hover,
[data-theme-mode=dark] .visitor-global-search-option:focus,
[data-theme-mode=dark] .visitor-global-search-option.is-active {
    border-color: rgba(var(--primary-rgb), 0.34);
    background: rgba(var(--primary-rgb), 0.14);
}

[data-theme-mode=dark] .visitor-global-search-option em {
    background: rgb(var(--body-bg-rgb));
}

@media (max-width: 767.98px) {
    .main-header-container {
        padding-inline: 0.45rem;
    }

    .visitor-mobile-logo {
        display: none !important;
    }

    .visitor-global-search-wrap {
        flex: 1 1 auto;
        padding-inline: 0.2rem 0.35rem;
    }

    .visitor-global-search > i {
        left: 0.72rem;
    }

    .main-header-container .visitor-global-search .form-control {
        min-height: 2.2rem;
        padding-left: 2.05rem;
        padding-right: 0.65rem;
        font-size: 0.82rem;
    }

    .visitor-global-search-results {
        position: fixed;
        left: 0.65rem;
        right: 0.65rem;
        top: 4.15rem;
        width: auto;
        max-height: calc(100vh - 4.75rem);
    }
}

@media (max-width: 420px) {
    .main-header-container {
        padding-inline: 0.25rem;
    }

    .main-header-container .header-link {
        padding-inline: 0.42rem;
    }

    .visitor-global-search-wrap {
        padding-inline: 0.1rem 0.2rem;
    }

    .visitor-global-search-results {
        left: 0.4rem;
        right: 0.4rem;
    }
}

.visitor-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 0.65rem 0.45rem 0.45rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.04);
    border: 1px solid rgba(17, 24, 39, 0.06);
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.visitor-user-chip:hover,
.visitor-user-chip:focus {
    background: rgba(17, 24, 39, 0.08);
    border-color: rgba(17, 24, 39, 0.1);
    color: inherit;
}

.visitor-user-chip-avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.95), rgba(var(--secondary-rgb), 0.95));
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
}

.visitor-user-chip-avatar-image-wrap {
    padding: 0;
    overflow: hidden;
    background: transparent;
}

.visitor-user-chip-avatar-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.visitor-user-chip-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

.visitor-user-chip-copy strong {
    color: #111827;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.visitor-user-chip-copy span {
    color: var(--text-muted, #8c9097);
    font-size: 0.7rem;
    white-space: nowrap;
}

.visitor-user-chip-caret {
    color: var(--text-muted, #8c9097);
    font-size: 1rem;
}

.visitor-user-chip.dropdown-toggle::after {
    display: none;
}

.organization-user-avatar-image {
    display: block;
}

.organization-user-avatar-fallback {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.95), rgba(var(--secondary-rgb), 0.95));
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
}

.visitor-sidebar-panel {
    margin-top: auto;
    padding: 1rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e5e7eb;
}

.visitor-sidebar-panel-kicker {
    display: inline-block;
    margin-bottom: 0.55rem;
    color: rgba(191, 219, 254, 0.9);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.visitor-sidebar-panel h6 {
    margin-bottom: 0.45rem;
    color: #fff;
    font-weight: 700;
}

.visitor-sidebar-panel p {
    margin-bottom: 0.9rem;
    color: rgba(226, 232, 240, 0.76);
    font-size: 0.76rem;
    line-height: 1.55;
}

.organization-settings-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.organization-settings-card .card-header {
    border-bottom: 1px dashed rgba(15, 23, 42, 0.08);
}

.organization-settings-card .form-control[readonly] {
    background: rgba(15, 23, 42, 0.03);
}

.settings-organization-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-organization-profile-card {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.07);
}

.settings-org-cover {
    position: relative;
    min-height: 172px;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.22), transparent 28%),
        linear-gradient(135deg, #164e63 0%, #2563eb 44%, #475569 100%);
}

.settings-org-cover-gradient {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.58)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 24px);
}

.settings-org-avatar {
    position: absolute;
    left: 1.25rem;
    bottom: -32px;
    z-index: 2;
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #eef2ff;
    color: #1d4ed8;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.22);
    font-size: 1.35rem;
    font-weight: 800;
    overflow: hidden;
}

.settings-org-logo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.settings-org-avatar--logo-card {
    width: auto;
    min-width: 190px;
    max-width: min(310px, calc(100% - 6rem));
    height: 64px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    background-image:
        linear-gradient(rgba(246, 243, 234, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(246, 243, 234, 0.045) 1px, transparent 1px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
}

.settings-org-avatar--logo-card .settings-org-logo-img {
    width: auto;
    height: auto;
    max-width: 260px;
    max-height: 40px;
    object-fit: contain;
}

.settings-org-action {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 3;
}

.settings-org-identity-section {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 3rem 1.25rem 1.25rem;
    border-bottom: 1px dashed rgba(15, 23, 42, 0.12);
}

.settings-organization-profile-card--logo-card .settings-org-identity-section {
    padding-top: 3.35rem;
}

.settings-org-title-block {
    flex: 1 1 auto;
    min-width: 0;
}

.settings-org-name-input {
    max-width: 520px;
    font-size: 1rem;
    font-weight: 600;
}

.settings-org-logo-status {
    min-width: 148px;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.86);
}

.settings-org-logo-status span,
.settings-org-info-tile span,
.settings-org-overview-row span {
    display: block;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-org-logo-status strong,
.settings-org-info-tile strong,
.settings-org-overview-row strong {
    display: block;
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
}

.settings-org-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px dashed rgba(15, 23, 42, 0.12);
}

.settings-org-stats > div {
    padding: 1rem;
    text-align: center;
}

.settings-org-stats > div + div {
    border-left: 1px dashed rgba(15, 23, 42, 0.12);
}

.settings-org-section {
    padding: 1.35rem;
    border-bottom: 1px dashed rgba(15, 23, 42, 0.12);
}

.settings-org-section .input-group-text {
    min-width: 42px;
    justify-content: center;
}

.settings-org-info-tile,
.settings-org-switch {
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-org-switch.form-switch {
    padding-left: 3.5rem;
}

.settings-org-switch.form-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-org-info-tile small {
    display: block;
    margin-top: 0.4rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.75rem;
    line-height: 1.4;
}

.settings-org-logo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    padding: 1rem;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    border-radius: 8px;
    background: #fff;
}

.settings-org-logo-preview img {
    max-width: 180px;
    max-height: 72px;
    object-fit: contain;
}

.settings-org-logo-preview span {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(var(--primary-rgb), 0.1);
    color: rgb(var(--primary-rgb));
    font-weight: 800;
}

.settings-org-side-card {
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055);
}

.settings-org-overview-list,
.settings-org-quick-links {
    display: grid;
    gap: 0.75rem;
}

.settings-org-overview-row,
.settings-org-quick-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-org-quick-links a {
    color: inherit;
    text-decoration: none;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.settings-org-quick-links a:hover,
.settings-org-quick-links a:focus {
    border-color: rgba(var(--primary-rgb), 0.24);
    background: rgba(var(--primary-rgb), 0.06);
    transform: translateX(2px);
}

.settings-org-quick-links span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    font-weight: 600;
}

.settings-experience-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-experience-rail {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-experience-title,
.settings-experience-preview-card .card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-experience-command {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.055);
}

.settings-experience-command__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.12);
    color: rgb(var(--primary-rgb));
    font-size: 1.7rem;
}

.settings-experience-command strong,
.settings-experience-command small,
.settings-experience-option strong,
.settings-experience-option small {
    display: block;
}

.settings-experience-command small,
.settings-experience-field small,
.settings-experience-option small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-experience-section {
    display: grid;
    gap: 0.65rem;
}

.settings-experience-section__title {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settings-experience-field,
.settings-experience-option,
.settings-experience-switch {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-experience-field {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.85rem;
}

.settings-experience-field > span:first-child,
.settings-experience-switch .form-check-label {
    color: var(--default-text-color);
    font-weight: 700;
}

.settings-experience-switch {
    margin: 0;
    padding: 0.85rem 0.95rem 0.85rem 3.5rem;
}

.settings-experience-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-experience-inline-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.15rem 0 0;
    min-height: 1.35rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
    font-weight: 700;
}

.settings-experience-inline-switch .form-check-input {
    margin-left: 0;
}

.settings-experience-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.settings-experience-radio-list {
    display: grid;
    gap: 0.55rem;
}

.settings-experience-option {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.85rem;
}

.settings-experience-option span {
    min-width: 0;
}

.settings-experience-preview-card {
    position: sticky;
    top: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-experience-preview-stage {
    min-height: 720px;
    display: grid;
    padding: 1rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(145deg, #f7f8f4, #e5ecea 52%, #eee8df);
    background-size: 38px 38px, 38px 38px, auto;
}

.settings-experience-preview-stage--screen {
    min-height: 640px;
}

.settings-experience-preview-stage--app {
    min-height: 820px;
}

.settings-experience-frame {
    width: 100%;
    min-height: 680px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16);
}

.settings-experience-preview-stage--screen .settings-experience-frame {
    min-height: 600px;
}

.settings-experience-preview-stage--app .settings-experience-frame {
    min-height: 780px;
}

.settings-experience-preview-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-experience-preview-footer span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
}

.settings-purpose-table-wrap {
    max-width: 100%;
    background: rgba(255, 255, 255, 0.72);
}

.settings-purpose-preview-stage,
.settings-session-preview-stage {
    display: grid;
    gap: 1rem;
    min-height: 560px;
    padding: 1rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(145deg, #f7f8f4, #edf2ef 54%, #f1ebe3);
    background-size: 36px 36px, 36px 36px, auto;
}

.settings-purpose-register-preview,
.settings-purpose-report-preview,
.settings-session-preview-card,
.settings-session-timeline,
.settings-session-risk-grid {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.settings-purpose-register-preview,
.settings-purpose-report-preview,
.settings-session-preview-card {
    padding: 1.1rem;
}

.settings-purpose-preview-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.settings-purpose-preview-topline span,
.settings-session-preview-card span,
.settings-session-risk-grid span {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-purpose-preview-topline strong,
.settings-session-preview-card strong,
.settings-session-risk-grid strong {
    color: var(--default-text-color);
}

.settings-purpose-input-preview {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
}

.settings-purpose-input-preview > span {
    font-weight: 700;
}

.settings-purpose-input-preview > div {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 46px;
    padding: 0 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    color: var(--text-muted, #8c9097);
    background: rgba(248, 250, 252, 0.86);
}

.settings-purpose-suggestion-list,
.settings-purpose-palette {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.settings-purpose-suggestion {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 40px;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    color: var(--default-text-color);
    background: #fff;
}

.settings-purpose-suggestion small {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
}

.settings-purpose-swatch {
    width: 0.8rem;
    height: 0.8rem;
    flex: 0 0 0.8rem;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06);
}

.settings-purpose-empty {
    width: 100%;
    padding: 0.8rem;
    border: 1px dashed rgba(15, 23, 42, 0.18);
    border-radius: 8px;
    color: var(--text-muted, #8c9097);
    text-align: center;
}

.settings-purpose-palette span {
    --purpose-color: #64748b;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    color: #17211d;
    background: color-mix(in srgb, var(--purpose-color) 16%, white);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--purpose-color) 34%, transparent);
    font-size: 0.82rem;
    font-weight: 800;
}

.settings-purpose-routing {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin-top: 1rem;
}

.settings-purpose-routing > div {
    display: grid;
    place-items: center;
    gap: 0.4rem;
    min-height: 86px;
    padding: 0.8rem;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.76);
    text-align: center;
}

.settings-purpose-routing i {
    color: rgb(var(--primary-rgb));
    font-size: 1.45rem;
}

.settings-session-duration-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    gap: 0.75rem;
}

.settings-session-preview-card--primary {
    display: grid;
    gap: 0.45rem;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.12), rgba(180, 70, 43, 0.11));
}

.settings-session-preview-card strong {
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1;
}

.settings-session-preview-card p {
    max-width: 620px;
    margin: 0.35rem 0 0;
    color: var(--text-muted, #8c9097);
}

.settings-session-timeline {
    display: grid;
    gap: 0.7rem;
    padding: 1rem;
}

.settings-session-timeline__item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: start;
}

.settings-session-timeline__item > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: rgb(var(--primary-rgb));
    background: rgba(var(--primary-rgb), 0.11);
}

.settings-session-timeline__item.is-active > span {
    color: #fff;
    background: rgb(var(--primary-rgb));
}

.settings-session-timeline__item strong,
.settings-session-timeline__item small {
    display: block;
}

.settings-session-timeline__item small {
    margin-top: 0.2rem;
    color: var(--text-muted, #8c9097);
    line-height: 1.4;
}

.settings-session-risk-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
}

.settings-session-risk-grid > div {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
}

.settings-session-risk-grid > div + div {
    border-left: 1px dashed rgba(15, 23, 42, 0.12);
}

.settings-ticket-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-ticket-rail {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-ticket-title,
.settings-ticket-preview-card .card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-ticket-command {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.055);
}

.settings-ticket-command__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.12);
    color: rgb(var(--primary-rgb));
    font-size: 1.8rem;
}

.settings-ticket-command strong,
.settings-ticket-command small {
    display: block;
}

.settings-ticket-command small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-ticket-section {
    display: grid;
    gap: 0.65rem;
}

.settings-ticket-section__title {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settings-ticket-field,
.settings-ticket-option,
.settings-ticket-switch {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-ticket-field {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem;
}

.settings-ticket-field > span,
.settings-ticket-switch .form-check-label {
    color: var(--default-text-color);
    font-weight: 700;
}

.settings-ticket-field small,
.settings-ticket-option small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-ticket-switch {
    margin: 0;
    padding: 0.85rem 0.95rem 0.85rem 3.5rem;
}

.settings-ticket-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-ticket-option {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.85rem;
}

.settings-ticket-option span {
    min-width: 0;
}

.settings-ticket-option strong,
.settings-ticket-option small {
    display: block;
}

.settings-ticket-preview-card {
    position: sticky;
    top: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-ticket-preview-stage {
    min-height: 760px;
    display: grid;
    place-items: center;
    padding: 2rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(21, 20, 18, 0.035) 1px, transparent 1px),
        linear-gradient(rgba(21, 20, 18, 0.04) 1px, transparent 1px),
        linear-gradient(145deg, #f7f5f0, #e8eeec 52%, #ece6dd);
    background-size: 38px 38px, 38px 38px, auto;
    overflow: auto;
}

.settings-ticket-phone,
.settings-ticket-phone * {
    box-sizing: border-box;
}

.settings-ticket-phone {
    --settings-ticket-ink: #151412;
    --settings-ticket-muted: #6a625a;
    --settings-ticket-card: #f7c4bc;
    --settings-ticket-card-2: #f3d8c0;
    --settings-ticket-forest: #355d4c;
    width: min(430px, 100%);
    min-height: 720px;
    display: flex;
    flex-direction: column;
    padding: 18px;
    border-radius: 42px;
    color: var(--settings-ticket-ink);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 34px 92px rgba(30, 38, 34, 0.22);
    backdrop-filter: blur(24px);
    font-family: "Segoe UI", sans-serif;
}

.settings-ticket-statusbar {
    height: 34px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: #0d0d0d;
    font-size: 0.9rem;
    font-weight: 700;
}

.settings-ticket-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 8px;
    padding: 28px;
    border-radius: 30px;
    color: #2a100e;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), transparent 34%),
        linear-gradient(145deg, var(--settings-ticket-card), var(--settings-ticket-card-2));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.45), 0 18px 40px rgba(72, 47, 38, 0.12);
}

.settings-ticket-card__header,
.settings-ticket-route,
.settings-ticket-meta {
    display: grid;
    gap: 16px;
}

.settings-ticket-card__header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.settings-ticket-kicker,
.settings-ticket-route span,
.settings-ticket-meta span,
.settings-ticket-details span {
    margin: 0;
    color: rgba(42, 16, 14, 0.68);
    font-size: 0.78rem;
    font-weight: 700;
}

.settings-ticket-card__header h3 {
    margin: 6px 0 0;
    color: #2a100e;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 700;
}

.settings-ticket-status {
    padding: 8px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(21, 20, 18, 0.86);
    font-size: 0.78rem;
    font-weight: 700;
}

.settings-ticket-route {
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
    align-items: center;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(42, 16, 14, 0.18);
}

.settings-ticket-route strong {
    display: block;
    margin-top: 6px;
    font-size: 1.15rem;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.settings-ticket-route small {
    display: block;
    margin-top: 7px;
    color: rgba(42, 16, 14, 0.72);
    line-height: 1.35;
}

.settings-ticket-route i {
    color: rgba(42, 16, 14, 0.75);
    font-size: 1.8rem;
    text-align: center;
}

.settings-ticket-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(42, 16, 14, 0.18);
}

.settings-ticket-meta strong {
    display: block;
    margin-top: 7px;
    font-size: 1.05rem;
}

.settings-ticket-code {
    align-self: center;
    display: grid;
    place-items: center;
    width: min(100%, 250px);
    padding: 14px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(42, 16, 14, 0.16);
}

.settings-ticket-code--barcode {
    width: min(100%, 340px);
}

.settings-ticket-code svg {
    display: block;
    width: 100%;
    height: auto;
}

.settings-ticket-code-sample {
    display: block;
}

.settings-ticket-code.is-hidden,
.settings-ticket-code-sample.is-hidden,
.settings-ticket-code-label.is-hidden {
    display: none !important;
}

.settings-ticket-code-label {
    margin: -12px 0 0;
    color: rgba(42, 16, 14, 0.68);
    font-size: 0.86rem;
    font-weight: 700;
    text-align: center;
}

.settings-ticket-actions {
    display: grid;
    gap: 10px;
}

.settings-ticket-actions button {
    width: 100%;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 16px;
    color: #fff;
    background: var(--settings-ticket-forest);
    font: inherit;
    font-weight: 700;
}

.settings-ticket-actions .settings-ticket-button-muted {
    color: var(--settings-ticket-ink);
    background: rgba(255, 255, 255, 0.62);
}

.settings-ticket-actions .settings-ticket-button-danger {
    background: rgba(21, 20, 18, 0.9);
}

.settings-ticket-details {
    display: grid;
    gap: 14px;
    margin-top: auto;
}

.settings-ticket-details section {
    padding-top: 14px;
    border-top: 1px solid rgba(42, 16, 14, 0.14);
}

.settings-ticket-details p {
    margin: 6px 0 0;
    color: rgba(42, 16, 14, 0.86);
    line-height: 1.45;
    white-space: pre-line;
}

.settings-ticket-map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.settings-ticket-map-actions span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(53, 93, 76, 0.88);
    font-size: 0.78rem;
    font-weight: 700;
}

.settings-ticket-preview-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-ticket-preview-footer span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
}

.settings-printer-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-printer-rail {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-printer-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.settings-printer-print-command {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.055);
}

.settings-printer-print-command__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.12);
    color: rgb(var(--primary-rgb));
    font-size: 1.55rem;
}

.settings-printer-print-command__icon i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 1.85rem;
    line-height: 1;
    text-align: center;
}

.settings-printer-print-command__icon i::before {
    display: block;
    line-height: 1;
}

.settings-printer-print-command strong,
.settings-printer-print-command span,
.settings-printer-option__copy strong,
.settings-printer-option__copy small {
    display: block;
}

.settings-printer-print-command span,
.settings-printer-option__copy small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-printer-section {
    display: grid;
    gap: 0.55rem;
}

.settings-printer-section__title {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settings-printer-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.84);
    color: inherit;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.settings-printer-option:hover,
.settings-printer-option:focus {
    border-color: rgba(var(--primary-rgb), 0.3);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.settings-printer-option__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    border-radius: 8px;
    background: #fff;
    color: rgb(var(--primary-rgb));
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.settings-printer-option__copy {
    flex: 1 1 auto;
    min-width: 0;
}

.settings-printer-option__copy strong,
.settings-printer-option__copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-printer-option__chevron {
    color: var(--text-muted, #8c9097);
    flex: 0 0 auto;
    font-size: 1.2rem;
}

.settings-printer-switch {
    margin: 0;
    padding: 0.85rem 0.95rem 0.85rem 3.5rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-printer-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-printer-switch--compact {
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

.settings-printer-preview-card {
    position: sticky;
    top: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-printer-preview-card .card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-printer-preview-stage {
    min-height: 600px;
    display: grid;
    place-items: center;
    padding: 2rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.055) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.055) 1px, transparent 1px),
        #f8fafc;
    background-size: 24px 24px;
    overflow: auto;
}

.settings-printer-preview-paper {
    display: grid;
    place-items: center;
    min-width: min(100%, 620px);
    min-height: 420px;
    padding: 2rem;
    border: 1px solid rgba(15, 23, 42, 0.22);
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}

.settings-printer-preview-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.85rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-printer-preview-footer span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
}

.settings-printer-modal .modal-header {
    align-items: flex-start;
}

.settings-printer-modal .modal-content {
    border-radius: 8px;
}

.settings-wifi-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-wifi-rail {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-wifi-title,
.settings-wifi-preview-card .card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-wifi-command {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.055);
}

.settings-wifi-command__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.12);
    color: rgb(var(--primary-rgb));
    font-size: 1.8rem;
}

.settings-wifi-command strong,
.settings-wifi-command small {
    display: block;
}

.settings-wifi-command small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-wifi-section {
    display: grid;
    gap: 0.65rem;
}

.settings-wifi-section__title {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settings-wifi-field {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-wifi-field > span,
.settings-wifi-switch .form-check-label {
    color: var(--default-text-color);
    font-weight: 700;
}

.settings-wifi-field small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-wifi-switch {
    margin: 0;
    padding: 0.85rem 0.95rem 0.85rem 3.5rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-wifi-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-wifi-note {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem;
    border: 1px solid rgba(var(--info-rgb), 0.18);
    border-radius: 8px;
    background: rgba(var(--info-rgb), 0.06);
    color: var(--text-muted, #8c9097);
    font-size: 0.82rem;
}

.settings-wifi-note i {
    color: rgb(var(--info-rgb));
    font-size: 1.1rem;
    line-height: 1.1;
}

.settings-wifi-preview-card {
    position: sticky;
    top: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-wifi-preview-stage {
    min-height: 620px;
    display: grid;
    place-items: center;
    padding: 2rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(135deg, #f7f8f4 0%, #edf4f0 48%, #f8fafc 100%);
    background-size: 24px 24px, 24px 24px, auto;
    overflow: auto;
}

.settings-wifi-app-preview {
    width: min(100%, 660px);
    min-height: 520px;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.52)),
        rgba(255, 255, 255, 0.62);
    box-shadow: 0 28px 70px rgba(42, 52, 47, 0.16);
    backdrop-filter: blur(20px);
}

.settings-wifi-app-chrome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.settings-wifi-app-brand,
.settings-wifi-app-company {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0.45rem 0.75rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: #17231f;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(22, 20, 18, 0.08);
}

.settings-wifi-app-company {
    flex: 1 1 auto;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-wifi-info-panel {
    display: grid;
    gap: 1rem;
    align-self: center;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 22px 54px rgba(42, 52, 47, 0.12);
}

.settings-wifi-back {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    justify-self: start;
    color: #355d4c;
    font-weight: 700;
}

.settings-wifi-copy {
    min-width: 0;
}

.settings-wifi-kicker {
    margin: 0 0 0.25rem;
    color: #355d4c;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-wifi-copy h3 {
    margin: 0;
    color: #17231f;
    font-size: 2.2rem;
    line-height: 1.05;
    font-weight: 800;
}

.settings-wifi-copy p:not(.settings-wifi-kicker) {
    margin: 0.55rem 0 0;
    color: #5c6661;
    font-size: 1rem;
}

.settings-wifi-card {
    display: grid;
    grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}

.settings-wifi-qr {
    width: 100%;
    aspect-ratio: 1;
    min-height: 0;
    display: grid;
    place-items: center;
    padding: 0.75rem;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(22, 20, 18, 0.08);
}

.settings-wifi-qr svg {
    width: 100%;
    height: 100%;
    max-width: 280px;
    max-height: 280px;
}

.settings-wifi-details {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.settings-wifi-details > div {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(22, 20, 18, 0.1);
    border-radius: 8px;
    background: rgba(247, 248, 244, 0.88);
}

.settings-wifi-details span {
    color: #66736d;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-wifi-details strong {
    color: #17231f;
    font-size: 1.02rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.settings-wifi-password {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.settings-wifi-preview-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-wifi-preview-footer span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
}

.settings-email-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-email-rail {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-email-title,
.settings-email-preview-card .card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-email-command {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(var(--info-rgb), 0.2);
    border-radius: 8px;
    background: rgba(var(--info-rgb), 0.065);
}

.settings-email-command__icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 8px;
    background: rgba(var(--info-rgb), 0.14);
    color: rgb(var(--info-rgb));
    font-size: 1.8rem;
}

.settings-email-command strong,
.settings-email-command small {
    display: block;
}

.settings-email-command small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-email-section {
    display: grid;
    gap: 0.65rem;
}

.settings-email-section__title {
    color: var(--text-muted, #8c9097);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settings-email-field {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-email-field > span,
.settings-email-switch .form-check-label {
    color: var(--default-text-color);
    font-weight: 700;
}

.settings-email-field small {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-email-switch {
    margin: 0;
    padding: 0.85rem 0.95rem 0.85rem 3.5rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-email-switch .form-check-input {
    margin-left: -2.35rem;
}

.settings-email-switch--compact {
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

.settings-email-summary {
    display: grid;
    gap: 0.6rem;
}

.settings-email-summary > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-email-summary span {
    color: var(--text-muted, #8c9097);
    font-size: 0.76rem;
    font-weight: 700;
}

.settings-email-summary strong {
    min-width: 0;
    max-width: 70%;
    overflow-wrap: anywhere;
    text-align: right;
}

.settings-email-note {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem;
    border-radius: 8px;
    color: var(--text-muted, #8c9097);
    font-size: 0.82rem;
}

.settings-email-note i {
    flex: 0 0 auto;
    font-size: 1.1rem;
    line-height: 1.1;
}

.settings-email-note--ready {
    border: 1px solid rgba(var(--success-rgb), 0.2);
    background: rgba(var(--success-rgb), 0.07);
}

.settings-email-note--ready i {
    color: rgb(var(--success-rgb));
}

.settings-email-note--warning {
    border: 1px solid rgba(var(--warning-rgb), 0.24);
    background: rgba(var(--warning-rgb), 0.09);
}

.settings-email-note--warning i {
    color: rgb(var(--warning-rgb));
}

.settings-email-preview-card {
    position: sticky;
    top: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.settings-email-preview-stage {
    min-height: 720px;
    display: grid;
    place-items: center;
    padding: 2rem;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
        #f8fafc;
    background-size: 24px 24px, 24px 24px, auto;
    overflow: auto;
}

.settings-email-client {
    width: min(100%, 650px);
    border: 1px solid rgba(15, 23, 42, 0.11);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.14);
    overflow: hidden;
}

.settings-email-client__toolbar {
    display: flex;
    gap: 0.4rem;
    padding: 0.75rem 0.95rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f7f8fb;
}

.settings-email-client__toolbar span {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.22);
}

.settings-email-client__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.settings-email-client__meta > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.9rem 1rem;
}

.settings-email-client__meta > div + div {
    border-left: 1px solid rgba(15, 23, 42, 0.08);
}

.settings-email-client__meta span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-email-client__meta strong {
    min-width: 0;
    overflow: hidden;
    color: #17231f;
    font-size: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-email-message {
    padding: 34px 14px;
    background: #eef0ed;
}

.settings-email-real-card {
    max-width: 640px;
    margin-inline: auto;
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 22px 70px rgba(31, 42, 35, 0.16);
}

.settings-email-message__hero {
    padding: 34px 34px 18px;
    background: linear-gradient(135deg, #355d4c, #2f586d);
}

.settings-email-message__logo {
    display: block;
    width: 150px;
    max-width: 150px;
    height: auto;
    margin: 0 0 16px;
    border: 0;
}

.settings-email-message__hero h3 {
    margin: 10px 0 0;
    color: #fff;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 800;
}

.settings-email-message__body {
    display: grid;
    gap: 0;
    padding: 30px 34px 34px;
    background: #fff;
}

.settings-email-message__intro {
    margin: 0 0 18px;
    color: #6a625a;
    font-size: 15px;
    line-height: 1.6;
}

.settings-email-message__intro strong {
    color: #2a100e;
}

.settings-email-ticket-image {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    margin: 0 auto 14px;
    border: 0;
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(42, 16, 14, 0.18);
}

.settings-email-image-fallback {
    margin: 0 0 24px;
    color: #6a625a;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.settings-email-image-fallback a {
    color: #355d4c;
    font-weight: 700;
    text-decoration: none;
}

.settings-email-ticket {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 1rem;
    border: 1px solid rgba(42, 16, 14, 0.1);
    border-radius: 8px;
    background: #f7f5f0;
}

.settings-email-ticket div,
.settings-email-location {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.settings-email-ticket span,
.settings-email-location span,
.settings-email-host-copy > span {
    color: #7b4a40;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-email-ticket strong,
.settings-email-location strong {
    color: #2a100e;
    font-size: 0.94rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.settings-email-button {
    justify-self: center;
    padding: 14px 24px;
    border-radius: 999px;
    color: #fff;
    background: #355d4c;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

.settings-email-location {
    margin-top: 26px;
    padding: 20px;
    border: 1px solid rgba(42, 16, 14, 0.1);
    border-radius: 18px;
    background: #f7f5f0;
}

.settings-email-map-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 13px;
    color: #355d4c;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 800;
}

.settings-email-map-links i {
    width: 1px;
    height: 14px;
    background: #b3a9a0;
}

.settings-email-visit-details {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(42, 16, 14, 0.12);
}

.settings-email-visit-details__title {
    margin-bottom: 12px;
    color: #7b4a40;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.settings-email-detail-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 10px;
}

.settings-email-detail-row span {
    color: #7b4a40;
    font-size: 13px;
    font-weight: 800;
}

.settings-email-detail-row strong {
    color: #2a100e;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;
}

.settings-email-host-card {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    margin-top: 14px;
    padding: 18px 18px 16px;
    border: 1px solid rgba(53, 93, 76, 0.16);
    border-radius: 18px;
    background: #eef3ef;
}

.settings-email-host-avatar {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    border: 3px solid #fff;
    border-radius: 50%;
    color: #355d4c;
    background: #dbe7dc;
    box-shadow: 0 8px 22px rgba(31, 42, 35, 0.16);
    font-weight: 800;
}

.settings-email-host-copy {
    min-width: 0;
}

.settings-email-host-copy strong {
    display: block;
    margin-top: 6px;
    color: #2a100e;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}

.settings-email-host-copy p {
    margin: 4px 0 0;
    color: #6a625a;
    font-size: 13px;
    line-height: 1.5;
}

.settings-email-host-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.7rem;
}

.settings-email-host-actions span,
.settings-email-host-actions em {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.45rem 0.65rem;
    border-radius: 999px;
    background: #fff;
    color: #355d4c;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 800;
}

.settings-email-host-actions em {
    color: #6a625a;
}

.settings-email-preview-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-email-preview-footer span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
}

.min-w-0 {
    min-width: 0;
}

.settings-users-page {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.035);
}

.settings-users-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.settings-users-header-card {
    background: #fff;
}

.settings-users-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex: 1 1 360px;
    flex-wrap: nowrap;
    max-width: 430px;
}

.settings-users-search {
    flex: 1 1 auto;
    min-width: 0;
}

.settings-users-search .form-control,
.settings-users-search .input-group-text {
    min-height: 40px;
}

.settings-user-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.13);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.settings-user-card:hover {
    border-color: rgba(var(--primary-rgb), 0.28);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.11);
    transform: translateY(-1px);
}

.settings-user-avatar-image,
.settings-user-avatar-fallback {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
}

.settings-user-avatar-image {
    display: block;
    object-fit: cover;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.settings-user-avatar-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.12);
    color: rgb(var(--primary-rgb));
    font-weight: 700;
}

.settings-user-avatar-image--sm,
.settings-user-avatar-fallback--sm {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    font-size: 0.75rem;
}

.settings-user-avatar-image--lg,
.settings-user-avatar-fallback--lg {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    font-size: 1.1rem;
}

.settings-user-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.settings-users-list-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.settings-users-list-card th,
.settings-users-list-card td {
    vertical-align: middle;
    white-space: nowrap;
}

.settings-users-list-card td:first-child {
    min-width: 260px;
}

.settings-users-empty-search {
    margin-top: 1rem;
    padding: 1.25rem;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: 8px;
    color: var(--text-muted, #8c9097);
    text-align: center;
    background: rgba(248, 250, 252, 0.72);
}

.settings-users-overview {
    position: sticky;
    top: 0;
    align-self: flex-start;
}

.settings-users-overview-list {
    display: grid;
    gap: 0.75rem;
}

.settings-users-overview-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.78);
}

.settings-users-overview-row span,
.settings-users-sync-note span {
    color: var(--text-muted, #8c9097);
    font-size: 0.78rem;
}

.settings-users-overview-row strong {
    font-size: 1rem;
}

.settings-users-sync-note,
.settings-users-context,
.settings-user-actions-summary {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 8px;
    background: rgba(var(--primary-rgb), 0.06);
}

.settings-users-sync-note,
.settings-user-actions-summary {
    display: grid;
    gap: 0.3rem;
}

.settings-users-sync-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.settings-users-sync-note strong,
.settings-users-sync-note span {
    display: block;
}

.settings-users-sync-note .btn {
    flex: 0 0 auto;
}

.settings-users-context code,
.settings-user-actions-summary code {
    white-space: normal;
    overflow-wrap: anywhere;
}

.settings-user-details-modal .form-control:disabled {
    background: rgba(15, 23, 42, 0.035);
    color: #1f2937;
    opacity: 1;
}

.settings-user-actions-card .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

[data-theme-mode=dark] .settings-user-card,
[data-theme-mode=dark] .settings-users-list-card,
[data-theme-mode=dark] .settings-users-overview-row {
    border-color: rgba(255, 255, 255, 0.1);
}

[data-theme-mode=dark] .settings-users-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-users-header-card,
[data-theme-mode=dark] .settings-user-card {
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
}

[data-theme-mode=dark] .settings-user-card:hover {
    border-color: rgba(var(--primary-rgb), 0.5);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.32);
}

[data-theme-mode=dark] .settings-users-overview-row,
[data-theme-mode=dark] .settings-users-empty-search,
[data-theme-mode=dark] .settings-user-details-modal .form-control:disabled {
    background: rgba(255, 255, 255, 0.04);
    color: #e5e7eb;
}

[data-theme-mode=dark] .settings-users-sync-note,
[data-theme-mode=dark] .settings-users-context,
[data-theme-mode=dark] .settings-user-actions-summary {
    background: rgba(var(--primary-rgb), 0.12);
}

[data-theme-mode=dark] .settings-organization-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-organization-profile-card,
[data-theme-mode=dark] .settings-org-side-card {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-org-cover {
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.16), transparent 30%),
        linear-gradient(135deg, #0f172a 0%, #1d4ed8 48%, #334155 100%);
}

[data-theme-mode=dark] .settings-org-avatar {
    border-color: #0f172a;
    background: rgba(var(--primary-rgb), 0.22);
    color: #dbeafe;
}

[data-theme-mode=dark] .settings-org-avatar--logo-card {
    border-color: rgba(246, 243, 234, 0.13);
    background: rgba(17, 24, 27, 0.82);
    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.34);
}

[data-theme-mode=dark] .settings-org-identity-section,
[data-theme-mode=dark] .settings-org-stats,
[data-theme-mode=dark] .settings-org-section {
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme-mode=dark] .settings-org-stats > div + div {
    border-left-color: rgba(255, 255, 255, 0.12);
}

[data-theme-mode=dark] .settings-org-logo-status,
[data-theme-mode=dark] .settings-org-info-tile,
[data-theme-mode=dark] .settings-org-switch,
[data-theme-mode=dark] .settings-org-logo-preview,
[data-theme-mode=dark] .settings-org-overview-row,
[data-theme-mode=dark] .settings-org-quick-links a {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-org-quick-links a:hover,
[data-theme-mode=dark] .settings-org-quick-links a:focus {
    border-color: rgba(var(--primary-rgb), 0.45);
    background: rgba(var(--primary-rgb), 0.13);
}

[data-theme-mode=dark] .settings-experience-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-experience-rail,
[data-theme-mode=dark] .settings-experience-preview-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-experience-command {
    border-color: rgba(var(--primary-rgb), 0.32);
    background: rgba(var(--primary-rgb), 0.13);
}

[data-theme-mode=dark] .settings-experience-field,
[data-theme-mode=dark] .settings-experience-option,
[data-theme-mode=dark] .settings-experience-switch,
[data-theme-mode=dark] .settings-experience-preview-footer span {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-experience-preview-stage {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(145deg, #080c10, #132024 52%, #231c20);
    background-size: 38px 38px, 38px 38px, auto;
}

[data-theme-mode=dark] .settings-experience-frame {
    border-color: rgba(255, 255, 255, 0.14);
    background: #0f172a;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

[data-theme-mode=dark] .settings-purpose-table-wrap,
[data-theme-mode=dark] .settings-purpose-register-preview,
[data-theme-mode=dark] .settings-purpose-report-preview,
[data-theme-mode=dark] .settings-session-preview-card,
[data-theme-mode=dark] .settings-session-timeline,
[data-theme-mode=dark] .settings-session-risk-grid {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

[data-theme-mode=dark] .settings-purpose-preview-stage,
[data-theme-mode=dark] .settings-session-preview-stage {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(145deg, #080c10, #132024 54%, #231c20);
    background-size: 36px 36px, 36px 36px, auto;
}

[data-theme-mode=dark] .settings-purpose-input-preview > div,
[data-theme-mode=dark] .settings-purpose-suggestion,
[data-theme-mode=dark] .settings-purpose-routing > div {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-purpose-empty {
    border-color: rgba(255, 255, 255, 0.16);
}

[data-theme-mode=dark] .settings-purpose-palette span {
    color: #f8fafc;
    background: color-mix(in srgb, var(--purpose-color) 30%, rgba(15, 23, 42, 0.95));
}

[data-theme-mode=dark] .settings-session-risk-grid > div + div {
    border-left-color: rgba(255, 255, 255, 0.12);
}

[data-theme-mode=dark] .settings-ticket-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-ticket-rail,
[data-theme-mode=dark] .settings-ticket-preview-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-ticket-command {
    border-color: rgba(var(--primary-rgb), 0.32);
    background: rgba(var(--primary-rgb), 0.13);
}

[data-theme-mode=dark] .settings-ticket-field,
[data-theme-mode=dark] .settings-ticket-option,
[data-theme-mode=dark] .settings-ticket-switch,
[data-theme-mode=dark] .settings-ticket-preview-footer span {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-ticket-preview-stage {
    background:
        linear-gradient(90deg, rgba(246, 243, 234, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(246, 243, 234, 0.06) 1px, transparent 1px),
        linear-gradient(145deg, #070b0f, #102024 52%, #241b20);
    background-size: 38px 38px, 38px 38px, auto;
}

[data-theme-mode=dark] .settings-ticket-phone {
    --settings-ticket-ink: #f6f3ea;
    --settings-ticket-muted: #b9b1a3;
    --settings-ticket-card: #1f3032;
    --settings-ticket-card-2: #221a1d;
    --settings-ticket-forest: #7bd7a8;
    border: 1px solid rgba(246, 243, 234, 0.12);
    background: rgba(14, 20, 23, 0.82);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.48);
}

[data-theme-mode=dark] .settings-ticket-statusbar {
    color: #f6f3ea;
}

[data-theme-mode=dark] .settings-ticket-card {
    color: #f6f3ea;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 34%),
        radial-gradient(circle at 88% 0, rgba(255, 141, 103, 0.18), transparent 36%),
        linear-gradient(145deg, var(--settings-ticket-card), var(--settings-ticket-card-2));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.12), 0 18px 52px rgba(0, 0, 0, 0.34);
}

[data-theme-mode=dark] .settings-ticket-card__header h3 {
    color: #f6f3ea;
}

[data-theme-mode=dark] .settings-ticket-kicker,
[data-theme-mode=dark] .settings-ticket-route span,
[data-theme-mode=dark] .settings-ticket-meta span,
[data-theme-mode=dark] .settings-ticket-details span,
[data-theme-mode=dark] .settings-ticket-code-label {
    color: rgba(246, 243, 234, 0.66);
}

[data-theme-mode=dark] .settings-ticket-status {
    color: #071012;
    background: #7bd7a8;
}

[data-theme-mode=dark] .settings-ticket-route,
[data-theme-mode=dark] .settings-ticket-meta {
    border-bottom-color: rgba(246, 243, 234, 0.14);
}

[data-theme-mode=dark] .settings-ticket-route small,
[data-theme-mode=dark] .settings-ticket-route i,
[data-theme-mode=dark] .settings-ticket-details p {
    color: rgba(246, 243, 234, 0.78);
}

[data-theme-mode=dark] .settings-ticket-code {
    background: #f7f8f4;
    box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34);
}

[data-theme-mode=dark] .settings-ticket-actions button {
    color: #071012;
    background: #7bd7a8;
}

[data-theme-mode=dark] .settings-ticket-actions .settings-ticket-button-muted {
    color: #f6f3ea;
    background: rgba(246, 243, 234, 0.12);
}

[data-theme-mode=dark] .settings-ticket-actions .settings-ticket-button-danger {
    color: #071012;
    background: #ff8d67;
}

[data-theme-mode=dark] .settings-ticket-details section {
    border-top-color: rgba(246, 243, 234, 0.12);
}

[data-theme-mode=dark] .settings-ticket-map-actions span {
    color: #071012;
    background: rgba(142, 212, 239, 0.9);
}

[data-theme-mode=dark] .settings-printer-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-printer-rail,
[data-theme-mode=dark] .settings-printer-preview-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-printer-print-command {
    border-color: rgba(var(--primary-rgb), 0.32);
    background: rgba(var(--primary-rgb), 0.13);
}

[data-theme-mode=dark] .settings-printer-option,
[data-theme-mode=dark] .settings-printer-switch,
[data-theme-mode=dark] .settings-printer-preview-footer span {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-printer-option__icon {
    background: rgba(255, 255, 255, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

[data-theme-mode=dark] .settings-printer-preview-stage {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        rgba(255, 255, 255, 0.035);
    background-size: 24px 24px;
}

[data-theme-mode=dark] .settings-printer-preview-paper {
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

[data-theme-mode=dark] .settings-wifi-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-wifi-rail,
[data-theme-mode=dark] .settings-wifi-preview-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-wifi-command {
    border-color: rgba(var(--primary-rgb), 0.32);
    background: rgba(var(--primary-rgb), 0.13);
}

[data-theme-mode=dark] .settings-wifi-field,
[data-theme-mode=dark] .settings-wifi-switch,
[data-theme-mode=dark] .settings-wifi-preview-footer span {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-wifi-note {
    border-color: rgba(var(--info-rgb), 0.28);
    background: rgba(var(--info-rgb), 0.11);
}

[data-theme-mode=dark] .settings-wifi-preview-stage {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(135deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.055));
    background-size: 24px 24px, 24px 24px, auto;
}

[data-theme-mode=dark] .settings-wifi-app-preview,
[data-theme-mode=dark] .settings-wifi-info-panel {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 24px 62px rgba(0, 0, 0, 0.32);
}

[data-theme-mode=dark] .settings-wifi-app-brand,
[data-theme-mode=dark] .settings-wifi-app-company,
[data-theme-mode=dark] .settings-wifi-details > div {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.07);
    color: #e5e7eb;
}

[data-theme-mode=dark] .settings-wifi-copy h3,
[data-theme-mode=dark] .settings-wifi-details strong {
    color: #f8fafc;
}

[data-theme-mode=dark] .settings-wifi-copy p:not(.settings-wifi-kicker),
[data-theme-mode=dark] .settings-wifi-details span {
    color: #cbd5e1;
}

[data-theme-mode=dark] .settings-wifi-back,
[data-theme-mode=dark] .settings-wifi-kicker {
    color: #9bd1bf;
}

[data-theme-mode=dark] .settings-email-page {
    background: rgba(255, 255, 255, 0.035);
}

[data-theme-mode=dark] .settings-email-rail,
[data-theme-mode=dark] .settings-email-preview-card {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

[data-theme-mode=dark] .settings-email-command {
    border-color: rgba(var(--info-rgb), 0.32);
    background: rgba(var(--info-rgb), 0.12);
}

[data-theme-mode=dark] .settings-email-field,
[data-theme-mode=dark] .settings-email-switch,
[data-theme-mode=dark] .settings-email-summary > div,
[data-theme-mode=dark] .settings-email-preview-footer span {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-email-note--ready {
    border-color: rgba(var(--success-rgb), 0.28);
    background: rgba(var(--success-rgb), 0.11);
}

[data-theme-mode=dark] .settings-email-note--warning {
    border-color: rgba(var(--warning-rgb), 0.32);
    background: rgba(var(--warning-rgb), 0.12);
}

[data-theme-mode=dark] .settings-email-preview-stage {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        rgba(255, 255, 255, 0.035);
    background-size: 24px 24px, 24px 24px, auto;
}

[data-theme-mode=dark] .settings-email-client {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
}

[data-theme-mode=dark] .settings-email-client__toolbar,
[data-theme-mode=dark] .settings-email-client__meta {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.045);
}

[data-theme-mode=dark] .settings-email-client__meta > div + div {
    border-left-color: rgba(255, 255, 255, 0.1);
}

[data-theme-mode=dark] .settings-email-client__meta span {
    color: #cbd5e1;
}

[data-theme-mode=dark] .settings-email-client__meta strong {
    color: #f8fafc;
}

@media (max-width: 1199.98px) {
    .settings-users-overview {
        position: static;
    }

    .settings-experience-preview-card,
    .settings-printer-preview-card,
    .settings-ticket-preview-card,
    .settings-wifi-preview-card,
    .settings-email-preview-card {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .settings-organization-page {
        padding: 0.75rem;
    }

    .settings-org-identity-section {
        flex-direction: column;
    }

    .settings-org-logo-status {
        width: 100%;
    }

    .settings-org-stats {
        grid-template-columns: 1fr;
    }

    .settings-org-stats > div + div {
        border-left: 0;
        border-top: 1px dashed rgba(15, 23, 42, 0.12);
    }

    [data-theme-mode=dark] .settings-org-stats > div + div {
        border-top-color: rgba(255, 255, 255, 0.12);
    }

    .settings-experience-page {
        padding: 0.75rem;
    }

    .settings-experience-preview-stage {
        min-height: auto;
        padding: 1rem;
    }

    .settings-purpose-preview-stage,
    .settings-session-preview-stage {
        min-height: auto;
        padding: 0.75rem;
    }

    .settings-purpose-routing,
    .settings-session-risk-grid {
        grid-template-columns: 1fr;
    }

    .settings-session-risk-grid > div + div {
        border-left: 0;
        border-top: 1px dashed rgba(15, 23, 42, 0.12);
    }

    [data-theme-mode=dark] .settings-session-risk-grid > div + div {
        border-top-color: rgba(255, 255, 255, 0.12);
    }

    .settings-experience-frame,
    .settings-experience-preview-stage--screen .settings-experience-frame {
        min-height: 560px;
    }

    .settings-printer-page {
        padding: 0.75rem;
    }

    .settings-printer-preview-stage {
        min-height: 480px;
        padding: 1rem;
    }

    .settings-printer-preview-paper {
        min-width: 100%;
        min-height: 360px;
        padding: 1rem;
    }

    .settings-ticket-page {
        padding: 0.75rem;
    }

    .settings-ticket-preview-stage {
        min-height: auto;
        padding: 1rem;
    }

    .settings-ticket-phone {
        min-height: 680px;
    }

    .settings-wifi-page {
        padding: 0.75rem;
    }

    .settings-wifi-preview-stage {
        min-height: auto;
        padding: 1rem;
    }

    .settings-wifi-app-preview {
        min-height: 0;
    }

    .settings-wifi-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-wifi-qr {
        width: min(100%, 260px);
        justify-self: center;
    }

    .settings-email-page {
        padding: 0.75rem;
    }

    .settings-email-preview-stage {
        min-height: auto;
        padding: 1rem;
    }

    .settings-email-client__meta {
        grid-template-columns: 1fr;
    }

    .settings-email-client__meta > div + div {
        border-left: 0;
        border-top: 1px solid rgba(15, 23, 42, 0.08);
    }

    [data-theme-mode=dark] .settings-email-client__meta > div + div {
        border-top-color: rgba(255, 255, 255, 0.1);
    }

    .settings-email-ticket {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .settings-org-avatar--logo-card {
        min-width: 168px;
        max-width: calc(100% - 5.5rem);
        height: 58px;
        padding: 7px 10px;
    }

    .settings-org-avatar--logo-card .settings-org-logo-img {
        max-width: 220px;
        max-height: 34px;
    }

    .settings-users-header {
        align-items: stretch;
    }

    .settings-users-controls {
        width: 100%;
    }

    .settings-users-controls {
        flex: 1 1 100%;
        max-width: none;
    }

    .settings-users-search {
        min-width: 0;
        width: auto;
    }

    .settings-users-controls > .dropdown {
        flex: 0 0 auto;
    }

    .settings-users-page {
        padding: 0.75rem;
    }

    .settings-experience-metric-grid {
        grid-template-columns: 1fr;
    }

    .settings-session-duration-grid {
        grid-template-columns: 1fr;
    }

    .settings-experience-frame,
    .settings-experience-preview-stage--screen .settings-experience-frame {
        min-height: 500px;
    }

    .settings-wifi-app-chrome {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-wifi-copy h3 {
        font-size: 1.8rem;
    }

    .settings-wifi-info-panel {
        padding: 1rem;
    }

    .settings-ticket-phone {
        padding: 12px;
        border-radius: 30px;
    }

    .settings-ticket-card {
        gap: 18px;
        padding: 22px;
        border-radius: 24px;
    }

    .settings-ticket-card__header h3 {
        font-size: 1.9rem;
    }

    .settings-ticket-route {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-ticket-route i {
        display: none;
    }

    .settings-email-message {
        padding: 0.75rem;
    }

    .settings-email-message__hero,
    .settings-email-message__body {
        padding: 1.1rem;
    }

    .settings-email-host-card {
        flex-direction: column;
    }

    .settings-email-summary > div {
        display: grid;
        gap: 0.25rem;
    }

    .settings-email-summary strong {
        max-width: none;
        text-align: left;
    }
}

.visitor-adaptive-surface {
    background-color: rgb(var(--light-rgb)) !important;
}

.visitor-dashboard .card.custom-card {
    overflow: hidden;
}

.visitor-dashboard-stat {
    border-top: 3px solid rgba(var(--primary-rgb), 0.3);
}

.visitor-dashboard-stat--primary {
    border-top-color: rgba(var(--primary-rgb), 0.45);
}

.visitor-dashboard-stat--secondary {
    border-top-color: rgba(var(--secondary-rgb), 0.45);
}

.visitor-dashboard-stat--success {
    border-top-color: rgba(var(--success-rgb), 0.45);
}

.visitor-dashboard-stat--warning {
    border-top-color: rgba(var(--warning-rgb), 0.55);
}

.visitor-dashboard-stat--info {
    border-top-color: rgba(var(--info-rgb), 0.45);
}

.visitor-dashboard-stat .avatar {
    flex: 0 0 auto;
}

.visitor-dashboard-stat h3 {
    max-width: 100%;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.16;
}

.visitor-dashboard-stat__detail {
    flex: 0 0 min(7.25rem, 32%);
    max-width: 7.25rem;
    overflow-wrap: anywhere;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: right;
}

.visitor-dashboard-flow__grid {
    display: grid;
    grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
}

.visitor-dashboard-progress {
    position: relative;
    display: grid;
    place-items: center;
    width: min(12.5rem, 100%);
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 50%;
    background:
        conic-gradient(rgb(var(--primary-rgb)) calc(var(--value) * 1%), rgba(var(--primary-rgb), 0.11) 0),
        rgb(var(--light-rgb));
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.visitor-dashboard-progress::before {
    position: absolute;
    inset: 1.1rem;
    content: "";
    border-radius: inherit;
    background: var(--custom-white);
    box-shadow: 0 1rem 2.25rem rgba(15, 23, 42, 0.08);
}

.visitor-dashboard-progress > div {
    position: relative;
    display: grid;
    gap: 0.1rem;
    text-align: center;
}

.visitor-dashboard-progress strong {
    color: var(--default-text-color);
    font-size: clamp(1.8rem, 4vw, 2.65rem);
    font-weight: 800;
    line-height: 1;
}

.visitor-dashboard-progress span {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-dashboard-breakdown,
.visitor-dashboard-actions,
.visitor-dashboard-presence,
.visitor-dashboard-list {
    display: grid;
    gap: 0.75rem;
}

.visitor-dashboard-breakdown__item {
    min-width: 0;
}

.visitor-dashboard-breakdown__item span,
.visitor-dashboard-list__item strong,
.visitor-dashboard-presence__item strong,
.visitor-dashboard-actions strong,
.visitor-dashboard-timeline strong {
    color: var(--default-text-color);
}

.visitor-dashboard-breakdown__item span,
.visitor-dashboard-list__item small,
.visitor-dashboard-presence__item small,
.visitor-dashboard-actions small,
.visitor-dashboard-timeline small {
    color: var(--text-muted);
}

.visitor-dashboard-breakdown__item .progress,
.visitor-dashboard-list__item .progress {
    height: 0.42rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.08);
}

.visitor-dashboard-breakdown__item .progress-bar,
.visitor-dashboard-list__item .progress-bar {
    border-radius: inherit;
    background: rgb(var(--primary-rgb));
}

.visitor-dashboard-breakdown__item--secondary .progress-bar,
.visitor-dashboard-list__item--secondary .progress-bar {
    background: rgb(var(--secondary-rgb));
}

.visitor-dashboard-breakdown__item--success .progress-bar,
.visitor-dashboard-list__item--success .progress-bar {
    background: rgb(var(--success-rgb));
}

.visitor-dashboard-breakdown__item--warning .progress-bar,
.visitor-dashboard-list__item--warning .progress-bar {
    background: rgb(var(--warning-rgb));
}

.visitor-dashboard-breakdown__item--info .progress-bar,
.visitor-dashboard-list__item--info .progress-bar {
    background: rgb(var(--info-rgb));
}

.visitor-dashboard-list__item--purpose .progress-bar {
    background: var(--purpose-color, rgb(var(--primary-rgb)));
}

.visitor-dashboard-list__item--purpose {
    border-left: 4px solid var(--purpose-color, rgb(var(--primary-rgb)));
}

.visitor-dashboard-actions a,
.visitor-dashboard-presence__item,
.visitor-dashboard-list__item {
    display: grid;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
}

.visitor-dashboard-actions a {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 0.75rem;
    color: var(--default-text-color);
}

.visitor-dashboard-actions a:hover,
.visitor-dashboard-presence__item:hover {
    border-color: rgba(var(--primary-rgb), 0.22);
    background: rgba(var(--primary-rgb), 0.06);
}

.visitor-dashboard-actions span:last-child,
.visitor-dashboard-presence__item span:nth-child(2),
.visitor-dashboard-list__item > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.visitor-dashboard-actions small,
.visitor-dashboard-presence__item small,
.visitor-dashboard-timeline small,
.visitor-dashboard-list__item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.76rem;
}

.visitor-dashboard-timeline {
    position: relative;
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.visitor-dashboard-timeline::before {
    position: absolute;
    top: 0.25rem;
    bottom: 0.25rem;
    left: 2.15rem;
    width: 0.125rem;
    content: "";
    border-radius: 999px;
    background: var(--default-border);
}

.visitor-dashboard-timeline li {
    position: relative;
    display: grid;
    grid-template-columns: 4.3rem minmax(0, 1fr);
    gap: 0.75rem;
    min-width: 0;
}

.visitor-dashboard-timeline li > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding-bottom: 0.15rem;
}

.visitor-dashboard-timeline__time {
    z-index: 1;
    display: inline-grid;
    place-items: center;
    align-self: start;
    min-height: 2.1rem;
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    border-radius: 0.5rem;
    color: rgb(var(--primary-rgb));
    background: var(--custom-white);
    font-size: 0.82rem;
    font-weight: 800;
}

.visitor-dashboard-presence__item {
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    min-height: 4.35rem;
    padding: 0.65rem 0.75rem;
    color: var(--default-text-color);
}

.visitor-dashboard-presence__item .badge {
    white-space: nowrap;
}

.visitor-dashboard-list__item {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.75rem;
}

.visitor-dashboard-list__item .progress {
    grid-column: 1 / -1;
}

.visitor-dashboard-list__item > span {
    color: var(--default-text-color);
    font-weight: 800;
}

.visitor-dashboard-empty {
    display: block;
    padding: 1rem;
    border: 1px dashed var(--default-border);
    border-radius: 0.5rem;
    color: var(--text-muted);
    background: rgb(var(--light-rgb));
    font-weight: 700;
    text-align: center;
}

.visitor-performance-card .card-header {
    gap: 1rem;
}

.visitor-performance-card.is-loading #performanceReport {
    opacity: 0.56;
}

.visitor-performance-toolbar {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(11rem, 14rem) minmax(11rem, auto);
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.visitor-performance-host {
    min-width: 0;
    position: relative;
    z-index: 12;
}

.visitor-performance-host .input-group-text,
.visitor-performance-host .btn,
.visitor-performance-toolbar .form-control,
.visitor-performance-toolbar .form-select {
    min-height: 2.55rem;
}

.visitor-performance-summary {
    display: grid;
    justify-items: end;
    gap: 0.15rem;
    min-width: 0;
    padding: 0.45rem 0;
}

.visitor-performance-summary span {
    color: var(--default-text-color);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

.visitor-performance-summary small {
    max-width: 20rem;
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 700;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-performance-chart {
    min-height: 22.5rem;
}

.visitor-performance-host .visitor-host-suggestions--dashboard {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 35;
    margin-top: 0;
}

.visitor-report-page {
    display: grid;
    gap: 1rem;
}

.visitor-report-filter-card .card-header,
.visitor-report-card .card-header {
    gap: 1rem;
}

.visitor-report-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: 0.85rem;
}

.visitor-report-stat {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
    min-height: 7rem;
    padding: 1rem;
    border: 1px solid var(--default-border);
    border-top: 3px solid rgba(var(--primary-rgb), 0.38);
    border-radius: 0.5rem;
    background: var(--custom-white);
    box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.05);
}

.visitor-report-stat--success {
    border-top-color: rgba(var(--success-rgb), 0.55);
}

.visitor-report-stat--info {
    border-top-color: rgba(var(--info-rgb), 0.55);
}

.visitor-report-stat--secondary {
    border-top-color: rgba(var(--secondary-rgb), 0.55);
}

.visitor-report-stat--dark {
    border-top-color: rgba(17, 24, 39, 0.45);
}

.visitor-report-stat--warning {
    border-top-color: rgba(var(--warning-rgb), 0.65);
}

.visitor-report-stat > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.visitor-report-stat small {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-report-stat strong {
    overflow: hidden;
    color: var(--default-text-color);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-report-stat div > span {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-report-chart {
    min-height: 22.5rem;
}

.visitor-report-chart--compact {
    min-height: 19.5rem;
}

.visitor-report-aggregate-list {
    display: grid;
    gap: 0.55rem;
}

.visitor-report-aggregate-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.72rem 0.8rem;
    border: 1px solid var(--default-border);
    border-left: 4px solid rgba(var(--primary-rgb), 0.45);
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
}

.visitor-report-aggregate-row--purpose {
    border-left-color: var(--purpose-color, rgba(var(--primary-rgb), 0.45));
}

.visitor-report-aggregate-row span {
    min-width: 0;
    overflow: hidden;
    color: var(--default-text-color);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-report-aggregate-row strong {
    color: var(--default-text-color);
    font-weight: 800;
}

.visitor-report-table th,
.visitor-report-table td {
    white-space: nowrap;
}

.visitor-report-table td {
    max-width: 17rem;
}

.visitor-report-table td > a,
.visitor-report-table td > div {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip,
[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip.apexcharts-theme-dark {
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--default-text-color) !important;
    background: rgb(var(--body-bg-rgb)) !important;
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, 0.35) !important;
}

[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-title {
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--default-text-color) !important;
    background: rgb(var(--light-rgb)) !important;
}

[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-text,
[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-text-y-label,
[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-text-y-value,
[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-text-goals-value,
[data-theme-mode=dark] .visitor-performance-card .apexcharts-tooltip-series-group {
    color: var(--default-text-color) !important;
}

[data-theme-mode=dark] .visitor-report-stat,
[data-theme-mode=dark] .visitor-report-aggregate-row {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
}

[data-theme-mode=dark] .visitor-dashboard-progress::before,
[data-theme-mode=dark] .visitor-dashboard-timeline__time {
    background: rgb(var(--body-bg-rgb));
}

[data-theme-mode=dark] .visitor-dashboard-actions a,
[data-theme-mode=dark] .visitor-dashboard-presence__item,
[data-theme-mode=dark] .visitor-dashboard-list__item,
[data-theme-mode=dark] .visitor-dashboard-empty {
    border-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 991.98px) {
    .visitor-dashboard-flow__grid {
        grid-template-columns: 1fr;
    }

    .visitor-dashboard-progress {
        width: min(11rem, 100%);
    }

    .visitor-performance-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .visitor-performance-summary {
        grid-column: 1 / -1;
        justify-items: start;
    }

    .visitor-performance-summary small {
        max-width: 100%;
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .visitor-dashboard-stat__detail {
        flex-basis: min(6rem, 34%);
        max-width: 6rem;
        font-size: 0.68rem;
    }

    .visitor-dashboard-presence__item {
        grid-template-columns: 2.5rem minmax(0, 1fr);
    }

    .visitor-dashboard-presence__item .badge {
        grid-column: 2;
        width: max-content;
    }

    .visitor-performance-toolbar {
        grid-template-columns: 1fr;
    }
}

.visitor-list-page {
    display: grid;
    gap: 1rem;
}

.visitor-list-filter-card .card-header,
.visitor-list-results-card .card-header {
    gap: 1rem;
}

.visitor-list-filter-card .card-body {
    display: grid;
    gap: 1rem;
}

.visitor-list-toolbar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    align-items: end;
    gap: 0.85rem;
    width: 100%;
    min-width: 0;
}

.visitor-list-field {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    max-width: 100%;
}

.visitor-list-field--search {
    grid-column: span 2;
}

.visitor-list-field > span:first-child {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-list-field .form-control,
.visitor-list-field .form-select,
.visitor-filter-dropdown .btn {
    width: 100%;
    min-width: 0;
    min-height: 2.55rem;
}

.visitor-list-field .input-group,
.visitor-filter-dropdown {
    min-width: 0;
    max-width: 100%;
}

.visitor-list-field .input-group {
    flex-wrap: nowrap;
}

.visitor-list-field .input-group > .form-control {
    min-width: 0;
}

.visitor-list-field .input-group-text {
    flex: 0 0 auto;
}

.visitor-list-field--search .input-group-text {
    color: var(--text-muted);
}

.visitor-filter-dropdown .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    overflow: hidden;
    border-color: var(--default-border);
    color: var(--default-text-color);
    background: rgb(var(--light-rgb));
    text-align: left;
}

.visitor-filter-dropdown .btn span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-filter-dropdown .dropdown-toggle::after {
    margin-left: auto;
}

.visitor-filter-menu {
    width: min(22rem, 90vw);
    max-width: calc(100vw - 2rem);
    max-height: 19rem;
    overflow: auto;
    padding: 0.45rem;
    border-color: var(--default-border);
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.14);
}

.visitor-filter-check {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.45rem;
    margin: 0;
    padding: 0.45rem 0.5rem;
    border-radius: 0.5rem;
    color: var(--default-text-color);
    cursor: pointer;
}

.visitor-filter-check:hover {
    background: rgba(var(--primary-rgb), 0.08);
}

.visitor-filter-check span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-filter-check small {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.visitor-filter-empty {
    padding: 0.75rem;
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.visitor-column-dropdown .btn {
    display: inline-flex;
    align-items: center;
    min-height: 2.2rem;
}

.visitor-column-menu {
    width: min(18rem, 90vw);
    padding: 0.8rem;
    border-color: var(--default-border);
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.14);
}

.visitor-column-menu .form-check {
    min-height: 1.75rem;
}

.visitor-list-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.visitor-list-ranges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.visitor-fire-list-button {
    display: inline-flex;
    align-items: center;
    font-weight: 800;
    box-shadow: 0 0.45rem 1rem rgba(var(--danger-rgb), 0.18);
}

.visitor-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.visitor-active-filters span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(var(--primary-rgb), 0.18);
    border-radius: 0.5rem;
    color: var(--default-text-color);
    background: rgba(var(--primary-rgb), 0.07);
    font-size: 0.76rem;
    font-weight: 700;
}

.visitor-active-filters strong {
    color: rgb(var(--primary-rgb));
}

.visitor-fire-banner {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(var(--danger-rgb), 0.28);
    border-left: 4px solid rgb(var(--danger-rgb));
    border-radius: 0.5rem;
    background: rgba(var(--danger-rgb), 0.07);
    color: var(--default-text-color);
}

.visitor-fire-banner__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border-radius: 50%;
    color: rgb(var(--danger-rgb));
    background: rgba(var(--danger-rgb), 0.13);
    font-size: 1.25rem;
}

.visitor-fire-banner div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.visitor-fire-banner strong {
    font-size: 0.92rem;
    font-weight: 800;
}

.visitor-fire-banner span:not(.visitor-fire-banner__icon) {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.visitor-list-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
}

.visitor-list-summary > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    min-height: 6.5rem;
    padding: 0.9rem;
    border: 1px solid var(--default-border);
    border-radius: 0.5rem;
    background: var(--custom-white);
    box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.05);
}

.visitor-list-summary span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-list-summary strong {
    color: var(--default-text-color);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
}

.visitor-list-summary small {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-list-primary {
    color: var(--default-text-color);
    font-weight: 800;
    text-decoration: none;
}

.visitor-list-primary:hover,
.visitor-list-primary:focus {
    color: rgb(var(--primary-rgb));
}

.visitor-list-results-card--fire {
    border-color: rgba(var(--danger-rgb), 0.32);
}

.visitor-list-results-card--fire .card-header {
    border-bottom-color: rgba(var(--danger-rgb), 0.2);
}

.visitor-list-results-card--fire .card-title {
    color: rgb(var(--danger-rgb));
}

.visitor-list-table th,
.visitor-list-table td {
    white-space: nowrap;
}

.visitor-list-table [data-column-key] {
    max-width: 16rem;
}

.visitor-list-table td[data-column-key] > span,
.visitor-list-table td[data-column-key] > div,
.visitor-list-table td[data-column-key] > a {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-list-table td[data-column-key="visitor"],
.visitor-list-table td[data-column-key="company"],
.visitor-list-table td[data-column-key="email"],
.visitor-list-table td[data-column-key="host"],
.visitor-list-table td[data-column-key="lastKnown"],
.visitor-list-table td[data-column-key="purpose"],
.visitor-list-table td[data-column-key="notes"] {
    min-width: 11rem;
}

.visitor-list-table td[data-column-key="lastKnown"] {
    min-width: 9.5rem;
}

.visitor-list-table td[data-column-key="notes"] {
    max-width: 22rem;
}

.visitor-list-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    min-width: 0;
}

.visitor-list-page-size {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.visitor-list-page-size .form-select {
    width: auto;
    min-width: 6.25rem;
}

.visitor-list-page-size .text-muted {
    font-size: 0.78rem;
    white-space: nowrap;
}

.visitor-list-pagination {
    max-width: 100%;
    overflow-x: auto;
}

.visitor-list-pagination .pagination {
    flex-wrap: nowrap;
    gap: 0.22rem;
}

.visitor-list-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.15rem;
    min-height: 2.15rem;
    border-radius: 0.45rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.visitor-list-pagination .page-item:first-child .page-link,
.visitor-list-pagination .page-item:last-child .page-link {
    min-width: 2.35rem;
}

[data-theme-mode=dark] .visitor-filter-dropdown .btn,
[data-theme-mode=dark] .visitor-list-summary > div {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
}

[data-theme-mode=dark] .visitor-filter-menu {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.34);
}

[data-theme-mode=dark] .visitor-column-menu {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.34);
}

@media (max-width: 1399.98px) {
    .visitor-list-toolbar {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
    }
}

@media (max-width: 991.98px) {
    .visitor-list-toolbar,
    .visitor-list-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .visitor-list-field--search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .visitor-list-toolbar,
    .visitor-list-summary {
        grid-template-columns: 1fr;
    }

    .visitor-list-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .visitor-list-ranges,
    .visitor-list-actions .btn {
        width: 100%;
    }

    .visitor-list-ranges .btn {
        flex: 1 1 calc(50% - 0.5rem);
    }

    .visitor-fire-banner {
        align-items: flex-start;
        padding: 0.85rem;
    }

    .visitor-fire-banner__icon {
        width: 2.2rem;
        height: 2.2rem;
    }

    .visitor-list-results-card--fire .visitor-list-table th,
    .visitor-list-results-card--fire .visitor-list-table td {
        padding: 0.62rem 0.55rem;
        font-size: 0.78rem;
    }

    .visitor-list-results-card--fire .visitor-list-table [data-column-key] {
        max-width: 10rem;
    }

    .visitor-list-table-footer,
    .visitor-list-page-size {
        align-items: stretch;
        flex-direction: column;
    }

    .visitor-list-page-size,
    .visitor-list-page-size .form-select,
    .visitor-list-pagination {
        width: 100%;
    }

    .visitor-list-pagination .pagination {
        justify-content: flex-end;
    }
}

.visitor-screen-option {
    display: block;
    padding: 1rem 1rem 1rem 2.75rem !important;
}

.visitor-screen-option .form-check-input {
    margin-left: -1.75rem;
}

.visitor-purpose-table-wrap {
    border: 1px solid var(--default-border);
    border-radius: 0.5rem;
    overflow: hidden;
}

.visitor-purpose-table .form-control {
    min-width: 10rem;
}

.visitor-purpose-color {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 9rem;
}

.visitor-purpose-color .form-control-color {
    width: 2.7rem;
    height: 2.25rem;
    padding: 0.2rem;
}

.visitor-purpose-color__value {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.visitor-country-settings {
    position: relative;
    z-index: 8;
}

.visitor-country-control {
    position: relative;
}

.visitor-country-control input[data-country-name] {
    padding-left: 3.2rem;
}

.visitor-country-flag,
.visitor-country-option__flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: rgb(var(--light-rgb));
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.visitor-country-flag {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    width: 1.625rem;
    height: 1.625rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.visitor-country-flag img,
.visitor-country-option__flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.visitor-country-suggestions {
    position: absolute;
    z-index: 40;
    left: 0;
    right: 0;
    top: 4.65rem;
    display: grid;
    gap: 0.375rem;
    max-height: 18rem;
    overflow: auto;
    padding: 0.5rem;
    border: 1px solid rgba(53, 93, 76, 0.22);
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
    box-shadow: 0 1.5rem 3.6rem rgba(15, 23, 42, 0.16);
}

.visitor-country-suggestions[hidden] {
    display: none;
}

.visitor-country-option {
    display: grid;
    grid-template-columns: 1.875rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    min-height: 2.625rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    color: var(--default-text-color);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.visitor-country-option:hover,
.visitor-country-option:focus-visible,
.visitor-country-option.is-active {
    border-color: rgba(53, 93, 76, 0.2);
    background: rgba(var(--primary-rgb), 0.08);
}

.visitor-country-option__flag {
    width: 1.875rem;
    height: 1.875rem;
}

.visitor-country-option__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
}

.visitor-country-option__code {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.visitor-country-empty {
    padding: 0.75rem;
    color: var(--text-muted);
    font-size: 0.84rem;
    font-weight: 700;
}

#organizationUsersModal .modal-header code {
    font-size: 0.8rem;
}

#organizationUsersModal .table td,
#organizationUsersModal .table th {
    white-space: nowrap;
}

.visitor-register-host-field,
.visitor-register-purpose-field {
    position: relative;
    z-index: 20;
}

.visitor-host-suggestions {
    position: absolute;
    z-index: 45;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    display: grid;
    gap: 0.45rem;
    max-height: 16.25rem;
    overflow: auto;
    margin-top: 0;
    padding: 0.5rem;
    border: 1px solid rgba(53, 93, 76, 0.22);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 1.5rem 3.6rem rgba(15, 23, 42, 0.16);
}

.visitor-host-suggestions[hidden] {
    display: none;
}

.visitor-host-suggestion {
    width: 100%;
    min-height: 3.6rem;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.625rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    color: #111827;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.visitor-host-suggestion:hover,
.visitor-host-suggestion:focus-visible,
.visitor-host-suggestion.is-active {
    transform: translateY(-1px);
    border-color: rgba(53, 93, 76, 0.2);
    background: rgba(15, 23, 42, 0.04);
}

.visitor-host-suggestion__avatar {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #355d4c, #2f586d);
    font-size: 0.9rem;
    font-weight: 700;
}

.visitor-purpose-suggestion__swatch {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    border-radius: 50%;
    background: var(--purpose-color, rgb(var(--primary-rgb)));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.visitor-host-suggestion__copy {
    display: grid;
    gap: 0.125rem;
    min-width: 0;
}

.visitor-host-suggestion__copy strong,
.visitor-host-suggestion__copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-host-suggestion__copy strong {
    color: #111827;
    font-size: 0.95rem;
}

.visitor-host-suggestion__copy small,
.visitor-host-suggestions__empty {
    color: var(--text-muted, #8c9097);
    font-size: 0.82rem;
}

.visitor-host-suggestions__empty {
    padding: 0.75rem;
}

[data-theme-mode=dark] .visitor-host-suggestions {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgb(var(--light-rgb));
    box-shadow: 0 1.5rem 3.6rem rgba(0, 0, 0, 0.35);
}

[data-theme-mode=dark] .visitor-host-suggestion {
    color: var(--default-text-color);
}

[data-theme-mode=dark] .visitor-host-suggestion:hover,
[data-theme-mode=dark] .visitor-host-suggestion:focus-visible,
[data-theme-mode=dark] .visitor-host-suggestion.is-active {
    border-color: rgba(var(--primary-rgb), 0.35);
    background: rgba(var(--primary-rgb), 0.14);
}

[data-theme-mode=dark] .visitor-host-suggestion__copy strong {
    color: var(--default-text-color);
}

.visitor-demo-access-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.visitor-demo-access-summary > div,
.visitor-demo-access-mode {
    border: 1px solid rgba(53, 93, 76, 0.14);
    border-radius: 0.5rem;
    background: rgba(53, 93, 76, 0.04);
    padding: 0.85rem;
}

.visitor-demo-access-summary strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-demo-access-recipient-field {
    position: relative;
    z-index: 50;
}

.visitor-host-suggestions--modal {
    z-index: 1065;
}

.visitor-demo-access-mode {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #355d4c;
    font-weight: 700;
}

[data-theme-mode=dark] .visitor-demo-access-summary > div,
[data-theme-mode=dark] .visitor-demo-access-mode {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(var(--primary-rgb), 0.1);
}

[data-theme-mode=dark] .visitor-demo-access-mode {
    color: rgb(var(--primary-rgb));
}

@media (max-width: 1199.98px) {
    .visitor-user-chip-copy {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .visitor-demo-access-summary {
        grid-template-columns: 1fr;
    }

    .visitor-user-chip {
        padding-right: 0.45rem;
    }
}

.visitor-calendar-page {
    --visitor-calendar-border: rgba(15, 23, 42, 0.08);
    --visitor-calendar-weekend-bg: rgba(100, 116, 139, 0.075);
    --visitor-calendar-weekend-header-bg: rgba(100, 116, 139, 0.095);
}

.visitor-calendar-panel,
.visitor-calendar-card {
    overflow: hidden;
}

.visitor-calendar-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.visitor-calendar-summary > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--visitor-calendar-border);
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
}

.visitor-calendar-summary span {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.visitor-calendar-summary strong {
    color: var(--default-text-color);
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
}

.visitor-calendar-purpose-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.visitor-calendar-purpose {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    gap: 0.45rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--visitor-calendar-border);
    border-radius: 0.5rem;
    color: var(--default-text-color);
    background: rgb(var(--light-rgb));
    font-size: 0.78rem;
    font-weight: 800;
}

.visitor-calendar-purpose i {
    width: 0.72rem;
    height: 0.72rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--purpose-color, rgb(var(--primary-rgb)));
    box-shadow: 0 0 0 0.2rem rgba(15, 23, 42, 0.06);
}

.visitor-calendar-purpose span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-calendar-activity {
    display: grid;
    gap: 0.75rem;
}

.visitor-calendar-activity__item {
    display: grid;
    grid-template-columns: 0.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--visitor-calendar-border);
    border-radius: 0.5rem;
    background: rgb(var(--light-rgb));
}

.visitor-calendar-activity__marker {
    width: 0.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: var(--purpose-color, rgb(var(--primary-rgb)));
}

.visitor-calendar-activity__item > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.visitor-calendar-activity__item strong,
.visitor-calendar-activity__item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visitor-calendar-activity__item strong {
    color: var(--default-text-color);
}

.visitor-calendar-activity__item small {
    color: var(--text-muted);
    font-size: 0.76rem;
}

.visitor-calendar-activity__item time {
    display: grid;
    justify-items: end;
    gap: 0.15rem;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.visitor-calendar-activity__item time strong {
    color: var(--default-text-color);
    font-size: 0.95rem;
}

.visitor-calendar-empty {
    padding: 1rem;
    border: 1px dashed var(--default-border);
    border-radius: 0.5rem;
    color: var(--text-muted);
    background: rgb(var(--light-rgb));
    font-weight: 700;
    text-align: center;
}

.visitor-calendar {
    min-height: 44rem;
}

.visitor-calendar.is-loading {
    opacity: 0.62;
}

.visitor-calendar .fc {
    color: var(--default-text-color);
}

.visitor-calendar .fc .fc-toolbar {
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.visitor-calendar .fc .fc-toolbar-title {
    color: var(--default-text-color);
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    font-weight: 800;
}

.visitor-calendar .fc .fc-button {
    border-color: var(--default-border);
    border-radius: 0.5rem;
    color: var(--default-text-color);
    background: rgb(var(--light-rgb));
    box-shadow: none;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: none;
}

.visitor-calendar .fc .fc-button:hover,
.visitor-calendar .fc .fc-button:focus,
.visitor-calendar .fc .fc-button-primary:not(:disabled).fc-button-active {
    border-color: rgba(var(--primary-rgb), 0.32);
    color: #fff;
    background: rgb(var(--primary-rgb));
}

.visitor-calendar .fc-theme-standard td,
.visitor-calendar .fc-theme-standard th,
.visitor-calendar .fc-theme-standard .fc-scrollgrid {
    border-color: var(--default-border);
}

.visitor-calendar .fc .fc-col-header-cell-cushion,
.visitor-calendar .fc .fc-daygrid-day-number,
.visitor-calendar .fc .fc-list-day-text,
.visitor-calendar .fc .fc-list-day-side-text {
    color: var(--default-text-color);
    text-decoration: none;
}

.visitor-calendar .fc .fc-day-today {
    background: rgba(var(--primary-rgb), 0.07);
}

.visitor-calendar .fc .fc-daygrid-day.fc-day-sat,
.visitor-calendar .fc .fc-daygrid-day.fc-day-sun,
.visitor-calendar .fc .fc-timegrid-col.fc-day-sat,
.visitor-calendar .fc .fc-timegrid-col.fc-day-sun,
.visitor-calendar.fc .fc-daygrid-day.fc-day-sat,
.visitor-calendar.fc .fc-daygrid-day.fc-day-sun,
.visitor-calendar.fc .fc-timegrid-col.fc-day-sat,
.visitor-calendar.fc .fc-timegrid-col.fc-day-sun {
    background: var(--visitor-calendar-weekend-bg);
}

.visitor-calendar .fc .fc-col-header-cell.fc-day-sat,
.visitor-calendar .fc .fc-col-header-cell.fc-day-sun,
.visitor-calendar.fc .fc-col-header-cell.fc-day-sat,
.visitor-calendar.fc .fc-col-header-cell.fc-day-sun {
    background: var(--visitor-calendar-weekend-header-bg);
}

.visitor-calendar .fc .fc-daygrid-day.fc-day-today.fc-day-sat,
.visitor-calendar .fc .fc-daygrid-day.fc-day-today.fc-day-sun,
.visitor-calendar .fc .fc-timegrid-col.fc-day-today.fc-day-sat,
.visitor-calendar .fc .fc-timegrid-col.fc-day-today.fc-day-sun,
.visitor-calendar.fc .fc-daygrid-day.fc-day-today.fc-day-sat,
.visitor-calendar.fc .fc-daygrid-day.fc-day-today.fc-day-sun,
.visitor-calendar.fc .fc-timegrid-col.fc-day-today.fc-day-sat,
.visitor-calendar.fc .fc-timegrid-col.fc-day-today.fc-day-sun {
    background:
        linear-gradient(rgba(var(--primary-rgb), 0.07), rgba(var(--primary-rgb), 0.07)),
        var(--visitor-calendar-weekend-bg);
}

.visitor-calendar .fc .fc-event {
    border-radius: 0.42rem;
    box-shadow: 0 0.45rem 1rem rgba(15, 23, 42, 0.12);
}

.visitor-calendar .fc .fc-daygrid-event {
    padding: 0.16rem 0.24rem;
}

.visitor-calendar .fc .fc-event-title,
.visitor-calendar .fc .fc-event-time {
    overflow: hidden;
    font-weight: 800;
    text-overflow: ellipsis;
}

.visitor-calendar .fc .fc-list-event-dot {
    border-color: var(--fc-event-border-color, rgb(var(--primary-rgb)));
}

.visitor-calendar-event--checked-out,
.visitor-calendar-event--cancelled {
    opacity: 0.72;
}

.visitor-calendar-event--temporary-out {
    border-style: dashed !important;
}

[data-theme-mode=dark] .visitor-calendar-page {
    --visitor-calendar-border: rgba(255, 255, 255, 0.08);
    --visitor-calendar-weekend-bg: rgba(148, 163, 184, 0.065);
    --visitor-calendar-weekend-header-bg: rgba(148, 163, 184, 0.09);
}

[data-theme-mode=dark] .visitor-calendar .fc,
[data-theme-mode=dark] .visitor-calendar.fc {
    --fc-page-bg-color: rgb(var(--body-bg-rgb));
    --fc-neutral-bg-color: rgb(var(--light-rgb));
    --fc-list-event-hover-bg-color: rgba(var(--primary-rgb), 0.12);
}

[data-theme-mode=dark] .visitor-calendar-summary > div,
[data-theme-mode=dark] .visitor-calendar-purpose,
[data-theme-mode=dark] .visitor-calendar-activity__item,
[data-theme-mode=dark] .visitor-calendar-empty,
[data-theme-mode=dark] .visitor-calendar .fc .fc-button {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgb(var(--light-rgb));
}

[data-theme-mode=dark] .visitor-calendar .fc-theme-standard td,
[data-theme-mode=dark] .visitor-calendar .fc-theme-standard th,
[data-theme-mode=dark] .visitor-calendar .fc-theme-standard .fc-scrollgrid {
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-sticky > *,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-sticky > *,
[data-theme-mode=dark] .visitor-calendar .fc [role="presentation"],
[data-theme-mode=dark] .visitor-calendar.fc [role="presentation"],
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid table,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid table,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header > *,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header > *,
[data-theme-mode=dark] .visitor-calendar .fc .fc-col-header,
[data-theme-mode=dark] .visitor-calendar.fc .fc-col-header,
[data-theme-mode=dark] .visitor-calendar .fc .fc-col-header-cell,
[data-theme-mode=dark] .visitor-calendar.fc .fc-col-header-cell,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header table,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header table,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header thead,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header thead,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header tr,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header tr,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header th,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header th,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header td,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header td,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header .fc-scroller-harness,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header .fc-scroller-harness,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header .fc-scroller,
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header .fc-scroller,
[data-theme-mode=dark] .visitor-calendar .fc .fc-scrollgrid-section-header [role="presentation"],
[data-theme-mode=dark] .visitor-calendar.fc .fc-scrollgrid-section-header [role="presentation"] {
    background: rgb(var(--body-bg-rgb)) !important;
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-list,
[data-theme-mode=dark] .visitor-calendar.fc .fc-list,
[data-theme-mode=dark] .visitor-calendar .fc .fc-list-day-cushion,
[data-theme-mode=dark] .visitor-calendar.fc .fc-list-day-cushion,
[data-theme-mode=dark] .visitor-calendar .fc .fc-popover,
[data-theme-mode=dark] .visitor-calendar.fc .fc-popover {
    background: rgb(var(--body-bg-rgb));
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-day-today,
[data-theme-mode=dark] .visitor-calendar.fc .fc-day-today {
    background: rgba(var(--primary-rgb), 0.13) !important;
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-daygrid-day.fc-day-today.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar .fc .fc-daygrid-day.fc-day-today.fc-day-sun,
[data-theme-mode=dark] .visitor-calendar .fc .fc-timegrid-col.fc-day-today.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar .fc .fc-timegrid-col.fc-day-today.fc-day-sun,
[data-theme-mode=dark] .visitor-calendar.fc .fc-daygrid-day.fc-day-today.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar.fc .fc-daygrid-day.fc-day-today.fc-day-sun,
[data-theme-mode=dark] .visitor-calendar.fc .fc-timegrid-col.fc-day-today.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar.fc .fc-timegrid-col.fc-day-today.fc-day-sun {
    background:
        linear-gradient(rgba(var(--primary-rgb), 0.1), rgba(var(--primary-rgb), 0.1)),
        var(--visitor-calendar-weekend-bg) !important;
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-list-event:hover td {
    background: rgba(var(--primary-rgb), 0.12);
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-daygrid-day.fc-day-sat:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar .fc .fc-daygrid-day.fc-day-sun:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar .fc .fc-timegrid-col.fc-day-sat:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar .fc .fc-timegrid-col.fc-day-sun:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar.fc .fc-daygrid-day.fc-day-sat:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar.fc .fc-daygrid-day.fc-day-sun:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar.fc .fc-timegrid-col.fc-day-sat:not(.fc-day-today),
[data-theme-mode=dark] .visitor-calendar.fc .fc-timegrid-col.fc-day-sun:not(.fc-day-today) {
    background: var(--visitor-calendar-weekend-bg) !important;
}

[data-theme-mode=dark] .visitor-calendar .fc .fc-col-header-cell.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar .fc .fc-col-header-cell.fc-day-sun,
[data-theme-mode=dark] .visitor-calendar.fc .fc-col-header-cell.fc-day-sat,
[data-theme-mode=dark] .visitor-calendar.fc .fc-col-header-cell.fc-day-sun {
    background: var(--visitor-calendar-weekend-header-bg) !important;
}

@media (max-width: 991.98px) {
    .visitor-calendar {
        min-height: 36rem;
    }

    .visitor-calendar .fc .fc-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .visitor-calendar .fc .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .visitor-calendar-summary {
        grid-template-columns: 1fr;
    }

    .visitor-calendar-activity__item {
        grid-template-columns: 0.65rem minmax(0, 1fr);
    }

    .visitor-calendar-activity__item time {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }

    .visitor-calendar .fc .fc-button {
        padding-inline: 0.46rem;
        font-size: 0.72rem;
    }
}

.registration-board-page {
    --registration-board-border: rgba(15, 23, 42, 0.08);
    --registration-board-surface: rgb(var(--light-rgb));
}

.registration-board-toolbar .card-header {
    gap: 1rem;
}

.registration-board-toolbar__controls {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(15rem, 22rem) auto;
    align-items: end;
    gap: 0.75rem;
    min-width: 0;
}

.registration-board-filter,
.registration-board-search {
    min-width: 0;
}

.registration-board-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.registration-board-filter .choices {
    margin-bottom: 0;
}

.registration-board-filter .choices__inner,
.registration-board-search .form-control,
.registration-board-search .input-group-text {
    min-height: 2.55rem;
}

.registration-board-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem;
}

.registration-board-summary > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--registration-board-border);
    border-radius: 0.5rem;
    background: var(--registration-board-surface);
}

.registration-board-summary span {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.registration-board-summary strong {
    color: var(--default-text-color);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
}

.registration-kanban-board {
    gap: 0.75rem;
    padding-top: 0.25rem;
}

.registration-kanban-board .registration-kanban-column {
    min-width: 22rem;
    margin-inline-end: 0;
}

.registration-kanban-column__title {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 0.45rem;
    color: var(--default-text-color);
    font-size: 0.93rem;
    font-weight: 800;
}

.registration-kanban-column__title i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.5rem;
    color: var(--registration-column-accent, rgb(var(--primary-rgb)));
    background: rgba(var(--registration-column-accent-rgb, var(--primary-rgb)), 0.1);
}

.registration-kanban-column--new {
    --registration-column-accent: rgb(var(--warning-rgb));
    --registration-column-accent-rgb: var(--warning-rgb);
}

.registration-kanban-column--review {
    --registration-column-accent: rgb(var(--info-rgb));
    --registration-column-accent-rgb: var(--info-rgb);
}

.registration-kanban-column--approved {
    --registration-column-accent: rgb(var(--success-rgb));
    --registration-column-accent-rgb: var(--success-rgb);
}

.registration-kanban-column--demo {
    --registration-column-accent: rgb(var(--primary-rgb));
    --registration-column-accent-rgb: var(--primary-rgb);
}

.registration-kanban-column--rejected {
    --registration-column-accent: rgb(var(--danger-rgb));
    --registration-column-accent-rgb: var(--danger-rgb);
}

.registration-kanban-scroll {
    max-height: calc(100vh - 20rem);
    min-height: 18rem;
    position: relative;
}

.registration-kanban-scroll .simplebar-content {
    padding-right: 0.75rem !important;
}

.registration-kanban-dropzone {
    min-height: 18rem;
}

.registration-kanban-empty {
    display: grid;
    min-height: 10rem;
    place-items: center;
    padding: 1rem;
    border: 1px dashed var(--registration-board-border);
    border-radius: 0.5rem;
    color: var(--text-muted);
    background: rgba(var(--body-bg-rgb), 0.36);
    font-size: 0.83rem;
    font-weight: 700;
    text-align: center;
}

.registration-kanban-card {
    border-top: 3px solid var(--registration-column-accent, rgba(var(--primary-rgb), 0.4));
}

.registration-kanban-card.is-updating {
    opacity: 0.62;
    pointer-events: none;
}

.registration-kanban-card__title {
    color: var(--default-text-color);
    text-decoration: none;
}

.registration-kanban-card__title:hover {
    color: rgb(var(--primary-rgb));
}

.registration-kanban-card__comments {
    color: var(--text-muted);
    text-decoration: none;
}

.registration-kanban-card__comments:hover {
    color: rgb(var(--primary-rgb));
}

.registration-kanban-card__avatars .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.registration-kanban-board .gu-mirror {
    z-index: 1100;
}

[data-theme-mode=dark] .registration-board-page {
    --registration-board-border: rgba(255, 255, 255, 0.08);
    --registration-board-surface: rgb(var(--body-bg-rgb));
}

[data-theme-mode=dark] .registration-kanban-empty {
    background: rgba(255, 255, 255, 0.025);
}

@media (max-width: 1199.98px) {
    .registration-board-toolbar__controls {
        grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr);
        width: 100%;
    }

    .registration-board-actions {
        grid-column: 1 / -1;
    }

    .registration-board-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .registration-board-toolbar__controls,
    .registration-board-summary {
        grid-template-columns: 1fr;
    }

    .registration-board-actions .btn {
        flex: 1 1 auto;
    }

    .registration-kanban-board .registration-kanban-column {
        min-width: min(21rem, calc(100vw - 2rem));
    }
}

.admin-subscriptions-dashboard .table td,
.admin-subscriptions-dashboard .table th,
.admin-products-page .table td,
.admin-products-page .table th {
    white-space: nowrap;
}

.admin-plan-mix,
.admin-product-plan-list,
.admin-custom-services {
    display: grid;
    gap: 12px;
}

.admin-plan-mix__item,
.admin-product-plan-list__item {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: rgba(248, 250, 252, .74);
}

.admin-product-plan-list__item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.admin-product-plan-list__item.is-selected {
    border-color: rgba(var(--primary-rgb), .34);
    background: rgba(var(--primary-rgb), .05);
}

.admin-plan-mix__item strong,
.admin-product-plan-list__item strong {
    display: block;
}

.admin-plan-mix__item span,
.admin-product-plan-list__item p,
.admin-product-plan-list__item .fs-12 {
    color: var(--text-muted);
}

.admin-plan-mix__item .progress {
    height: 6px;
    border-radius: 999px;
}

.admin-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-feature-grid--single {
    grid-template-columns: 1fr;
}

.admin-feature-toggle {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    min-height: 96px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: rgba(248, 250, 252, .7);
    cursor: pointer;
}

.admin-feature-toggle--custom {
    cursor: default;
}

.admin-feature-toggle--custom .form-control,
.admin-feature-toggle--custom .form-select {
    cursor: text;
}

.admin-feature-toggle--custom .form-select {
    cursor: pointer;
}

.admin-feature-toggle__status {
    margin-top: 2px;
}

.admin-feature-toggle strong,
.settings-subscription-feature strong {
    display: block;
}

.admin-feature-toggle small,
.settings-subscription-feature small {
    display: block;
    color: var(--text-muted);
    line-height: 1.35;
}

.admin-custom-services__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 130px;
    gap: 8px;
}

.settings-subscription-page {
    padding: 24px;
}

.settings-subscription-current__plan h3 {
    margin: 10px 0 8px;
    font-size: 1.75rem;
    font-weight: 700;
}

.settings-subscription-current__plan p {
    color: var(--text-muted);
}

.settings-subscription-current__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.settings-subscription-current__meta div {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: rgba(248, 250, 252, .78);
}

.settings-subscription-current__meta span {
    display: block;
    color: var(--text-muted);
    font-size: .75rem;
}

.settings-subscription-current__meta strong {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-subscription-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.settings-subscription-feature {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    background: rgba(248, 250, 252, .74);
}

.settings-subscription-feature.is-unavailable {
    opacity: .72;
}

.settings-subscription-feature__badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.settings-pricing-card {
    overflow: hidden;
}

.settings-pricing-card--demo-disabled {
    border-color: rgba(100, 116, 139, .28) !important;
    background: #f8fafc;
    color: #64748b;
    box-shadow: none;
}

.settings-pricing-card__disabled-strip {
    background: #94a3b8;
}

.settings-pricing-card__campaign-banner {
    padding: 10px 18px;
    font-family: "TTHovesPro", "Inter", var(--default-font-family, system-ui), sans-serif;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.settings-pricing-card__campaign-banner--primary {
    color: rgb(var(--primary-rgb));
    background: rgba(var(--primary-rgb), .11);
}

.settings-pricing-card__campaign-banner--success {
    color: rgb(var(--success-rgb));
    background: rgba(var(--success-rgb), .11);
}

.settings-pricing-card__discount-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.settings-pricing-card__campaign-description {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(15, 23, 42, .08);
    color: var(--text-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.settings-pricing-card__disabled-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 16px;
    padding: 10px 12px;
    border: 1px solid rgba(100, 116, 139, .22);
    border-radius: 8px;
    background: rgba(100, 116, 139, .08);
    color: #475569;
    font-size: .82rem;
    line-height: 1.35;
}

.settings-pricing-card__disabled-note i {
    flex: 0 0 auto;
    margin-top: 1px;
}

.settings-pricing-card__features {
    display: grid;
    gap: 10px;
}

.settings-pricing-card__features li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.settings-pricing-card__features small {
    display: block;
    color: var(--text-muted);
    font-size: .75rem;
    line-height: 1.25;
}

[data-theme-mode=dark] .admin-plan-mix__item,
[data-theme-mode=dark] .admin-product-plan-list__item,
[data-theme-mode=dark] .admin-feature-toggle,
[data-theme-mode=dark] .settings-subscription-current__meta div,
[data-theme-mode=dark] .settings-subscription-feature {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .035);
}

[data-theme-mode=dark] .settings-pricing-card__campaign-description {
    border-color: rgba(255, 255, 255, .08);
}

[data-theme-mode=dark] .settings-pricing-card--demo-disabled {
    border-color: rgba(148, 163, 184, .3) !important;
    background: rgba(148, 163, 184, .08);
    color: #cbd5e1;
}

[data-theme-mode=dark] .settings-pricing-card__disabled-note {
    border-color: rgba(148, 163, 184, .22);
    background: rgba(148, 163, 184, .12);
    color: #cbd5e1;
}

@media (max-width: 1199.98px) {
    .admin-feature-grid,
    .settings-subscription-feature-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .admin-product-plan-list__item,
    .admin-custom-services__row,
    .settings-subscription-feature {
        grid-template-columns: 1fr;
    }

    .settings-subscription-feature__badges {
        align-items: flex-start;
    }

    .settings-subscription-page {
        padding: 16px;
    }

    .settings-subscription-current__meta {
        grid-template-columns: 1fr;
    }
}
