﻿.snappy-login-root {
    min-height: 100vh;
    display: flex;
}

/* =========================
   File manager
   ========================= */

.file-manager-page__actions {
    gap: 10px;
    flex-wrap: wrap;
}

.snappy-icon-action-button {
    width: 52px;
    height: 52px;
    border-radius: 8px !important;
    border: 1px solid rgba(22, 22, 63, 0.16) !important;
    background: rgba(255, 255, 255, 0.78) !important;
}

.snappy-icon-action-button--small {
    width: 42px;
    height: 42px;
}

.file-manager-page__folders,
.file-manager-page__workspace,
.file-manager-page__content {
    border-radius: 8px;
}

.file-manager-page__folder-heading {
    gap: 12px;
}

.file-manager-page__folder-form {
    background: rgba(22, 22, 63, 0.025);
    border-radius: 8px;
}

.file-manager-page__folder-button {
    justify-content: flex-start;
}

.file-manager-page__folder {
    border-radius: 8px;
    transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.file-manager-page__folder--active {
    border-color: #8fbfff !important;
    background: rgba(143, 191, 255, 0.12);
    box-shadow: inset 4px 0 0 #8fbfff;
}

.file-manager-page__folder-select {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
    text-align: left;
    cursor: pointer;
}

    .file-manager-page__folder-select span {
        display: flex;
        min-width: 0;
        flex-direction: column;
    }

    .file-manager-page__folder-select strong {
        color: var(--snappy-title);
        font-size: 0.95rem;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .file-manager-page__folder-select small {
        color: var(--snappy-muted);
        font-size: 0.76rem;
    }

.file-manager-page__toolbar-actions,
.file-manager-page__subtoolbar {
    gap: 10px;
}

.file-manager-page__toolbar-actions {
    min-width: 52px;
}

.file-manager-page__hidden-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.file-manager-page__upload-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--snappy-title);
    cursor: pointer;
    margin: 0;
}

.file-manager-page__upload-trigger--disabled {
    opacity: 0.45;
    pointer-events: none;
}

.file-manager-page__upload-options {
    min-width: 0;
    flex-wrap: wrap;
}

.file-manager-page__right-actions,
.file-manager-page__sort-actions {
    flex-wrap: wrap;
}

.campaign-email-attachments__summary,
.campaign-email-attachments__list,
.campaign-email-attachments__empty,
.campaign-email-attachments__candidate,
.rcs-template-editor__library-pick,
.rcs-template-editor__media-card {
    border-radius: 8px;
}

.campaign-email-attachments__summary-row,
.campaign-email-attachments__row {
    gap: 12px;
    flex-wrap: wrap;
}

.campaign-email-attachments__empty {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    text-align: center;
}

.campaign-email-attachments__row + .campaign-email-attachments__row,
.campaign-email-attachments__candidate + .campaign-email-attachments__candidate {
    margin-top: 8px;
}

.rcs-template-editor__media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 12px;
}

.rcs-template-editor__media-preview {
    height: 132px;
    border-radius: 8px;
    border: 1px solid rgba(124, 139, 255, 0.16);
    background: rgba(124, 139, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 10px;
}

    .rcs-template-editor__media-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.file-manager-page__sort-actions .mud-button-root {
    min-width: 86px;
    height: 40px;
    border-radius: 8px;
}

.file-manager-page__edit-panel,
.file-manager-page__bulkbar {
    border-radius: 8px;
    background: rgba(143, 191, 255, 0.08);
}

.file-manager-page__edit-panel-inner {
    gap: 14px;
    flex-wrap: wrap;
}

.file-manager-page__rename-input {
    min-width: min(420px, 100%);
    flex: 1 1 320px;
}

.file-manager-page__bulkbar .mud-stack-row {
    flex-wrap: wrap;
}

.file-manager-page__content {
    background: rgba(255, 255, 255, 0.92);
}

.file-manager-page__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}

.file-manager-page__card {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

    .file-manager-page__card:hover {
        border-color: rgba(143, 191, 255, 0.7) !important;
        box-shadow: 0 14px 34px rgba(22, 22, 63, 0.08);
        transform: translateY(-1px);
    }

.file-manager-page__card--selected,
.file-manager-page__list-row--selected {
    border-color: #8fbfff !important;
    background: rgba(143, 191, 255, 0.1);
}

.file-manager-page__card-check {
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 2;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 4px 14px rgba(22, 22, 63, 0.08);
}

.file-manager-page__preview,
.file-manager-page__list-preview {
    border-radius: 8px;
    background: rgba(22, 22, 63, 0.05);
    border: 1px solid rgba(22, 22, 63, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.file-manager-page__preview {
    width: 112px;
    height: 112px;
}

.file-manager-page__list-preview {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}

    .file-manager-page__preview > div,
    .file-manager-page__list-preview > div {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .file-manager-page__preview img,
    .file-manager-page__list-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.file-manager-page__file-body,
.file-manager-page__file-title {
    min-width: 0;
}

    .file-manager-page__file-title .mud-typography {
        overflow-wrap: anywhere;
    }

.file-manager-page__chips {
    flex-wrap: wrap;
}

.file-manager-page__url {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(22, 22, 63, 0.045);
}

    .file-manager-page__url code {
        min-width: 0;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--snappy-title);
        font-size: 0.78rem;
    }

.file-manager-page__empty {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    border: 1px dashed rgba(22, 22, 63, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
}

.file-manager-page__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.file-manager-page__list-row {
    min-width: 0;
    display: grid;
    grid-template-columns: auto 58px minmax(220px, 1fr) minmax(210px, 0.75fr) auto;
    gap: 12px;
    align-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
}

.file-manager-page__list-main,
.file-manager-page__list-folder,
.file-manager-page__list-actions {
    min-width: 0;
}

    .file-manager-page__list-main .mud-typography,
    .file-manager-page__file-title .mud-typography {
        overflow-wrap: anywhere;
    }

.file-manager-page__list-actions {
    justify-self: end;
}

@media (max-width: 719.95px) {
    .file-manager-page__card {
        grid-template-columns: 1fr;
    }

    .file-manager-page__preview {
        width: 100%;
        height: 180px;
    }

    .file-manager-page__list-row {
        grid-template-columns: auto 54px minmax(0, 1fr) auto;
    }

    .file-manager-page__list-folder {
        grid-column: 3 / -1;
    }
}

.snappy-login-grid {
    width: 100%;
    margin: 0;
}

.snappy-login-left {
    height: 100%;
    min-height: 100vh;
    background-image: url("https://images.pexels.com/photos/1181675/pexels-photo-1181675.jpeg?auto=compress&cs=tinysrgb&w=1600");
    background-size: cover;
    background-position: center;
    position: relative;
}

.snappy-login-left-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(22, 22, 63, 0.9), rgba(10, 207, 134, 0.6));
    color: white;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.snappy-login-right {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f6f9ff;
}

.snappy-login-card {
    width: 100%;
    max-width: 420px;
}

@media (max-width: 959.95px) {
    .snappy-login-left {
        display: none;
    }

    .snappy-login-right {
        background-color: #ffffff;
    }
}

/* =========================
   App shell / navigation
   ========================= */

:root {
    --snappy-shell-bg: #f5f7fc;
    --snappy-drawer-bg: #e9ecf8;
    --snappy-drawer-border: #d9deee;
    --snappy-title: #16163f;
    --snappy-muted: #707799;
    --snappy-hover: rgba(22, 22, 63, 0.06);
    --snappy-active: rgba(22, 22, 63, 0.12);
    --snappy-active-border: #4c57b6;
    --snappy-card-shadow: 0 12px 30px rgba(17, 24, 39, 0.08);
}

    :root[data-theme="dark"] {
        --snappy-shell-bg: #12141c;
        --snappy-drawer-bg: #171a25;
        --snappy-drawer-border: #293048;
        --snappy-title: #eef2ff;
        --snappy-muted: #b8c1df;
        --snappy-hover: rgba(183, 190, 255, 0.10);
        --snappy-active: rgba(183, 190, 255, 0.16);
        --snappy-active-border: #9fa8ff;
        --snappy-card-shadow: 0 14px 34px rgba(0, 0, 0, 0.30);
    }

html,
body {
    background: var(--snappy-shell-bg);
}

.mud-main-content {
    background: var(--snappy-shell-bg);
}

/* Drawer */

.snappy-shell__drawer {
    background: var(--snappy-drawer-bg) !important;
    border-right: 1px solid var(--snappy-drawer-border);
    z-index: 1000 !important;
}

    .snappy-shell__drawer .mud-drawer-content {
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
    }

.snappy-shell__drawer-header {
    min-height: 72px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
}

.snappy-shell__brand {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    overflow: hidden;
}

.snappy-shell__brand-full {
    max-width: 300px;
    max-height: 65px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: -11px;
}

.snappy-shell__brand-mini {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block;
}

.snappy-shell__brand-custom-full {
    max-width: 172px;
    max-height: 54px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.snappy-shell__brand-custom-mini {
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(22, 22, 63, 0.08);
    padding: 4px;
}

:root[data-theme="dark"] .snappy-shell__brand-custom-mini {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
}

/* Menu gauche */

.snappy-nav-menu {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 6px 0 0;
    overflow: hidden;
}

.snappy-nav-menu__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 12px;
    scrollbar-width: thin;
}

.snappy-nav-menu__support {
    flex: 0 0 auto;
    padding: 8px 0 10px;
    border-top: 1px solid var(--snappy-drawer-border);
    background: var(--snappy-drawer-bg);
}

    .snappy-nav-menu__support .mud-nav-link {
        margin-top: 0;
        margin-bottom: 0;
    }

    .snappy-nav-menu .mud-nav-link,
    .snappy-nav-menu .mud-nav-group > .mud-nav-link {
        min-height: 44px;
        margin: 2px 0;
        padding: 8px 5px 8px 12px;
        width: 100%;
        box-sizing: border-box;
        border-radius: 0 12px 12px 0;
        color: var(--snappy-title);
        font-size: 0.96rem;
        font-weight: 500;
        transition: background-color 0.18s ease, color 0.18s ease;
    }

        .snappy-nav-menu .mud-nav-link:hover,
        .snappy-nav-menu .mud-nav-group > .mud-nav-link:hover {
            background: var(--snappy-hover);
        }

        .snappy-nav-menu .mud-nav-link.active,
        .snappy-nav-menu .mud-nav-group > .mud-nav-link.active {
            background: var(--snappy-active);
            color: var(--mud-palette-primary) !important;
            font-weight: 800;
            box-shadow: inset -3px 0 0 var(--snappy-active-border);
        }

            .snappy-nav-menu .mud-nav-link.active .mud-nav-link-text,
            .snappy-nav-menu .mud-nav-group > .mud-nav-link.active .mud-nav-link-text {
                color: var(--mud-palette-primary) !important;
                font-weight: 800;
            }

            .snappy-nav-menu .mud-nav-link.active .mud-nav-link-icon,
            .snappy-nav-menu .mud-nav-group > .mud-nav-link.active .mud-nav-link-icon,
            .snappy-nav-menu .mud-nav-link.active .mud-nav-link-expand-icon,
            .snappy-nav-menu .mud-nav-group > .mud-nav-link.active .mud-nav-link-expand-icon {
                color: var(--mud-palette-primary) !important;
            }

        .snappy-nav-menu .mud-nav-link .mud-nav-link-icon,
        .snappy-nav-menu .mud-nav-group > .mud-nav-link .mud-nav-link-icon,
        .snappy-nav-menu .mud-nav-group .mud-nav-link .mud-nav-link-icon,
        .snappy-nav-menu .mud-nav-link .mud-nav-link-expand-icon,
        .snappy-nav-menu .mud-nav-group > .mud-nav-link .mud-nav-link-expand-icon {
            color: var(--mud-palette-primary) !important;
            opacity: 1;
        }

    .snappy-nav-menu .mud-nav-group .mud-collapse-container .mud-nav-link {
        margin-left: 0;
        padding-left: 18px;
        min-height: 40px;
        font-size: 0.90rem;
        border-radius: 10px;
        margin-right: 8px;
        position: relative;
    }

    .snappy-nav-menu .snappy-nav-section-label {
        margin: 12px 8px 4px 0;
        padding: 0 0 0 18px;
        color: var(--mud-palette-text-secondary);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0;
        line-height: 1.2;
        text-transform: uppercase;
    }

        .snappy-nav-menu .snappy-nav-section-label:first-child {
            margin-top: 4px;
        }

    .snappy-nav-menu .snappy-nav-group--active > .mud-nav-link,
    .snappy-nav-menu .snappy-nav-group--expanded > .mud-nav-link {
        background: rgba(99, 102, 241, 0.08);
        color: var(--mud-palette-primary) !important;
        font-weight: 800;
    }

        .snappy-nav-menu .snappy-nav-group--active > .mud-nav-link .mud-nav-link-text,
        .snappy-nav-menu .snappy-nav-group--expanded > .mud-nav-link .mud-nav-link-text,
        .snappy-nav-menu .snappy-nav-group--active > .mud-nav-link .mud-nav-link-icon,
        .snappy-nav-menu .snappy-nav-group--expanded > .mud-nav-link .mud-nav-link-icon,
        .snappy-nav-menu .snappy-nav-group--active > .mud-nav-link .mud-nav-link-expand-icon,
        .snappy-nav-menu .snappy-nav-group--expanded > .mud-nav-link .mud-nav-link-expand-icon {
            color: var(--mud-palette-primary) !important;
        }

    .snappy-nav-menu .snappy-nav-group--active .mud-collapse-container,
    .snappy-nav-menu .snappy-nav-group--expanded .mud-collapse-container {
        margin: 2px 6px 8px 18px;
        padding-left: 9px;
        border-left: 2px solid rgba(99, 102, 241, 0.20);
    }

    .snappy-nav-menu .mud-nav-group .mud-collapse-container .mud-nav-link.active {
        border-radius: 12px;
        background: linear-gradient(90deg, rgba(99, 102, 241, 0.16), rgba(56, 189, 248, 0.08));
        box-shadow: inset 3px 0 0 var(--snappy-active-border);
    }

    .snappy-nav-menu .snappy-nav-link--danger,
    .snappy-nav-menu .snappy-nav-link--danger *,
    .snappy-nav-menu .snappy-nav-link-danger__text,
    .snappy-nav-menu .mud-nav-link.snappy-nav-link--danger,
    .snappy-nav-menu .mud-nav-link.snappy-nav-link--danger .mud-nav-link-text,
    .snappy-nav-menu .mud-nav-link.snappy-nav-link--danger .mud-nav-link-icon,
    .snappy-nav-menu .mud-nav-link.snappy-nav-link--danger .mud-icon-root {
        color: var(--mud-palette-error) !important;
    }

    .snappy-nav-menu .mud-nav-group .mud-collapse-container .mud-nav-link.snappy-nav-link--danger.active {
        background: rgba(244, 67, 54, 0.10);
        box-shadow: inset 3px 0 0 var(--mud-palette-error);
    }

/*.snappy-nav-menu .mud-nav-group .mud-collapse-container .mud-nav-link.active::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: var(--mud-palette-primary);
        transform: translateY(-50%);
    }*/



/* Header */

.snappy-shell__header {
    position: sticky;
    top: 0;
    height: 72px;
    background: var(--snappy-shell-bg);
    z-index: 1010 !important;
    box-sizing: border-box;
    overflow: visible !important;
}

.snappy-shell__header-inner {
    height: 72px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 0 6px;
    box-sizing: border-box;
    overflow: visible !important;
}

.snappy-shell__header-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 40px;
}

.snappy-shell__toggle {
    margin: 0 !important;
}

.snappy-shell__header-center {
    flex: 1 1 auto;
    min-width: 180px;
    display: flex;
    justify-content: center;
    padding: 0 18px;
    box-sizing: border-box;
}

.snappy-shell__header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    min-width: 0;
}

.snappy-shell__create-btn {
    height: 40px;
    padding-inline: 16px;
    border-radius: 10px;
    font-weight: 700;
    text-transform: none;
    box-shadow: none;
}

.snappy-shell__lang-wrap .mud-button {
    min-width: auto;
    border-radius: 10px;
    text-transform: none;
    font-weight: 600;
}

.snappy-client-switcher {
    display: flex;
    align-items: center;
}

.snappy-client-switcher__button {
    height: 40px;
    max-width: 230px;
    border-radius: 10px !important;
    border-color: rgba(22, 22, 63, 0.24) !important;
    background: rgba(255, 255, 255, 0.7);
    font-weight: 700;
    text-transform: none;
}

    .snappy-client-switcher__button .mud-button-label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.snappy-client-switcher__popover {
    min-width: 320px;
    max-width: 380px;
    border-radius: 16px !important;
    border: 1px solid var(--snappy-drawer-border);
    box-shadow: var(--snappy-card-shadow) !important;
    overflow: hidden;
    z-index: 1600 !important;
}

    .snappy-client-switcher__popover .mud-list {
        padding: 8px !important;
    }

    .snappy-client-switcher__popover .mud-menu-item {
        min-height: 48px;
        margin: 2px 0;
        border-radius: 12px;
    }

.snappy-client-switcher__header {
    padding: 16px 16px 14px;
}

.snappy-client-switcher__eyebrow {
    color: #ff2d7a;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.snappy-client-switcher__current {
    margin-top: 4px;
    color: var(--snappy-title);
    font-weight: 800;
}

.snappy-client-switcher__account,
.snappy-client-switcher__item-account {
    color: var(--snappy-muted);
    font-size: 0.8rem;
}

.snappy-client-switcher__item {
    width: 100%;
    gap: 12px;
}

.snappy-client-switcher__item-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.snappy-client-switcher__item-name {
    color: var(--snappy-title);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snappy-global-search {
    position: relative;
    z-index: 1035;
    width: min(520px, 100%);
}

.snappy-global-search__input .mud-input-root {
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.snappy-global-search__input .mud-input-outlined-border {
    border-color: rgba(99, 102, 241, 0.16) !important;
}

.snappy-global-search__input .mud-input-root:hover .mud-input-outlined-border,
.snappy-global-search__input .mud-input-root.mud-focused .mud-input-outlined-border {
    border-color: rgba(99, 102, 241, 0.38) !important;
}

.snappy-global-search__backdrop {
    position: fixed;
    inset: 0;
    z-index: 0;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: default;
}

.snappy-global-search__input {
    position: relative;
    z-index: 3;
}

.snappy-global-search__panel {
    position: absolute;
    z-index: 2;
    top: calc(100% + 10px);
    left: 50%;
    width: min(680px, calc(100vw - 40px));
    max-height: min(640px, calc(100vh - 104px));
    overflow: auto;
    transform: translateX(-50%);
    border: 1px solid var(--snappy-panel-border);
    border-radius: 22px;
    background: var(--snappy-panel-bg);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
    padding: 12px;
}

.snappy-global-search__summary {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 4px 10px;
    color: var(--mud-palette-text-secondary);
    font-size: .76rem;
    font-weight: 700;
}

.snappy-global-search__group + .snappy-global-search__group {
    margin-top: 12px;
}

.snappy-global-search__group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    color: var(--mud-palette-primary);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.snappy-global-search__items {
    display: grid;
    gap: 7px;
}

.snappy-global-search__item {
    width: 100%;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 16px;
    padding: 10px;
    background: var(--snappy-shell-overlay);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

    .snappy-global-search__item:hover {
        transform: translateY(-1px);
        border-color: rgba(99, 102, 241, 0.30);
        box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
        background: rgba(255, 255, 255, 0.90);
    }

.snappy-global-search__item-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, #38bdf8 100%);
}

    .snappy-global-search__item-icon.is-list {
        background: linear-gradient(135deg, #0ea5e9 0%, #22c55e 100%);
    }

    .snappy-global-search__item-icon.is-email {
        background: linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);
    }

    .snappy-global-search__item-icon.is-sms {
        background: linear-gradient(135deg, #16a34a 0%, #38bdf8 100%);
    }

    .snappy-global-search__item-icon.is-rcs {
        background: linear-gradient(135deg, #7c3aed 0%, #06b6d4 100%);
    }

    .snappy-global-search__item-icon.is-help {
        background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    }

.snappy-global-search__item-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.snappy-global-search__item-title {
    color: var(--snappy-title);
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snappy-global-search__item-subtitle {
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snappy-global-search__item-date {
    color: var(--mud-palette-text-secondary);
    font-size: .72rem;
    font-weight: 700;
}

.snappy-global-search__loading,
.snappy-global-search__empty {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px;
    border: 1px dashed rgba(99, 102, 241, 0.22);
    border-radius: 18px;
    background: rgba(99, 102, 241, 0.05);
}

.snappy-global-search__loading {
    justify-content: center;
    color: var(--mud-palette-text-secondary);
    font-weight: 700;
}

.snappy-global-search__empty-title {
    color: var(--snappy-title);
    font-weight: 900;
}

.snappy-global-search__empty-text {
    color: var(--mud-palette-text-secondary);
    font-size: .86rem;
}

:root[data-theme="dark"] .snappy-global-search__input .mud-input-root {
    background: rgba(24, 28, 40, 0.72);
}

:root[data-theme="dark"] .snappy-global-search__item:hover {
    background: rgba(30, 34, 48, 0.96);
}

.snappy-shell__icon-btn {
    border-radius: 10px;
}

/* Main */

.snappy-shell__main {
    padding-top: 0;
    background: var(--snappy-shell-bg);
}

.snappy-shell__content {
    padding: 8px 18px 24px;
    overflow: visible !important;
}

/* User menu */

.snappy-user-menu {
    display: flex;
    align-items: center;
    min-width: 0;
    overflow: visible !important;
}

.snappy-user-menu__trigger {
    min-height: 52px;
    max-width: 240px;
    padding: 0 12px 0 16px !important;
    border-radius: 16px !important;
    color: var(--snappy-title) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transition: background-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

    .snappy-user-menu__trigger:hover,
    .snappy-user-menu__trigger.is-open {
        background: rgba(22, 22, 63, 0.06);
    }

    .snappy-user-menu__trigger.is-open {
        box-shadow: inset 0 0 0 1px rgba(22, 22, 63, 0.08);
    }

    .snappy-user-menu__trigger .mud-button-label {
        min-width: 0;
        gap: 6px;
    }

.snappy-user-menu__trigger-name {
    display: inline-block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snappy-user-menu__identity-wrap {
    display: flex;
    align-items: center;
    min-width: 0;
    cursor: default;
}

.snappy-user-menu__identity {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    line-height: 1.15;
    min-width: 0;
    padding: 4px 6px;
    border-radius: 10px;
    transition: background-color 0.18s ease;
}

    .snappy-user-menu__identity:hover {
        background: rgba(22, 22, 63, 0.05);
    }

.snappy-user-menu__name,
.snappy-user-menu__header-name {
    color: var(--snappy-title);
    font-weight: 700;
}

.snappy-user-menu__role,
.snappy-user-menu__header-email {
    color: var(--snappy-muted);
    font-size: 0.8rem;
}

.snappy-user-menu__header-role {
    color: #7B86FF;
    font-size: 0.8rem;
}

.snappy-user-menu__menu {
    display: flex;
    align-items: center;
}

    .snappy-user-menu__menu .mud-button-root {
        border-radius: 10px;
    }

.snappy-user-menu__popover {
    min-width: 290px;
    border-radius: 16px !important;
    border: 1px solid var(--snappy-drawer-border);
    box-shadow: var(--snappy-card-shadow) !important;
    overflow: hidden;
    z-index: 1600 !important;
}

    .snappy-user-menu__popover .mud-list {
        padding: 8px !important;
        background: transparent !important;
    }

    .snappy-user-menu__popover .mud-divider {
        margin: 6px 0;
    }

    .snappy-user-menu__popover .mud-menu-item {
        min-height: 42px;
        margin: 2px 0;
        border-radius: 12px;
    }

        .snappy-user-menu__popover .mud-menu-item:hover {
            background: rgba(22, 22, 63, 0.05);
        }

.snappy-user-menu__header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 16px 16px 14px;
}

.snappy-user-menu__section {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px;
}

.snappy-user-menu__section-title {
    padding: 0 8px 6px;
    color: var(--snappy-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.snappy-user-menu__theme-option {
    width: 100%;
    display: grid;
    grid-template-columns: 10px 1fr;
    align-items: center;
    column-gap: 8px;
    padding: 9px 8px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: var(--snappy-title);
    font: inherit;
    text-align: left;
    cursor: pointer;
    appearance: none;
    transition: background-color 0.18s ease, color 0.18s ease;
}

:root[data-theme="dark"] .snappy-user-menu__theme-option {
    color: var(--snappy-title);
}

    :root[data-theme="dark"] .snappy-user-menu__theme-option.is-selected {
        color: var(--mud-palette-primary);
    }

        :root[data-theme="dark"] .snappy-user-menu__theme-option.is-selected .snappy-user-menu__theme-option-marker {
            background: var(--mud-palette-primary);
            opacity: 1;
        }

.snappy-user-menu__theme-option:hover {
    background: rgba(22, 22, 63, 0.05);
}

.snappy-user-menu__theme-option:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.snappy-user-menu__theme-option.is-selected .snappy-user-menu__theme-option-label {
    font-weight: 700;
}

.snappy-user-menu__theme-option-marker {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    justify-self: center;
}

    .snappy-user-menu__theme-option-marker.is-selected {
        opacity: 1;
    }

.snappy-user-menu__theme-option-label {
    line-height: 1.2;
}

@media (max-width: 1100px) {
    .snappy-user-menu__identity,
    .snappy-user-menu__trigger-name {
        display: none;
    }

    .snappy-user-menu__trigger {
        min-width: 44px;
        padding: 0 10px !important;
    }

    .snappy-global-search {
        width: min(360px, 100%);
    }
}

/* Sidepanel + overlay + popovers */

.sidepanel {
    z-index: 1400 !important;
    transition: transform 0.3s ease-in-out !important;
    will-change: transform;
}

.mud-overlay-panel {
    z-index: 1390 !important;
    position: fixed !important;
    inset: 0 !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    pointer-events: auto !important;
}

.mud-popover {
    z-index: 1600 !important;
}

.mud-popover-provider {
    z-index: 1600 !important;
}

/* Très important : ne pas forcer overflow visible sur tout le shell */
.mud-layout {
    overflow: hidden !important;
}

.mud-main-content {
    overflow: visible !important;
}

html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)),
html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)) body {
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
}

html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)) .mud-layout,
html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)) .mud-main-content,
html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)) .snappy-shell__main,
html.snappy-stripo-scroll-restored:not(:has(.email-template-editor-page-v25)) .snappy-shell__content {
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
}

#blazor-error-ui {
    z-index: 2000;
}

#components-reconnect-modal {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 24000;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.68), rgba(15, 23, 42, 0.50)), radial-gradient(circle at 30% 20%, rgba(99, 102, 241, 0.20), transparent 34%), radial-gradient(circle at 72% 68%, rgba(14, 165, 233, 0.16), transparent 34%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility 0s linear .22s;
}

    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-retrying,
    #components-reconnect-modal.components-reconnect-paused,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-rejected {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }

@supports (backdrop-filter: blur(10px)) {
    #components-reconnect-modal {
        backdrop-filter: blur(10px);
    }
}

.snappy-reconnect-card {
    width: min(560px, 100%);
    padding: 34px 36px 32px;
    border: 1px solid rgba(124, 139, 255, 0.24);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
    text-align: center;
    color: #111827;
}

.snappy-reconnect-mark {
    width: 88px;
    height: 88px;
    margin: 0 auto 22px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.14), rgba(14, 165, 233, 0.10));
    border: 1px solid rgba(124, 139, 255, 0.18);
}

    .snappy-reconnect-mark span {
        width: 50px;
        height: 50px;
        border-radius: 999px;
        border: 5px solid rgba(124, 139, 255, 0.24);
        border-top-color: #7c8bff;
        animation: snappy-reconnect-spin .95s linear infinite;
    }

.snappy-reconnect-state {
    display: none;
}

#components-reconnect-modal.components-reconnect-show:not(.components-reconnect-retrying):not(.components-reconnect-paused):not(.components-reconnect-failed):not(.components-reconnect-rejected) .snappy-reconnect-state--show,
#components-reconnect-modal.components-reconnect-retrying .snappy-reconnect-state--retrying,
#components-reconnect-modal.components-reconnect-paused .snappy-reconnect-state--paused,
#components-reconnect-modal.components-reconnect-failed .snappy-reconnect-state--failed,
#components-reconnect-modal.components-reconnect-rejected .snappy-reconnect-state--rejected {
    display: block;
}

.snappy-reconnect-eyebrow {
    margin: 0 0 8px;
    color: #ff4f8b;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.snappy-reconnect-state h2 {
    margin: 0;
    color: #111827;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: 0;
}

.snappy-reconnect-state p:not(.snappy-reconnect-eyebrow) {
    margin: 12px auto 0;
    max-width: 420px;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.45;
}

.snappy-reconnect-progress {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(124, 139, 255, 0.18);
    border-radius: 999px;
    background: rgba(124, 139, 255, 0.08);
    color: #334155;
    font-weight: 800;
}

#components-reconnect-modal:not(.components-reconnect-show):not(.components-reconnect-retrying):not(.components-reconnect-failed) .snappy-reconnect-progress,
#components-reconnect-modal.components-reconnect-paused .snappy-reconnect-progress,
#components-reconnect-modal.components-reconnect-rejected .snappy-reconnect-progress {
    display: none;
}

.snappy-reconnect-countdown {
    display: none;
    margin-top: 10px;
    color: #64748b;
    font-weight: 700;
}

#components-reconnect-modal.components-reconnect-retrying .snappy-reconnect-countdown,
#components-reconnect-modal.components-reconnect-failed .snappy-reconnect-countdown {
    display: block;
}

.snappy-reconnect-button {
    min-height: 42px;
    margin-top: 22px;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 14px;
    background: linear-gradient(135deg, #ff4f8b 0%, #7c8bff 100%);
    color: #ffffff !important;
    font: inherit;
    font-weight: 900;
    letter-spacing: 0;
    cursor: pointer;
    text-shadow: 0 1px 1px rgba(15, 23, 42, 0.22);
    box-shadow: 0 16px 30px rgba(124, 139, 255, 0.32);
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

    .snappy-reconnect-button:hover {
        background: linear-gradient(135deg, #ff3f7f 0%, #6478ff 100%);
        box-shadow: 0 20px 38px rgba(124, 139, 255, 0.40);
        transform: translateY(-1px);
    }

    .snappy-reconnect-button:disabled,
    .snappy-reconnect-button[data-busy="true"] {
        cursor: wait;
        opacity: .76;
        transform: none;
    }

    .snappy-reconnect-button:focus-visible {
        outline: 3px solid rgba(124, 139, 255, 0.38);
        outline-offset: 3px;
    }

:root[data-theme="dark"] .snappy-reconnect-card {
    border-color: rgba(159, 168, 255, 0.28);
    background: linear-gradient(180deg, rgba(27, 31, 44, 0.98), rgba(18, 20, 28, 0.98));
    color: #f8fafc;
}

:root[data-theme="dark"] .snappy-reconnect-state h2 {
    color: #f8fafc;
}

:root[data-theme="dark"] .snappy-reconnect-state p:not(.snappy-reconnect-eyebrow) {
    color: #b8c1df;
}

:root[data-theme="dark"] .snappy-reconnect-progress {
    border-color: rgba(159, 168, 255, 0.24);
    background: rgba(159, 168, 255, 0.12);
    color: #e2e8f0;
}

:root[data-theme="dark"] .snappy-reconnect-countdown {
    color: #b8c1df;
}

@keyframes snappy-reconnect-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1100px) {
    .snappy-user-menu__identity {
        display: none;
    }

    .snappy-shell__header-inner {
        padding-right: 12px;
    }
}

@media (max-width: 960px) {
    .snappy-shell__header {
        left: 0 !important;
    }
}

@media (max-width: 768px) {
    .snappy-shell__header-center {
        display: none;
    }

    .snappy-shell__create-btn {
        padding-inline: 12px;
    }

        .snappy-shell__create-btn .mud-button-label {
            gap: 4px;
        }

    .snappy-shell__lang-wrap {
        display: none;
    }

    .snappy-shell__content {
        padding-inline: 10px;
    }
}


/* =========================
   Marketing dashboard theme
   ========================= */

.marketing-dashboard {
    --snappy-dashboard-panel-border: rgba(15, 23, 42, 0.08);
    --snappy-dashboard-panel-border-strong: rgba(99, 102, 241, 0.18);
    --snappy-dashboard-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    --snappy-dashboard-shadow-hover: 0 20px 40px rgba(15, 23, 42, 0.10);
    --snappy-dashboard-panel-bg: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,251,253,0.96) 100%);
    --snappy-dashboard-panel-bg-soft: linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(248,250,252,0.92) 100%);
    --snappy-dashboard-panel-bg-library: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,248,252,0.95) 100%);
    --snappy-dashboard-empty-bg: radial-gradient(circle at top, rgba(99,102,241,0.06), transparent 42%), linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
    --snappy-dashboard-chart-bg: radial-gradient(circle at top left, rgba(99,102,241,0.06), transparent 32%), linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(248,250,252,0.92) 100%);
    --snappy-dashboard-chart-grid: rgba(15,23,42,0.08);
    --snappy-dashboard-legend-bg: rgba(255,255,255,0.72);
    --snappy-dashboard-library-entry-bg: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(248,250,252,0.98) 100%);
    --snappy-dashboard-recent-head-bg: linear-gradient(180deg, rgba(248,250,252,0.98) 0%, rgba(243,246,250,0.98) 100%);
    --snappy-dashboard-hero-templates: radial-gradient(circle at top left, rgba(99,102,241,0.16), transparent 48%), linear-gradient(135deg, rgba(99, 102, 241, 0.10) 0%, rgba(99, 102, 241, 0.03) 100%);
    --snappy-dashboard-hero-lists: radial-gradient(circle at top left, rgba(14,165,233,0.16), transparent 48%), linear-gradient(135deg, rgba(14, 165, 233, 0.10) 0%, rgba(14, 165, 233, 0.03) 100%);
    --snappy-dashboard-top-accent: linear-gradient(90deg, rgba(99,102,241,0.80) 0%, rgba(14,165,233,0.45) 100%);
    --snappy-dashboard-side-accent: linear-gradient(180deg, rgba(99,102,241,0.70) 0%, rgba(14,165,233,0.45) 100%);
    --snappy-dashboard-side-accent-list: linear-gradient(180deg, rgba(14,165,233,0.55) 0%, rgba(14,165,233,0.10) 100%);
    --snappy-dashboard-side-accent-template: linear-gradient(180deg, rgba(99,102,241,0.55) 0%, rgba(99,102,241,0.10) 100%);
    --snappy-dashboard-chart-delivered: rgba(22,163,74,0.95);
    --snappy-dashboard-chart-opens: rgba(79,70,229,0.95);
    --snappy-dashboard-chart-clicks: rgba(2,132,199,0.95);
    --snappy-dashboard-chart-unsubs: rgba(217,119,6,0.95);
    --snappy-dashboard-area-delivered: rgba(34,197,94,0.22);
    --snappy-dashboard-area-opens: rgba(99,102,241,0.20);
    --snappy-dashboard-area-clicks: rgba(14,165,233,0.20);
    --snappy-dashboard-dot-stroke: rgba(255,255,255,0.98);
    --snappy-dashboard-panel-overlay: radial-gradient(circle at top right, rgba(99,102,241,0.08), transparent 32%);
    --snappy-dashboard-filter-pill-bg: rgba(99,102,241,0.06);
    --snappy-dashboard-filter-pill-border: rgba(99,102,241,0.10);
}

:root[data-theme="dark"] .marketing-dashboard {
    --snappy-dashboard-panel-border: rgba(159, 168, 255, 0.18);
    --snappy-dashboard-panel-border-strong: rgba(159, 168, 255, 0.24);
    --snappy-dashboard-shadow: 0 14px 34px rgba(0, 0, 0, 0.26);
    --snappy-dashboard-shadow-hover: 0 20px 44px rgba(0, 0, 0, 0.34);
    --snappy-dashboard-panel-bg: linear-gradient(180deg, rgba(24,28,40,0.98) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-dashboard-panel-bg-soft: linear-gradient(180deg, rgba(27,31,44,0.96) 0%, rgba(20,23,33,0.98) 100%);
    --snappy-dashboard-panel-bg-library: linear-gradient(180deg, rgba(27,31,44,0.98) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-dashboard-empty-bg: radial-gradient(circle at top, rgba(159,168,255,0.12), transparent 42%), linear-gradient(180deg, rgba(24,28,40,0.98) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-dashboard-chart-bg: radial-gradient(circle at top left, rgba(159,168,255,0.10), transparent 32%), linear-gradient(180deg, rgba(22,26,37,0.98) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-dashboard-chart-grid: rgba(184,193,223,0.16);
    --snappy-dashboard-legend-bg: rgba(24,28,40,0.78);
    --snappy-dashboard-library-entry-bg: linear-gradient(180deg, rgba(30,34,48,0.96) 0%, rgba(21,24,34,0.98) 100%);
    --snappy-dashboard-recent-head-bg: linear-gradient(180deg, rgba(27,31,44,0.98) 0%, rgba(22,26,37,0.98) 100%);
    --snappy-dashboard-hero-templates: radial-gradient(circle at top left, rgba(159,168,255,0.18), transparent 48%), linear-gradient(135deg, rgba(99, 102, 241, 0.18) 0%, rgba(99, 102, 241, 0.05) 100%);
    --snappy-dashboard-hero-lists: radial-gradient(circle at top left, rgba(14,165,233,0.18), transparent 48%), linear-gradient(135deg, rgba(14, 165, 233, 0.16) 0%, rgba(14, 165, 233, 0.05) 100%);
    --snappy-dashboard-top-accent: linear-gradient(90deg, rgba(159,168,255,0.86) 0%, rgba(56,189,248,0.56) 100%);
    --snappy-dashboard-side-accent: linear-gradient(180deg, rgba(159,168,255,0.82) 0%, rgba(56,189,248,0.52) 100%);
    --snappy-dashboard-side-accent-list: linear-gradient(180deg, rgba(56,189,248,0.72) 0%, rgba(56,189,248,0.16) 100%);
    --snappy-dashboard-side-accent-template: linear-gradient(180deg, rgba(159,168,255,0.72) 0%, rgba(159,168,255,0.16) 100%);
    --snappy-dashboard-dot-stroke: rgba(18,20,28,0.98);
    --snappy-dashboard-panel-overlay: radial-gradient(circle at top right, rgba(159,168,255,0.14), transparent 32%);
    --snappy-dashboard-filter-pill-bg: rgba(159,168,255,0.12);
    --snappy-dashboard-filter-pill-border: rgba(159,168,255,0.20);
}

.marketing-dashboard .dashboard-panel {
    position: relative;
    background: var(--snappy-dashboard-panel-bg);
    border: 1px solid var(--snappy-dashboard-panel-border);
    box-shadow: var(--snappy-dashboard-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .marketing-dashboard .dashboard-panel:hover {
        transform: translateY(-1px);
        box-shadow: var(--snappy-dashboard-shadow-hover);
        border-color: var(--snappy-dashboard-panel-border-strong);
    }

.marketing-dashboard .dashboard-panel--soft {
    background: var(--snappy-dashboard-panel-bg-soft);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 22px rgba(15, 23, 42, 0.04);
}

.marketing-dashboard .dashboard-panel--library {
    background: var(--snappy-dashboard-panel-bg-library);
}

.marketing-dashboard .stat-card,
.marketing-dashboard .channel-card,
.marketing-dashboard .signal-box,
.marketing-dashboard .metric-mini,
.marketing-dashboard .library-card,
.marketing-dashboard .activity-day-card,
.marketing-dashboard .library-entry {
    border-radius: 20px;
}

.marketing-dashboard .library-card__content {
    border-radius: 20px;
}

.marketing-dashboard .stat-card {
    overflow: hidden;
    min-height: 138px;
}

    .marketing-dashboard .stat-card::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: var(--snappy-dashboard-top-accent);
    }

    .marketing-dashboard .stat-card .mud-typography-h4 {
        margin-top: 6px;
        letter-spacing: -0.02em;
    }

.marketing-dashboard .h-100 {
    height: 100%;
}

.marketing-dashboard .activity-toolbar {
    gap: 12px;
    flex-wrap: wrap;
}

.marketing-dashboard .activity-toolbar__actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.marketing-dashboard .activity-metric-pills {
    display: inline-flex;
    gap: 8px;
    padding: 4px;
    border-radius: 999px;
    background: var(--snappy-dashboard-filter-pill-bg);
    border: 1px solid var(--snappy-dashboard-filter-pill-border);
}

.marketing-dashboard .activity-pill {
    border-radius: 999px;
    min-width: 110px;
}

.marketing-dashboard .activity-summary-bar {
    gap: 10px;
    flex-wrap: wrap;
    padding: 2px 0 6px 0;
}

.marketing-dashboard .activity-empty-state,
.marketing-dashboard .library-empty-state {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 24px;
    border: 1px dashed var(--snappy-dashboard-panel-border-strong);
    border-radius: 20px;
    background: var(--snappy-dashboard-empty-bg);
}

.marketing-dashboard .activity-chart-card {
    padding: 18px 18px 14px 18px;
    overflow: hidden;
}

.marketing-dashboard .activity-chart {
    width: 100%;
    height: 250px;
    position: relative;
    background: var(--snappy-dashboard-chart-bg);
    border: 1px solid var(--snappy-dashboard-panel-border);
    border-radius: 18px;
    padding: 8px;
}

.marketing-dashboard .activity-chart__svg {
    width: 100%;
    height: 100%;
    display: block;
}

.marketing-dashboard .activity-chart__grid {
    stroke: var(--snappy-dashboard-chart-grid);
    stroke-width: 1;
    stroke-dasharray: 4 6;
}

.marketing-dashboard .activity-chart__line {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.marketing-dashboard .activity-chart__line--delivered {
    stroke: var(--snappy-dashboard-chart-delivered);
}

.marketing-dashboard .activity-chart__line--opens {
    stroke: var(--snappy-dashboard-chart-opens);
}

.marketing-dashboard .activity-chart__line--clicks {
    stroke: var(--snappy-dashboard-chart-clicks);
}

.marketing-dashboard .activity-chart__line--unsubs {
    stroke: var(--snappy-dashboard-chart-unsubs);
}

.marketing-dashboard .activity-chart__area {
    fill-opacity: .18;
    stroke: none;
}

.marketing-dashboard .activity-chart__area--delivered {
    fill: var(--snappy-dashboard-area-delivered);
}

.marketing-dashboard .activity-chart__area--opens {
    fill: var(--snappy-dashboard-area-opens);
}

.marketing-dashboard .activity-chart__area--clicks {
    fill: var(--snappy-dashboard-area-clicks);
}

.marketing-dashboard .activity-chart__dot {
    stroke: var(--snappy-dashboard-dot-stroke);
    stroke-width: 3;
}

.marketing-dashboard .activity-chart__dot--delivered {
    fill: var(--snappy-dashboard-chart-delivered);
}

.marketing-dashboard .activity-chart__dot--opens {
    fill: var(--snappy-dashboard-chart-opens);
}

.marketing-dashboard .activity-chart__dot--clicks {
    fill: var(--snappy-dashboard-chart-clicks);
}

.marketing-dashboard .activity-chart__dot--unsubs {
    fill: var(--snappy-dashboard-chart-unsubs);
}

.marketing-dashboard .activity-chart-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.marketing-dashboard .activity-chart-legend__item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 10px;
    border-radius: 16px;
    background: var(--snappy-dashboard-legend-bg);
    border: 1px solid var(--snappy-dashboard-panel-border);
}

.marketing-dashboard .activity-chart-legend__day,
.marketing-dashboard .activity-chart-legend__date {
    font-size: .78rem;
    color: var(--mud-palette-text-secondary);
}

.marketing-dashboard .activity-chart-legend__metrics {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 2px;
}

.marketing-dashboard .activity-chart-legend__metric {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
}

.marketing-dashboard .activity-chart-legend__metric-label {
    color: var(--mud-palette-text-secondary);
}

.marketing-dashboard .activity-chart-legend__metric-value {
    color: var(--mud-palette-text-primary);
    font-size: .85rem;
    letter-spacing: -0.01em;
}

.marketing-dashboard .activity-chart-legend__swatch {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
}

.marketing-dashboard .activity-chart__swatch--delivered {
    background: var(--snappy-dashboard-chart-delivered);
}

.marketing-dashboard .activity-chart__swatch--opens {
    background: var(--snappy-dashboard-chart-opens);
}

.marketing-dashboard .activity-chart__swatch--clicks {
    background: var(--snappy-dashboard-chart-clicks);
}

.marketing-dashboard .activity-chart__swatch--unsubs {
    background: var(--snappy-dashboard-chart-unsubs);
}

.marketing-dashboard .signal-box {
    overflow: hidden;
}

    .marketing-dashboard .signal-box::before {
        content: "";
        position: absolute;
        inset: 16px auto 16px 0;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-dashboard-side-accent);
    }

.marketing-dashboard .channel-card {
    overflow: hidden;
}

    .marketing-dashboard .channel-card::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: var(--snappy-dashboard-panel-overlay);
    }

.marketing-dashboard .metric-mini {
    min-height: 86px;
}

.marketing-dashboard .recent-campaigns-table {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--snappy-dashboard-panel-border);
}

    .marketing-dashboard .recent-campaigns-table .mud-table-head {
        background: var(--snappy-dashboard-recent-head-bg);
    }

    .marketing-dashboard .recent-campaigns-table .mud-table-container {
        border-radius: 18px;
    }

.marketing-dashboard .library-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.marketing-dashboard .library-card__hero {
    padding: 18px 18px 14px 18px;
    border-bottom: 1px solid var(--snappy-dashboard-panel-border);
}

.marketing-dashboard .library-card__hero--templates {
    background: var(--snappy-dashboard-hero-templates);
}

.marketing-dashboard .library-card__hero--lists {
    background: var(--snappy-dashboard-hero-lists);
}

.marketing-dashboard .library-card__body {
    padding: 18px;
    flex: 1;
    display: flex;
}

.marketing-dashboard .library-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.marketing-dashboard .modern-library {
    min-height: 100%;
}

.marketing-dashboard .library-card__summary,
.marketing-dashboard .library-card__footer {
    flex-wrap: wrap;
    gap: 12px;
}

.marketing-dashboard .library-entry-list {
    flex: 1;
}

.marketing-dashboard .library-entry {
    padding: 16px;
    overflow: hidden;
    background: var(--snappy-dashboard-library-entry-bg);
}

    .marketing-dashboard .library-entry::before {
        content: "";
        position: absolute;
        inset: 14px auto 14px 0;
        width: 3px;
        border-radius: 999px;
        background: var(--snappy-dashboard-side-accent-template);
    }

.marketing-dashboard .library-entry--list::before {
    background: var(--snappy-dashboard-side-accent-list);
}

.marketing-dashboard .library-entry__main {
    min-width: 0;
}

.marketing-dashboard .library-entry__avatar {
    flex-shrink: 0;
}

.marketing-dashboard .library-entry__chips {
    flex-wrap: wrap;
    margin-top: 2px;
    margin-bottom: 0;
}

.marketing-dashboard .library-entry__desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.45;
    margin-top: 2px;
}

.marketing-dashboard .library-entry__meta {
    white-space: nowrap;
    padding-top: 2px;
    opacity: .8;
}

.marketing-dashboard .mud-chip {
    font-weight: 600;
    letter-spacing: .01em;
}

.marketing-dashboard .mud-button-root.mud-button-outlined {
    border-radius: 14px;
}

.marketing-dashboard .activity-filter-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.marketing-dashboard .activity-filter-pills,
.marketing-dashboard .activity-metric-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.marketing-dashboard .filter-summary-strip {
    margin-top: -4px;
    gap: 8px;
}

.marketing-dashboard .filter-panel {
    padding-right: 4px;
}

.marketing-dashboard .filter-panel__summary {
    border-radius: 18px;
}

@media (max-width: 960px) {
    .marketing-dashboard .activity-chart-legend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .marketing-dashboard .activity-toolbar__actions {
        justify-content: flex-start;
    }

    .marketing-dashboard .library-entry__meta {
        white-space: normal;
    }
}


/* =========================
   Shared dashboard chrome
   ========================= */

.snappy-dashboard,
.rcs-dashboard,
.email-dashboard,
.sms-dashboard,
.admin-dashboard-v3,
.designer-dashboard-v3,
.campaign-calendar-panel {
    --snappy-panel-border: rgba(15, 23, 42, 0.08);
    --snappy-panel-border-strong: rgba(99, 102, 241, 0.18);
    --snappy-panel-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    --snappy-panel-shadow-hover: 0 20px 40px rgba(15, 23, 42, 0.10);
    --snappy-panel-bg: var(--snappy-client-component-bg, linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,251,253,0.96) 100%));
    --snappy-panel-bg-soft: var(--snappy-client-component-bg-soft, linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(248,250,252,0.94) 100%));
    --snappy-top-accent: linear-gradient(90deg, rgba(99,102,241,0.80) 0%, rgba(14,165,233,0.45) 100%);
    --snappy-side-accent: linear-gradient(180deg, rgba(99,102,241,0.70) 0%, rgba(14,165,233,0.45) 100%);
    --snappy-shell-overlay: radial-gradient(circle at top right, rgba(99,102,241,0.12), transparent 30%);
    --snappy-empty-bg: radial-gradient(circle at top, rgba(99,102,241,0.06), transparent 42%), linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.98) 100%);
    --snappy-calendar-surface: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(247,249,252,0.94) 100%);
    --snappy-calendar-surface-alt: rgba(248,250,252,0.92);
    --snappy-calendar-grid: rgba(15, 23, 42, 0.08);
    --snappy-calendar-toolbar: rgba(255,255,255,0.82);
    --snappy-calendar-event-text: #16163f;
}

:root[data-theme="dark"] .snappy-dashboard,
:root[data-theme="dark"] .rcs-dashboard,
:root[data-theme="dark"] .email-dashboard,
:root[data-theme="dark"] .sms-dashboard,
:root[data-theme="dark"] .admin-dashboard-v3,
:root[data-theme="dark"] .designer-dashboard-v3,
:root[data-theme="dark"] .campaign-calendar-panel {
    --snappy-panel-border: rgba(159, 168, 255, 0.18);
    --snappy-panel-border-strong: rgba(159, 168, 255, 0.24);
    --snappy-panel-shadow: 0 14px 34px rgba(0, 0, 0, 0.26);
    --snappy-panel-shadow-hover: 0 20px 44px rgba(0, 0, 0, 0.34);
    --snappy-panel-bg: var(--snappy-client-component-bg, linear-gradient(180deg, rgba(24,28,40,0.98) 0%, rgba(18,20,28,0.98) 100%));
    --snappy-panel-bg-soft: var(--snappy-client-component-bg-soft, linear-gradient(180deg, rgba(27,31,44,0.96) 0%, rgba(20,23,33,0.98) 100%));
    --snappy-top-accent: linear-gradient(90deg, rgba(159,168,255,0.86) 0%, rgba(56,189,248,0.56) 100%);
    --snappy-side-accent: linear-gradient(180deg, rgba(159,168,255,0.82) 0%, rgba(56,189,248,0.52) 100%);
    --snappy-shell-overlay: radial-gradient(circle at top right, rgba(159,168,255,0.14), transparent 30%);
    --snappy-empty-bg: radial-gradient(circle at top, rgba(159,168,255,0.12), transparent 42%), linear-gradient(180deg, rgba(24,28,40,0.98) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-calendar-surface: linear-gradient(180deg, rgba(24,28,40,0.96) 0%, rgba(18,20,28,0.98) 100%);
    --snappy-calendar-surface-alt: rgba(27,31,44,0.92);
    --snappy-calendar-grid: rgba(184,193,223,0.14);
    --snappy-calendar-toolbar: rgba(24,28,40,0.84);
    --snappy-calendar-event-text: #eef2ff;
}

.snappy-dashboard .dashboard-panel,
.rcs-dashboard .dashboard-panel,
.email-dashboard .dashboard-panel,
.sms-dashboard .dashboard-panel,
.admin-dashboard-v3 .dashboard-panel,
.designer-dashboard-v3 .dashboard-panel,
.campaign-calendar-panel {
    position: relative;
    background: var(--snappy-panel-bg);
    border: 1px solid var(--snappy-panel-border);
    box-shadow: var(--snappy-panel-shadow);
    border-radius: 20px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .snappy-dashboard .dashboard-panel:hover,
    .rcs-dashboard .dashboard-panel:hover,
    .email-dashboard .dashboard-panel:hover,
    .sms-dashboard .dashboard-panel:hover,
    .admin-dashboard-v3 .dashboard-panel:hover,
    .designer-dashboard-v3 .dashboard-panel:hover,
    .campaign-calendar-panel:hover {
        transform: translateY(-1px);
        box-shadow: var(--snappy-panel-shadow-hover);
        border-color: var(--snappy-panel-border-strong);
    }

.snappy-dashboard .dashboard-panel--soft,
.rcs-dashboard .dashboard-panel--soft {
    background: var(--snappy-panel-bg-soft);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 22px rgba(15,23,42,0.04);
}

.snappy-section-title,
.email-dashboard-v1__campaigns-title,
.sms-dashboard-page__campaigns-title,
.rcs-dashboard-page__campaigns-title,
.audience-contacts-page__title,
.audience-segments-list-page__title,
.recipient-lists-page-v4__title,
.blocklist-page__title,
.sender-domains-page-v4__section-title,
.email-profiles-page-v3__section-title,
.email-templates-page-v2__section-title,
.sms-template-list-v2__section-title,
.sms-sender-ids-page__section-title,
.rcs-agents-page__title,
.users-admin-page__title,
.admin-dashboard-v3 .snappy-admin-section > .mud-stack > .mud-stack-row:first-child > div:first-child > :is(.mud-typography-h5, .mud-typography-h6),
.admin-dashboard-v3 .snappy-admin-mini-card__head > div:first-child > :is(.mud-typography-h5, .mud-typography-h6),
.dashboard-hero > .mud-stack > .mud-stack-row:first-child > .mud-stack:first-child > .mud-typography-h5 {
    font-size: 1.5rem !important;
    line-height: 1.334 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: var(--snappy-title) !important;
}

.snappy-dashboard .dashboard-hero,
.rcs-dashboard .dashboard-hero,
.email-dashboard .dashboard-hero,
.sms-dashboard .dashboard-hero,
.admin-dashboard-v3 .dashboard-hero,
.designer-dashboard-v3 .dashboard-hero {
    overflow: hidden;
    background: var(--snappy-shell-overlay), var(--snappy-panel-bg);
}

    .snappy-dashboard .dashboard-hero::before,
    .rcs-dashboard .dashboard-hero::before,
    .email-dashboard .dashboard-hero::before,
    .sms-dashboard .dashboard-hero::before,
    .admin-dashboard-v3 .dashboard-hero::before,
    .designer-dashboard-v3 .dashboard-hero::before,
    .rcs-dashboard .rcs-summary-card::before,
    .campaign-calendar-panel::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: var(--snappy-top-accent);
    }

.snappy-dashboard .dashboard-item::before,
.rcs-dashboard .dashboard-item::before,
.admin-dashboard-v3 .dashboard-item::before,
.campaign-calendar-panel .calendar-shell::before {
    content: "";
    position: absolute;
    inset: 16px auto 16px 0;
    width: 4px;
    border-radius: 999px;
    background: var(--snappy-side-accent);
}

.snappy-dashboard .empty-shell,
.campaign-calendar-panel .empty-state,
.snappy-dashboard .dashboard-empty-state,
.rcs-dashboard .dashboard-empty-state,
.email-dashboard .empty-shell,
.sms-dashboard .empty-shell {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    padding: 28px;
    border-radius: 20px;
    border: 1px dashed var(--snappy-panel-border-strong);
    background: var(--snappy-empty-bg);
}

.snappy-dashboard .mud-button-root.mud-button-outlined,
.rcs-dashboard .mud-button-root.mud-button-outlined,
.email-dashboard .mud-button-root.mud-button-outlined,
.sms-dashboard .mud-button-root.mud-button-outlined,
.admin-dashboard-v3 .mud-button-root.mud-button-outlined,
.designer-dashboard-v3 .mud-button-root.mud-button-outlined {
    border-radius: 14px;
}

.rcs-dashboard .rcs-summary-card,
.rcs-dashboard .rcs-dashboard-card {
    border-radius: 20px;
    overflow: hidden;
}

.rcs-dashboard-card__body-grid {
    align-items: stretch;
}

.rcs-dashboard-card__actions {
    padding-inline-end: 10px;
}

.rcs-dashboard-card__preview-panel {
    height: 100%;
    min-height: 220px;
    max-height: 290px;
    overflow: hidden;
}

.rcs-dashboard-card__preview-panel.campaign-card-preview {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 8px 12px 8px 0;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview {
    width: 100%;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview--compact .rcs-device-preview__device {
    max-width: 250px;
    max-height: 340px;
    overflow: hidden;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview--compact .rcs-device-preview__screen {
    min-height: 180px;
    max-height: 245px;
    overflow: hidden;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__bubble {
    max-height: 220px;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__bubble--horizontal {
    align-items: stretch;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__bubble--horizontal .rcs-device-preview__img {
    height: auto;
    min-height: 100%;
    max-height: none;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__bubble--vertical .rcs-device-preview__img {
    max-height: 112px;
    object-fit: cover;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__content,
.rcs-dashboard-card__preview-panel .rcs-device-preview__card-content {
    align-content: start;
    min-height: 0;
    overflow: hidden;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__title,
.rcs-dashboard-card__preview-panel .rcs-device-preview__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__title {
    -webkit-line-clamp: 2;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__text {
    -webkit-line-clamp: 4;
}

.rcs-dashboard-card__preview-panel .rcs-device-preview__bubble--horizontal .rcs-device-preview__text {
    -webkit-line-clamp: 7;
}

.rcs-dashboard-card__details-panel {
    padding-inline-end: 18px !important;
}

.rcs-dashboard .rcs-soft-label {
    opacity: .72;
}

.rcs-dashboard .rcs-metric-chip,
.rcs-dashboard .mud-chip,
.snappy-dashboard .mud-chip,
.campaign-calendar-panel .mud-chip {
    font-weight: 600;
    letter-spacing: .01em;
}

.rcs-dashboard .rcs-view-toggle-button {
    min-width: 126px;
}

.snappy-segmented-choice {
    display: grid;
    min-width: 0;
    border: 1px solid rgba(25, 25, 69, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.snappy-segmented-choice--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.snappy-segmented-choice--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.snappy-dashboard .snappy-segmented-choice .mud-button-root,
.rcs-dashboard .snappy-segmented-choice .mud-button-root,
.email-dashboard .snappy-segmented-choice .mud-button-root,
.sms-dashboard .snappy-segmented-choice .mud-button-root,
.admin-dashboard-v3 .snappy-segmented-choice .mud-button-root,
.designer-dashboard-v3 .snappy-segmented-choice .mud-button-root {
    min-width: 0;
    min-height: 56px;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    letter-spacing: 0;
}

.snappy-segmented-choice .mud-button-root + .mud-button-root {
    border-left: 1px solid rgba(25, 25, 69, 0.22) !important;
}

.snappy-segmented-choice .mud-button-root.mud-button-filled-primary {
    background: #16163f !important;
    color: #fff !important;
}

.snappy-segmented-choice .mud-button-root.mud-button-outlined {
    background: transparent !important;
    color: #3f4050;
}

.snappy-segmented-choice .mud-button-root.mud-disabled {
    background: rgba(22, 22, 63, 0.025) !important;
    color: rgba(63, 64, 80, 0.38) !important;
    opacity: 1;
}

:root[data-theme="dark"] .snappy-segmented-choice,
body.mud-theme-dark .snappy-segmented-choice {
    border-color: rgba(159, 168, 255, 0.26);
    background: rgba(20, 23, 33, 0.92);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

:root[data-theme="dark"] .snappy-segmented-choice .mud-button-root + .mud-button-root,
body.mud-theme-dark .snappy-segmented-choice .mud-button-root + .mud-button-root {
    border-left-color: rgba(159, 168, 255, 0.24) !important;
}

:root[data-theme="dark"] .snappy-segmented-choice .mud-button-root.mud-button-filled-primary,
body.mud-theme-dark .snappy-segmented-choice .mud-button-root.mud-button-filled-primary {
    background: #8fbfff !important;
    color: #11142f !important;
}

:root[data-theme="dark"] .snappy-segmented-choice .mud-button-root.mud-button-outlined,
body.mud-theme-dark .snappy-segmented-choice .mud-button-root.mud-button-outlined {
    color: #eef2ff;
}

:root[data-theme="dark"] .snappy-segmented-choice .mud-button-root.mud-disabled,
body.mud-theme-dark .snappy-segmented-choice .mud-button-root.mud-disabled {
    background: rgba(238, 242, 255, 0.04) !important;
    color: rgba(238, 242, 255, 0.34) !important;
}

@media (max-width: 720px) {
    .snappy-segmented-choice--stack-mobile {
        grid-template-columns: 1fr;
    }

    .snappy-segmented-choice--stack-mobile .mud-button-root + .mud-button-root {
        border-left: 0 !important;
        border-top: 1px solid rgba(25, 25, 69, 0.22) !important;
    }

    :root[data-theme="dark"] .snappy-segmented-choice--stack-mobile .mud-button-root + .mud-button-root,
    body.mud-theme-dark .snappy-segmented-choice--stack-mobile .mud-button-root + .mud-button-root {
        border-top-color: rgba(159, 168, 255, 0.24) !important;
    }
}

/* =========================
   Campaign calendar theme
   ========================= */

.campaign-calendar-panel {
    overflow: hidden;
}

    .campaign-calendar-panel .legend-chip,
    .campaign-calendar-panel .month-chip {
        border-radius: 999px;
        border-color: rgba(99,102,241,0.18);
        background: rgba(99,102,241,0.04);
    }

:root[data-theme="dark"] .campaign-calendar-panel .legend-chip,
:root[data-theme="dark"] .campaign-calendar-panel .month-chip {
    border-color: rgba(159,168,255,0.24);
    background: rgba(159,168,255,0.08);
}

.campaign-calendar-panel .refresh-btn {
    border: 1px solid rgba(99,102,241,0.16);
    border-radius: 14px;
    background: rgba(255,255,255,0.75);
}

:root[data-theme="dark"] .campaign-calendar-panel .refresh-btn {
    border-color: rgba(159,168,255,0.22);
    background: rgba(24,28,40,0.82);
}

.campaign-calendar-panel .calendar-shell {
    position: relative;
    border: 1px solid var(--snappy-panel-border);
    border-radius: 18px;
    padding: 12px;
    background: var(--snappy-calendar-surface);
    overflow: hidden;
}

    .campaign-calendar-panel .calendar-shell::before {
        inset: 20px auto 20px 0;
    }

.campaign-calendar-panel .mud-calendar,
.campaign-calendar-panel [class*="mud-cal"] {
    color: var(--mud-palette-text-primary);
}

    .campaign-calendar-panel .mud-calendar .mud-paper,
    .campaign-calendar-panel .mud-calendar .mud-toolbar,
    .campaign-calendar-panel .mud-calendar .mud-input-control,
    .campaign-calendar-panel .mud-calendar .mud-table-container,
    .campaign-calendar-panel .mud-calendar .mud-button-root {
        background-color: transparent;
    }

    .campaign-calendar-panel .mud-calendar .mud-toolbar,
    .campaign-calendar-panel .mud-calendar [class*="toolbar"],
    .campaign-calendar-panel .mud-calendar [class*="header"] {
        background: var(--snappy-calendar-toolbar);
        border-radius: 16px;
    }

    .campaign-calendar-panel .mud-calendar .mud-button-root,
    .campaign-calendar-panel .mud-calendar .mud-icon-button,
    .campaign-calendar-panel .mud-calendar .mud-input-slot {
        color: var(--mud-palette-text-primary);
    }

        .campaign-calendar-panel .mud-calendar .mud-button-root.mud-button-filled {
            background: rgba(99,102,241,0.16);
        }

:root[data-theme="dark"] .campaign-calendar-panel .mud-calendar .mud-button-root.mud-button-filled {
    background: rgba(159,168,255,0.18);
}

.campaign-calendar-panel .mud-calendar table,
.campaign-calendar-panel .mud-calendar th,
.campaign-calendar-panel .mud-calendar td,
.campaign-calendar-panel .mud-calendar [role="gridcell"] {
    border-color: var(--snappy-calendar-grid) !important;
}

.campaign-calendar-panel .mud-calendar td,
.campaign-calendar-panel .mud-calendar [role="gridcell"] {
    background: transparent;
}

.campaign-calendar-panel .snappy-calendar-event {
    --snappy-calendar-accent: var(--mud-palette-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 8px;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--snappy-calendar-accent) 28%, transparent);
    background: color-mix(in srgb, var(--snappy-calendar-accent) 16%, transparent);
    color: var(--snappy-calendar-event-text);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden;
    box-sizing: border-box;
}

.campaign-calendar-panel .snappy-calendar-event__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--snappy-calendar-accent);
    flex: 0 0 auto;
}

.campaign-calendar-panel .snappy-calendar-event__text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.campaign-calendar-panel .mud-tooltip-root {
    width: 100%;
    display: block;
}
/* =========================
   Analytics section
   ========================= */

:root {
    --snappy-panel-bg: rgba(255,255,255,0.92);
    --snappy-panel-border: rgba(76, 87, 182, 0.12);
    --snappy-hero-bg: linear-gradient(135deg, rgba(121, 134, 255, 0.14), rgba(97, 218, 251, 0.10));
    --snappy-accent-soft: #7c8bff;
}

    :root[data-theme="dark"] {
        --snappy-panel-bg: rgba(19, 25, 41, 0.96);
        --snappy-panel-border: rgba(159, 168, 255, 0.18);
        --snappy-hero-bg: linear-gradient(135deg, rgba(76, 87, 182, 0.22), rgba(35, 191, 255, 0.12));
        --snappy-accent-soft: #aab3ff;
    }

.snappy-analytics-page .mud-paper,
.snappy-stat-card,
.snappy-panel,
.snappy-hero,
.snappy-analytics-tabs {
    background: var(--snappy-panel-bg);
    border-color: var(--snappy-panel-border) !important;
}

.snappy-hero {
    background: var(--snappy-hero-bg) !important;
    border-radius: 24px !important;
}

.snappy-hero__inner {
    padding: 20px 24px;
}

.snappy-hero__subtitle {
    max-width: 860px;
}

.snappy-analytics-tabs {
    padding: 12px 14px;
    border-radius: 18px !important;
}

.snappy-chipbar {
    gap: 8px;
}

.snappy-panel {
    border-radius: 22px !important;
}

.snappy-panel--accent-top {
    position: relative;
    overflow: hidden;
}

    .snappy-panel--accent-top::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #7c8bff, #93d8ff);
    }

.snappy-panel--accent-left {
    position: relative;
    overflow: hidden;
}

    .snappy-panel--accent-left::before {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: linear-gradient(180deg, #7c8bff, #93d8ff);
    }

.snappy-stat-card {
    padding: 18px 20px;
    border-radius: 22px !important;
    position: relative;
    overflow: hidden;
}

    .snappy-stat-card::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, #7c8bff, #93d8ff);
    }

.snappy-url-ellipsis {
    display: inline-block;
    max-width: 420px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:root[data-theme="dark"] .mud-chart {
    filter: brightness(1.04);
}



/* =========================
   Analytics title / hero polish
   ========================= */

.snappy-analytics-page {
    width: 100%;
    min-width: 0;
}

    .snappy-analytics-page .snappy-hero {
        overflow: hidden;
    }

    .snappy-analytics-page .snappy-hero__inner {
        padding: 22px 26px 20px 30px;
        min-width: 0;
    }

        .snappy-analytics-page .snappy-hero__inner > div:first-child {
            min-width: 0;
            padding-left: 2px;
        }

    .snappy-analytics-page .snappy-hero .mud-typography-h4,
    .snappy-analytics-page .snappy-hero .mud-typography-h5 {
        margin: 0;
        padding-left: 2px;
        line-height: 1.08;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .snappy-analytics-page .snappy-hero__subtitle {
        margin-top: 8px;
        max-width: 980px;
    }

    .snappy-analytics-page .snappy-analytics-tabs {
        overflow-x: auto;
    }

    .snappy-analytics-page .snappy-chipbar {
        flex-wrap: wrap;
    }

@media (max-width: 900px) {
    .snappy-analytics-page .snappy-hero__inner {
        padding: 18px 18px 18px 22px;
    }
}


/* =========================
   Analytics polish v3
   ========================= */

.snappy-analytics-page {
    padding-inline-start: 2px;
    overflow: visible;
}

    .snappy-analytics-page .snappy-hero {
        overflow: visible !important;
    }

        .snappy-analytics-page .snappy-hero__inner,
        .snappy-analytics-page .snappy-hero > .mud-stack {
            padding: 24px 28px 22px 34px;
            min-width: 0;
        }

        .snappy-analytics-page .snappy-hero .mud-typography-h4,
        .snappy-analytics-page .snappy-hero .mud-typography-h5 {
            padding-left: 4px;
            line-height: 1.14;
            letter-spacing: -0.01em;
            text-wrap: balance;
        }

    .snappy-analytics-page .snappy-hero__subtitle {
        padding-left: 4px;
        line-height: 1.45;
        max-width: 1080px;
    }

    .snappy-analytics-page .snappy-hero .mud-chip-set,
    .snappy-analytics-page .snappy-hero .mud-stack {
        min-width: 0;
    }

.snappy-analytics-tabs {
    overflow-x: auto;
}

.snappy-chipbar {
    flex-wrap: wrap;
}

.snappy-empty-state {
    min-height: 240px;
    border-radius: 20px;
    border: 1px dashed rgba(124, 139, 255, 0.25);
    background: radial-gradient(circle at top, rgba(124,139,255,0.10), transparent 44%), linear-gradient(180deg, rgba(255,255,255,0.56), rgba(248,250,252,0.72));
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 28px;
}

.snappy-empty-state__inner {
    max-width: 620px;
}

.snappy-empty-state__icon {
    margin-bottom: 8px;
}

.snappy-empty-state__text {
    opacity: .9;
}

.snappy-empty-state--compact {
    min-height: 180px;
}

.snappy-empty-state__hint {
    margin-top: 14px;
}

.snappy-analytics-linechart {
    border-radius: 22px;
    padding: 14px 14px 10px;
    background: radial-gradient(circle at top left, rgba(124,139,255,0.10), transparent 30%), linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border: 1px solid rgba(124, 139, 255, 0.14);
}

.snappy-analytics-linechart__svg {
    width: 100%;
    height: auto;
    display: block;
}

.snappy-analytics-linechart__labels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
    gap: 6px;
    margin-top: 8px;
}

.snappy-analytics-linechart__label {
    font-size: 0.82rem;
    color: var(--snappy-muted);
    text-align: center;
}

.snappy-analytics-linechart__ylabels {
    position: absolute;
    left: 10px;
    top: 18px;
    bottom: 56px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
    color: var(--snappy-muted);
    font-size: .76rem;
}

.snappy-analytics-linechart__frame {
    position: relative;
}

.snappy-analytics-linechart__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.snappy-analytics-linechart__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(124,139,255,.18);
    background: rgba(255,255,255,.04);
    font-size: .88rem;
}

.snappy-analytics-linechart__swatch {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex: 0 0 10px;
}

.snappy-analytics-summarybar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.snappy-analytics-summarybar__note {
    color: var(--snappy-muted);
    font-size: .86rem;
}

:root[data-theme="dark"] .snappy-empty-state {
    border-color: rgba(147, 216, 255, 0.18);
    background: radial-gradient(circle at top, rgba(124,139,255,0.14), transparent 44%), linear-gradient(180deg, rgba(13,22,49,0.74), rgba(10,18,40,0.92));
}

:root[data-theme="dark"] .snappy-analytics-linechart {
    background: radial-gradient(circle at top left, rgba(124,139,255,0.14), transparent 30%), linear-gradient(180deg, rgba(13,22,49,0.74), rgba(10,18,40,0.92));
    border-color: rgba(147, 216, 255, 0.16);
}

@media (max-width: 900px) {
    .snappy-analytics-page .snappy-hero__inner,
    .snappy-analytics-page .snappy-hero > .mud-stack {
        padding: 20px 18px 18px 24px;
    }

    .snappy-empty-state {
        min-height: 200px;
        padding: 20px;
    }
}


/* =========================
   Analytics micro-interactions
   ========================= */

.snappy-analytics-page .snappy-analytics-table {
    border-radius: 18px;
    overflow: hidden;
}

    .snappy-analytics-page .snappy-analytics-table .mud-table-container {
        border-radius: 18px;
    }

    .snappy-analytics-page .snappy-analytics-table .mud-table-head .mud-table-cell {
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .snappy-analytics-page .snappy-analytics-table .mud-table-body .mud-table-row {
        transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
    }

        .snappy-analytics-page .snappy-analytics-table .mud-table-body .mud-table-row:hover {
            transform: translateY(-1px);
            background: rgba(76, 87, 182, 0.06);
            box-shadow: inset 3px 0 0 rgba(76, 87, 182, 0.75);
        }

:root[data-theme="dark"] .snappy-analytics-page .snappy-analytics-table .mud-table-body .mud-table-row:hover {
    background: rgba(159, 168, 255, 0.08);
    box-shadow: inset 3px 0 0 rgba(159, 168, 255, 0.9);
}

.snappy-analytics-rowtitle {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.snappy-analytics-rowtitle__main {
    font-weight: 700;
    line-height: 1.15;
}

.snappy-analytics-rowtitle__sub {
    color: var(--snappy-muted);
    font-size: 0.79rem;
    line-height: 1.2;
}

.snappy-analytics-rowtitle__main a {
    color: inherit;
    text-decoration: none;
}

    .snappy-analytics-rowtitle__main a:hover {
        color: var(--mud-palette-primary);
    }

.snappy-analytics-inline-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.snappy-analytics-kpihint {
    color: var(--snappy-muted);
    font-size: 0.8rem;
}

.snappy-analytics-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(76, 87, 182, 0.25);
    background: rgba(76, 87, 182, 0.06);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

:root[data-theme="dark"] .snappy-analytics-pill {
    border-color: rgba(159, 168, 255, 0.24);
    background: rgba(159, 168, 255, 0.12);
}

.snappy-analytics-confidence {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 700;
    font-size: 0.82rem;
    line-height: 1;
}

.snappy-analytics-confidence__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.snappy-analytics-confidence--high {
    color: #0f766e;
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.34);
}

    .snappy-analytics-confidence--high .snappy-analytics-confidence__dot {
        background: #10b981;
    }

.snappy-analytics-confidence--medium {
    color: #a16207;
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.34);
}

    .snappy-analytics-confidence--medium .snappy-analytics-confidence__dot {
        background: #f59e0b;
    }

.snappy-analytics-confidence--low {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.11);
    border-color: rgba(239, 68, 68, 0.34);
}

    .snappy-analytics-confidence--low .snappy-analytics-confidence__dot {
        background: #ef4444;
    }

:root[data-theme="dark"] .snappy-analytics-confidence--high {
    color: #99f6e4;
    background: rgba(16, 185, 129, 0.14);
}

:root[data-theme="dark"] .snappy-analytics-confidence--medium {
    color: #fde68a;
    background: rgba(245, 158, 11, 0.16);
}

:root[data-theme="dark"] .snappy-analytics-confidence--low {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.16);
}

.snappy-analytics-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .snappy-analytics-actions .mud-icon-button-root {
        opacity: .72;
        transform: scale(.96);
        transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
    }

.snappy-analytics-table .mud-table-row:hover .snappy-analytics-actions .mud-icon-button-root {
    opacity: 1;
    transform: scale(1);
}

.snappy-analytics-table .mud-table-row:hover .snappy-analytics-rowtitle__main {
    color: var(--mud-palette-primary);
}

.snappy-analytics-hovercard {
    border: 1px solid var(--snappy-drawer-border);
    border-radius: 16px;
    padding: 14px 16px;
    background: rgba(255,255,255,.55);
    backdrop-filter: blur(8px);
}

:root[data-theme="dark"] .snappy-analytics-hovercard {
    background: rgba(18, 20, 28, .72);
}

.snappy-analytics-mini-grid {
    display: grid;
    gap: 10px;
}

.snappy-analytics-mini-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.snappy-analytics-mini-stat {
    border: 1px solid var(--snappy-drawer-border);
    border-radius: 14px;
    padding: 12px 14px;
}

.snappy-analytics-mini-stat__label {
    color: var(--snappy-muted);
    font-size: .78rem;
}

.snappy-analytics-mini-stat__value {
    font-weight: 800;
    font-size: 1.05rem;
    margin-top: 2px;
}

.snappy-analytics-table .mud-table-row td:last-child,
.snappy-analytics-table .mud-table-row .mud-table-cell:last-child {
    white-space: nowrap;
}

.snappy-analytics-table .snappy-url-ellipsis {
    max-width: 460px;
}

@media (max-width: 960px) {
    .snappy-analytics-table .snappy-url-ellipsis {
        max-width: 220px;
    }

    .snappy-analytics-mini-grid--2 {
        grid-template-columns: 1fr;
    }
}


/* =========================
   Analytics contextual drilldown
   ========================= */
.snappy-analytics-context {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

    .snappy-analytics-context .mud-chip {
        border-radius: 999px;
    }

.snappy-analytics-context__hint {
    color: var(--snappy-muted);
    font-size: 0.82rem;
    margin-top: 6px;
}

.snappy-analytics-drill-link {
    font-weight: 700;
    text-decoration: none;
}

    .snappy-analytics-drill-link:hover {
        text-decoration: underline;
    }

.snappy-analytics-filterpill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid var(--snappy-panel-border-strong);
    background: rgba(99, 102, 241, 0.08);
    color: var(--snappy-title);
    font-size: 0.82rem;
    font-weight: 700;
}

:root[data-theme="dark"] .snappy-analytics-filterpill {
    background: rgba(159, 168, 255, 0.12);
}

.snappy-analytics-filterpill__label {
    color: var(--snappy-muted);
    font-weight: 600;
}

.snappy-analytics-inline-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.snappy-analytics-table .mud-table-row--focus {
    background: rgba(99, 102, 241, 0.06);
}

:root[data-theme="dark"] .snappy-analytics-table .mud-table-row--focus {
    background: rgba(159, 168, 255, 0.08);
}

.snappy-analytics-table .mud-table-row td .mud-link {
    font-weight: 700;
}

.snappy-analytics-drill-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.snappy-analytics-mini-link {
    color: var(--mud-palette-primary);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.82rem;
}

    .snappy-analytics-mini-link:hover {
        text-decoration: underline;
    }


/* Analytics drilldown depth */
.snappy-analytics-linechart__hoverzone {
    cursor: crosshair;
}

.snappy-analytics-linechart__guide {
    stroke: rgba(191, 219, 254, 0.6);
    stroke-width: 2;
    stroke-dasharray: 4 6;
}

.snappy-analytics-inspector {
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.08));
}

.snappy-analytics-inspector__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.snappy-analytics-inspector__hint,
.snappy-analytics-inspector__empty {
    color: var(--snappy-muted);
    font-size: 0.9rem;
}

.snappy-analytics-inspector__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.snappy-analytics-inspector__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}

.snappy-analytics-inspector__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(148, 163, 184, 0.14);
}

    .snappy-analytics-inspector__item strong {
        margin-left: auto;
    }

.snappy-analytics-mini-link {
    font-size: .84rem;
    opacity: .92;
}

.snappy-analytics-actions .mud-icon-button-root:hover,
.snappy-analytics-drill-link:hover {
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    .snappy-analytics-inspector__header {
        flex-direction: column;
    }
}


/* =========================
   Admin dashboard v3, métier
   ========================= */

.admin-dashboard-v3.admin-cockpit {
    --snappy-admin-accent: linear-gradient(90deg, rgba(129,140,248,.95), rgba(56,189,248,.9));
}

.admin-dashboard-v3 .snappy-admin-hero {
    padding: 1.25rem;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

    .admin-dashboard-v3 .snappy-admin-hero::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--snappy-admin-accent);
        pointer-events: none;
    }

.admin-dashboard-v3 .snappy-admin-hero__subtitle {
    max-width: 72ch;
}

.admin-dashboard-v3 .snappy-admin-kpi {
    padding: 1rem 1.1rem;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    min-height: 118px;
    background: var(--snappy-panel-bg);
    border: 1px solid var(--snappy-panel-border);
    box-shadow: var(--snappy-panel-shadow);
}

    .admin-dashboard-v3 .snappy-admin-kpi::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--snappy-admin-accent);
        pointer-events: none;
    }

.admin-dashboard-v3 .snappy-admin-kpi--wide,
.admin-dashboard-v3 .snappy-admin-kpi--audience {
    display: flex;
    align-items: center;
}

.admin-dashboard-v3 .snappy-admin-kpi__wide-content,
.admin-dashboard-v3 .snappy-admin-kpi__chipline {
    width: 100%;
    flex-wrap: wrap;
}

.admin-dashboard-v3 .snappy-admin-kpi__chipline {
    justify-content: flex-end;
}

.admin-dashboard-v3 .snappy-admin-kpi--audience {
    min-height: 148px;
}

.admin-dashboard-v3 .snappy-admin-audience-metric {
    min-height: 96px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.16);
    background: rgba(255,255,255,.02);
}

    .admin-dashboard-v3 .snappy-admin-audience-metric span,
    .admin-dashboard-v3 .snappy-admin-audience-metric small {
        display: block;
        color: var(--snappy-muted);
    }

    .admin-dashboard-v3 .snappy-admin-audience-metric strong {
        display: block;
        margin-top: 4px;
        font-size: 1.45rem;
        line-height: 1.15;
        color: var(--snappy-title);
    }

.admin-dashboard-v3 .snappy-admin-section {
    border-radius: 22px;
    padding: 1rem 1.1rem;
    position: relative;
    overflow: hidden;
}

    .admin-dashboard-v3 .snappy-admin-section::before {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-admin-accent);
        opacity: .95;
    }

.admin-dashboard-v3 .snappy-admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.admin-dashboard-v3 .snappy-admin-table .mud-table-container {
    border-radius: 16px;
}

.admin-dashboard-v3 .snappy-admin-table .mud-table-root {
    background: transparent;
}

.admin-dashboard-v3 .snappy-admin-table .mud-table-row:hover {
    background: rgba(129,140,248,.08);
}

.admin-dashboard-v3 .snappy-admin-media-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.02);
}

.admin-dashboard-v3 .snappy-admin-empty {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    border-radius: 18px;
    border: 1px dashed var(--snappy-panel-border-strong);
    background: var(--snappy-empty-bg);
}

.admin-dashboard-v3 .snappy-admin-mini-card {
    position: relative;
    border-radius: 20px;
    padding: 16px;
    border: 1px solid var(--snappy-panel-border);
    background: var(--snappy-panel-bg-soft);
    overflow: hidden;
    min-height: 220px;
}

    .admin-dashboard-v3 .snappy-admin-mini-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--snappy-admin-accent);
    }

.admin-dashboard-v3 .snappy-admin-mini-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.admin-dashboard-v3 .snappy-admin-mini-card__body {
    display: grid;
    gap: 12px;
}

.admin-dashboard-v3 .snappy-admin-mini-card__footer {
    margin-top: 12px;
}

.admin-dashboard-v3 .snappy-admin-cardline {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(148,163,184,.16);
    background: rgba(255,255,255,.02);
}

.admin-dashboard-v3 .snappy-admin-cardline__main {
    min-width: 0;
}

.admin-dashboard-v3 .snappy-admin-cardline__title {
    font-weight: 700;
    line-height: 1.2;
}

.admin-dashboard-v3 .snappy-admin-cardline__sub {
    font-size: .8rem;
    color: var(--snappy-muted);
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.admin-dashboard-v3 .snappy-admin-suppressions {
    display: grid;
    gap: 12px;
}

.admin-dashboard-v3 .snappy-admin-suppression-item {
    position: relative;
    padding: 14px 14px 14px 18px;
    border-radius: 18px;
    border: 1px solid rgba(148,163,184,.16);
    background: var(--snappy-panel-bg-soft);
    overflow: hidden;
}

    .admin-dashboard-v3 .snappy-admin-suppression-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 14px;
        bottom: 14px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-admin-accent);
    }

.admin-dashboard-v3 .snappy-admin-suppression-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

.admin-dashboard-v3 .snappy-admin-suppression-item__channel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    color: var(--snappy-muted);
}

.admin-dashboard-v3 .snappy-admin-suppression-item__target {
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-dashboard-v3 .snappy-admin-suppression-item__meta {
    font-size: .8rem;
    color: var(--snappy-muted);
    margin-top: 4px;
}

.admin-dashboard-v3 .snappy-admin-badge {
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .76rem;
    font-weight: 700;
    border: 1px solid rgba(99,102,241,.18);
    background: rgba(99,102,241,.06);
}

.admin-dashboard-v3 .snappy-admin-status--ok {
    color: #0f766e;
    background: rgba(16,185,129,.12);
    border-color: rgba(16,185,129,.24);
}

.admin-dashboard-v3 .snappy-admin-status--warn {
    color: #a16207;
    background: rgba(245,158,11,.12);
    border-color: rgba(245,158,11,.24);
}

.admin-dashboard-v3 .snappy-admin-status--soft {
    color: var(--snappy-title);
    background: rgba(99,102,241,.06);
    border-color: rgba(99,102,241,.18);
}

.admin-dashboard-v3 .admin-lists-card {
    padding: 1rem 1.1rem;
}

.admin-dashboard-v3 .admin-lists-card__head,
.admin-dashboard-v3 .admin-lists-card__actions,
.admin-dashboard-v3 .admin-lists-card__quality {
    flex-wrap: wrap;
}

.admin-dashboard-v3 .admin-lists-card__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.admin-dashboard-v3 .admin-lists-card__metric,
.admin-dashboard-v3 .admin-lists-card__subpanel,
.admin-dashboard-v3 .admin-lists-card__import-row {
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.16);
    background: rgba(255,255,255,.02);
}

.admin-dashboard-v3 .admin-lists-card__metric {
    min-height: 112px;
    padding: 14px 16px;
}

    .admin-dashboard-v3 .admin-lists-card__metric span,
    .admin-dashboard-v3 .admin-lists-card__metric small {
        display: block;
        color: var(--snappy-muted);
    }

    .admin-dashboard-v3 .admin-lists-card__metric strong {
        display: block;
        margin-top: 4px;
        font-size: 1.7rem;
        line-height: 1.15;
        color: var(--snappy-title);
    }

.admin-dashboard-v3 .admin-lists-card__metric--alert strong {
    color: #a16207;
}

.admin-dashboard-v3 .admin-lists-card__subpanel {
    padding: 14px;
    min-height: 100%;
}

.admin-dashboard-v3 .admin-lists-card__imports {
    display: grid;
    gap: 10px;
}

.admin-dashboard-v3 .admin-lists-card__import-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
}

.admin-dashboard-v3 .admin-lists-card__import-main {
    min-width: 0;
}

.admin-dashboard-v3 .admin-lists-card__import-title {
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-dashboard-v3 .admin-lists-card__import-sub {
    margin-top: 3px;
    font-size: .8rem;
    color: var(--snappy-muted);
    overflow-wrap: anywhere;
}

.admin-dashboard-v3 .admin-lists-card__import-side {
    display: grid;
    justify-items: end;
    gap: 6px;
    min-width: 104px;
}

.admin-dashboard-v3 .admin-lists-card__progress {
    width: 96px;
}

.admin-dashboard-v3 .admin-lists-card__quality {
    display: flex;
    gap: 8px;
}

.sender-table-panel {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid var(--snappy-panel-border);
    background: var(--snappy-panel-bg);
    box-shadow: var(--snappy-panel-shadow);
}

    .sender-table-panel::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: var(--snappy-top-accent);
    }

    .sender-table-panel .panel-avatar,
    .sender-table-panel .row-avatar {
        color: #1f245b;
        background: linear-gradient(180deg, rgba(99,102,241,0.16) 0%, rgba(14,165,233,0.10) 100%);
        border: 1px solid rgba(99,102,241,0.14);
    }

    .sender-table-panel .summary-chip,
    .sender-table-panel .country-chip {
        border-radius: 999px;
        border-color: rgba(99,102,241,0.18);
        background: rgba(99,102,241,0.04);
    }

    .sender-table-panel .usage-chip {
        color: #1f245b;
        background: rgba(99,102,241,0.08);
        border-radius: 999px;
    }

    .sender-table-panel .refresh-btn {
        border: 1px solid rgba(99,102,241,0.16);
        border-radius: 14px;
        background: rgba(255,255,255,0.75);
    }

    .sender-table-panel .sender-table {
        border: 1px solid rgba(15, 23, 42, 0.06);
        border-radius: 18px;
        overflow: hidden;
        background: rgba(255,255,255,0.78);
    }

        .sender-table-panel .sender-table .mud-table-head {
            background: linear-gradient(180deg, rgba(248,249,252,1) 0%, rgba(244,246,250,1) 100%);
        }

        .sender-table-panel .sender-table .mud-table-cell {
            border-bottom-color: rgba(15, 23, 42, 0.05);
        }

    .sender-table-panel .sender-id {
        font-weight: 600;
        color: #243449;
    }

    .sender-table-panel .empty-state {
        min-height: 220px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-align: center;
        padding: 32px;
        border: 1px dashed rgba(99,102,241,0.18);
        border-radius: 18px;
        background: linear-gradient(180deg, rgba(250,251,255,0.75) 0%, rgba(255,255,255,0.85) 100%);
    }

:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-media-row,
body.mud-theme-dark .admin-dashboard-v3 .snappy-admin-media-row,
:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-cardline,
body.mud-theme-dark .admin-dashboard-v3 .snappy-admin-cardline,
:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-suppression-item,
body.mud-theme-dark .admin-dashboard-v3 .snappy-admin-suppression-item,
:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-mini-card,
body.mud-theme-dark .admin-dashboard-v3 .snappy-admin-mini-card,
:root[data-theme="dark"] .admin-dashboard-v3 .admin-lists-card__metric,
body.mud-theme-dark .admin-dashboard-v3 .admin-lists-card__metric,
:root[data-theme="dark"] .admin-dashboard-v3 .admin-lists-card__subpanel,
body.mud-theme-dark .admin-dashboard-v3 .admin-lists-card__subpanel,
:root[data-theme="dark"] .admin-dashboard-v3 .admin-lists-card__import-row,
body.mud-theme-dark .admin-dashboard-v3 .admin-lists-card__import-row,
:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-audience-metric,
body.mud-theme-dark .admin-dashboard-v3 .snappy-admin-audience-metric {
    background: linear-gradient(180deg, rgba(27,31,44,0.96) 0%, rgba(20,23,33,0.98) 100%);
    border-color: rgba(159,168,255,0.18);
}

:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-status--soft {
    color: #eef2ff;
    background: rgba(159,168,255,.12);
    border-color: rgba(159,168,255,.20);
}

:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-status--ok {
    color: #99f6e4;
}

:root[data-theme="dark"] .admin-dashboard-v3 .snappy-admin-status--warn {
    color: #fde68a;
}

:root[data-theme="dark"] .admin-dashboard-v3 .admin-lists-card__metric--alert strong,
body.mud-theme-dark .admin-dashboard-v3 .admin-lists-card__metric--alert strong {
    color: #fde68a;
}

:root[data-theme="dark"] .sender-table-panel {
    border-color: rgba(159,168,255,0.18);
    background: linear-gradient(180deg, rgba(24,28,40,0.98) 0%, rgba(18,20,28,0.98) 100%);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.26);
}

    :root[data-theme="dark"] .sender-table-panel .panel-avatar,
    :root[data-theme="dark"] .sender-table-panel .row-avatar {
        color: #dbeafe;
        background: linear-gradient(180deg, rgba(99,102,241,0.22) 0%, rgba(14,165,233,0.16) 100%);
        border-color: rgba(159,168,255,0.22);
    }

    :root[data-theme="dark"] .sender-table-panel .summary-chip,
    :root[data-theme="dark"] .sender-table-panel .country-chip {
        border-color: rgba(159,168,255,0.24);
        background: rgba(159,168,255,0.08);
    }

    :root[data-theme="dark"] .sender-table-panel .usage-chip {
        color: #dbeafe;
        background: rgba(159,168,255,0.12);
    }

    :root[data-theme="dark"] .sender-table-panel .refresh-btn {
        border-color: rgba(159,168,255,0.22);
        background: rgba(24,28,40,0.82);
    }

    :root[data-theme="dark"] .sender-table-panel .sender-table {
        border-color: rgba(159,168,255,0.14);
        background: rgba(24,28,40,0.72);
    }

        :root[data-theme="dark"] .sender-table-panel .sender-table .mud-table-head {
            background: linear-gradient(180deg, rgba(27,31,44,0.98) 0%, rgba(22,26,37,0.98) 100%);
        }

        :root[data-theme="dark"] .sender-table-panel .sender-table .mud-table-cell {
            border-bottom-color: rgba(159,168,255,0.08);
        }

    :root[data-theme="dark"] .sender-table-panel .sender-id {
        color: #eef2ff;
    }

    :root[data-theme="dark"] .sender-table-panel .empty-state {
        border-color: rgba(159,168,255,0.18);
        background: radial-gradient(circle at top, rgba(124,139,255,0.14), transparent 44%), linear-gradient(180deg, rgba(13,22,49,0.74), rgba(10,18,40,0.92));
    }

.admin-dashboard-v3 .snappy-admin-mini-card {
    height: 100%;
}

@media (max-width: 900px) {
    .admin-dashboard-v3 .snappy-admin-hero__subtitle {
        max-width: 100%;
    }

    .admin-dashboard-v3 .admin-lists-card__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-v3 .snappy-admin-media-row,
    .admin-dashboard-v3 .snappy-admin-cardline,
    .admin-dashboard-v3 .snappy-admin-suppression-item__top,
    .admin-dashboard-v3 .admin-lists-card__import-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-dashboard-v3 .admin-lists-card__import-side {
        justify-items: start;
        width: 100%;
    }

    .admin-dashboard-v3 .snappy-admin-kpi__chipline {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .admin-dashboard-v3 .admin-lists-card__metrics {
        grid-template-columns: 1fr;
    }
}

/* Admin users snapshot v4 */
.admin-dashboard-v3 .snappy-admin-users-toolbar {
    border-radius: 18px;
    padding: 12px 14px;
    border: 1px solid var(--snappy-panel-border);
    background: var(--snappy-panel-bg-soft);
}

.admin-dashboard-v3 .snappy-admin-users-search {
    min-width: 300px;
    max-width: 520px;
    flex: 1 1 320px;
}

.admin-dashboard-v3 .snappy-admin-users-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-dashboard-v3 .snappy-admin-users-filters {
    flex-wrap: wrap;
}

.admin-dashboard-v3 .snappy-admin-users-role,
.admin-dashboard-v3 .snappy-admin-users-sort {
    min-width: 220px;
}

.admin-dashboard-v3 .snappy-admin-users-status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-dashboard-v3 .snappy-admin-latest-chip {
    max-width: 420px;
}

.admin-dashboard-v3 .snappy-admin-mfa-chip .mud-icon-root {
    vertical-align: middle;
}

@media (max-width: 900px) {
    .admin-dashboard-v3 .snappy-admin-users-search,
    .admin-dashboard-v3 .snappy-admin-users-role,
    .admin-dashboard-v3 .snappy-admin-users-sort {
        min-width: 0;
        width: 100%;
    }

    .admin-dashboard-v3 .snappy-admin-users-summary {
        justify-content: flex-start;
    }

    .admin-dashboard-v3 .snappy-admin-latest-chip {
        max-width: 100%;
    }
}

/* =========================
   RCS models library
   ========================= */

.rcs-models-page {
    --snappy-rcs-library-accent: linear-gradient(90deg, rgba(59,130,246,.92) 0%, rgba(14,165,233,.82) 100%);
    --snappy-rcs-library-side: linear-gradient(180deg, rgba(59,130,246,.88) 0%, rgba(14,165,233,.62) 100%);
}

    .rcs-models-page .rcs-models-hero,
    .rcs-models-page .rcs-models-toolbar,
    .rcs-models-page .rcs-model-card,
    .rcs-models-page .rcs-model-editor__form,
    .rcs-models-page .rcs-model-editor__preview {
        position: relative;
        overflow: hidden;
    }

        .rcs-models-page .rcs-models-hero::before,
        .rcs-models-page .rcs-model-card::before,
        .rcs-models-page .rcs-models-kpi::before {
            content: "";
            position: absolute;
            inset: 0 auto auto 0;
            width: 100%;
            height: 4px;
            background: var(--snappy-rcs-library-accent);
        }

        .rcs-models-page .rcs-models-toolbar::before,
        .rcs-models-page .rcs-model-editor__form::before,
        .rcs-models-page .rcs-model-editor__preview::before {
            content: "";
            position: absolute;
            left: 0;
            top: 18px;
            bottom: 18px;
            width: 4px;
            border-radius: 999px;
            background: var(--snappy-rcs-library-side);
        }

    .rcs-models-page .rcs-models-kpi {
        padding: 1rem 1.1rem;
        border-radius: 20px;
        position: relative;
        min-height: 118px;
        background: var(--snappy-panel-bg);
        border: 1px solid var(--snappy-panel-border);
        box-shadow: var(--snappy-panel-shadow);
        overflow: hidden;
    }

    .rcs-models-page .rcs-models-hero__subtitle {
        max-width: 72ch;
    }

    .rcs-models-page .rcs-models-toolbar {
        padding: 1rem 1.1rem 1rem 1.3rem;
        border-radius: 22px;
    }

    .rcs-models-page .rcs-models-toolbar__search {
        min-width: 320px;
        max-width: 620px;
        flex: 1 1 360px;
    }

    .rcs-models-page .rcs-models-toolbar__chips,
    .rcs-models-page .rcs-models-toolbar__filters {
        flex-wrap: wrap;
    }

    .rcs-models-page .rcs-models-toolbar__select {
        min-width: 220px;
    }

    .rcs-models-page .rcs-models-empty {
        min-height: 220px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .rcs-models-page .rcs-model-card {
        min-height: 100%;
        padding: 1rem 1rem 1rem 1.05rem;
        border-radius: 22px;
    }

    .rcs-models-page .rcs-model-card__titleblock {
        min-width: 0;
    }

    .rcs-models-page .rcs-model-card__meta,
    .rcs-models-page .rcs-model-card__actions {
        flex-wrap: wrap;
    }

    .rcs-models-page .rcs-model-card__content {
        align-items: stretch;
    }

    .rcs-models-page .rcs-model-card__phone {
        flex: 0 0 132px;
    }

    .rcs-models-page .rcs-model-card__summary {
        min-width: 0;
        flex: 1 1 auto;
    }

    .rcs-models-page .rcs-model-card__description {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.45;
    }

.rcs-model-mini-phone {
    border-radius: 22px;
    border: 1px solid var(--snappy-panel-border);
    background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(247,249,252,.96) 100%);
    padding: 10px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 12px 24px rgba(15,23,42,.08);
}

.rcs-model-mini-phone__top {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding-bottom: 8px;
}

    .rcs-model-mini-phone__top span {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: rgba(148,163,184,.45);
    }

.rcs-model-mini-phone__body {
    min-height: 170px;
    background: linear-gradient(180deg, rgba(243,246,252,.85) 0%, rgba(249,250,251,.95) 100%);
    border-radius: 16px;
    padding: 10px;
    display: flex;
    align-items: flex-start;
}

.rcs-model-mini-bubble {
    width: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.98) 100%);
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.16);
    padding: 10px;
    box-shadow: 0 8px 18px rgba(15,23,42,.06);
}

.rcs-model-mini-bubble__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 8px;
}

.rcs-model-mini-bubble__title {
    font-weight: 700;
    font-size: .84rem;
    line-height: 1.25;
    margin-bottom: 6px;
}

.rcs-model-mini-bubble__text {
    font-size: .78rem;
    line-height: 1.4;
    color: var(--mud-palette-text-primary);
}

.rcs-model-mini-bubble__cta {
    margin-top: 10px;
    width: 100%;
    border: 1px solid rgba(59,130,246,.25);
    background: rgba(59,130,246,.08);
    color: var(--mud-palette-primary);
    border-radius: 12px;
    padding: 8px 10px;
    font-weight: 700;
    font-size: .78rem;
}

.rcs-model-editor__form,
.rcs-model-editor__preview {
    padding: 1rem 1rem 1rem 1.2rem;
    border-radius: 20px;
}

@media (max-width: 960px) {
    .rcs-models-page .rcs-models-toolbar__search,
    .rcs-models-page .rcs-models-toolbar__select {
        min-width: 0;
        width: 100%;
    }

    .rcs-models-page .rcs-model-card__content {
        flex-direction: column;
    }

    .rcs-models-page .rcs-model-card__phone {
        flex-basis: auto;
    }
}

:root[data-theme="dark"] .rcs-model-mini-phone {
    background: linear-gradient(180deg, rgba(24,28,40,.98) 0%, rgba(18,20,28,.98) 100%);
    border-color: rgba(159,168,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 12px 24px rgba(0,0,0,.28);
}

:root[data-theme="dark"] .rcs-model-mini-phone__body {
    background: linear-gradient(180deg, rgba(20,23,33,.92) 0%, rgba(15,18,26,.96) 100%);
}

:root[data-theme="dark"] .rcs-model-mini-bubble {
    background: linear-gradient(180deg, rgba(30,34,48,.96) 0%, rgba(21,24,34,.98) 100%);
    border-color: rgba(159,168,255,.16);
}

:root[data-theme="dark"] .rcs-model-mini-bubble__cta {
    background: rgba(59,130,246,.14);
    border-color: rgba(96,165,250,.28);
}

/* =========================
   RCS template editor page
   ========================= */

.rcs-template-page .rcs-template-page__hero,
.rcs-template-page .rcs-template-editor__form,
.rcs-template-page .rcs-template-editor__preview {
    position: relative;
    overflow: hidden;
}

    .rcs-template-page .rcs-template-page__hero::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, rgba(59,130,246,.92), rgba(14,165,233,.82));
    }

.rcs-template-page .rcs-template-editor__form,
.rcs-template-page .rcs-template-editor__preview {
    padding: 1rem 1rem 1rem 1.2rem;
    border-radius: 22px;
}

    .rcs-template-page .rcs-template-editor__form::before,
    .rcs-template-page .rcs-template-editor__preview::before {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: linear-gradient(180deg, rgba(59,130,246,.88), rgba(14,165,233,.62));
    }

.rcs-template-page .rcs-template-editor__upload-zone {
    border-radius: 16px;
    padding: 14px;
}

.rcs-template-page .rcs-template-editor__cta-card {
    border-radius: 18px;
    padding: 14px;
    background: var(--snappy-panel-bg-soft);
    border: 1px solid var(--snappy-panel-border);
}

.rcs-template-page .rcs-template-editor__preview-meta {
    flex-wrap: wrap;
}

/* =========================
   RCS pass 3 polish
   ========================= */

.rcs-models-page .rcs-model-card__content {
    align-items: flex-start;
}

.rcs-template-page .rcs-template-editor__cta-card {
    border-radius: 18px;
    padding: 14px;
    background: var(--snappy-panel-bg-soft);
    border: 1px solid var(--snappy-panel-border);
}

.rcs-template-page .rcs-template-editor__upload-zone {
    border-radius: 16px;
    padding: 14px;
}

.rcs-template-page .rcs-template-editor__preview-meta,
.rcs-template-page .rcs-models-kpi .mud-typography-caption {
    flex-wrap: wrap;
}

/* =========================
   RCS pass 3.5 premium preview
   ========================= */

.rcs-models-page .rcs-models-featured {
    position: relative;
    overflow: hidden;
}

    .rcs-models-page .rcs-models-featured::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, rgba(14,165,233,.92), rgba(99,102,241,.82));
    }

.rcs-feature-card {
    border-radius: 22px;
    padding: 1rem;
    min-height: 100%;
    background: var(--snappy-panel-bg);
    border: 1px solid var(--snappy-panel-border);
    box-shadow: var(--snappy-panel-shadow);
}

.rcs-feature-card__phone {
    min-height: 240px;
}

.rcs-feature-card__chips {
    flex-wrap: wrap;
}

.rcs-device {
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid var(--snappy-panel-border);
    background: linear-gradient(180deg, rgba(11,16,32,.96), rgba(20,28,48,.98));
    box-shadow: 0 22px 44px rgba(15,23,42,.18);
}

.rcs-device--compact {
    transform: scale(.96);
    transform-origin: top center;
}

.rcs-device__topbar {
    height: 28px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(255,255,255,.78);
    font-size: .68rem;
    background: rgba(255,255,255,.04);
}

.rcs-device__sensors {
    width: 64px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
}

.rcs-device__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.rcs-device__avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 800;
    color: white;
    background: linear-gradient(135deg, rgba(59,130,246,.92), rgba(14,165,233,.92));
}

.rcs-device__identity {
    min-width: 0;
}

.rcs-device__name {
    color: white;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
}

.rcs-device__status {
    color: rgba(255,255,255,.62);
    font-size: .72rem;
    line-height: 1.2;
}

.rcs-device__screen {
    padding: 14px;
    background: radial-gradient(circle at top, rgba(59,130,246,.10), transparent 34%), linear-gradient(180deg, rgba(18,25,43,.98), rgba(14,19,34,.98));
    min-height: 240px;
}

.rcs-device__bubble {
    width: 100%;
    border-radius: 18px;
    padding: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    box-shadow: 0 14px 26px rgba(2,6,23,.18);
}

.rcs-device__bubble--horizontal {
    display: grid;
    grid-template-columns: minmax(72px, 36%) minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.rcs-device__bubble--image-right {
    grid-template-columns: minmax(0, 1fr) minmax(72px, 36%);
}

.rcs-device__bubble--image-right .rcs-device__img {
    order: 2;
}

.rcs-device__content {
    min-width: 0;
}

.rcs-device__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    object-fit: cover;
    margin-bottom: 10px;
}

.rcs-device__bubble--media-short .rcs-device__img {
    aspect-ratio: 21 / 9;
}

.rcs-device__bubble--media-tall .rcs-device__img {
    aspect-ratio: 4 / 3;
}

.rcs-device__bubble--horizontal .rcs-device__img {
    height: 100%;
    min-height: 96px;
    aspect-ratio: auto;
    margin-bottom: 0;
}

.rcs-device__carousel {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scroll-snap-type: x proximity;
}

.rcs-device__carousel-card {
    flex: 0 0 min(78%, 260px);
    scroll-snap-align: start;
    border-radius: 18px;
    padding: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    box-shadow: 0 14px 26px rgba(2,6,23,.18);
}

.rcs-device__carousel--small .rcs-device__carousel-card {
    flex-basis: min(68%, 220px);
}

.rcs-device__carousel-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    object-fit: cover;
    margin-bottom: 10px;
}

.rcs-device__carousel-img--short {
    aspect-ratio: 21 / 9;
}

.rcs-device__carousel-img--tall {
    aspect-ratio: 4 / 3;
}

.rcs-device__title {
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 6px;
    color: #111827;
}

.rcs-device__text {
    font-size: .82rem;
    line-height: 1.45;
    color: #374151;
    white-space: pre-wrap;
}

.rcs-device__cta-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.rcs-device__cta {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
}

.rcs-device__cta-icon {
    width: 18px;
    text-align: center;
    flex: 0 0 18px;
}

.rcs-device__cta--url {
    background: rgba(59,130,246,.10);
    border-color: rgba(59,130,246,.24);
    color: #1d4ed8;
}

.rcs-device__cta--dialer {
    background: rgba(16,185,129,.10);
    border-color: rgba(16,185,129,.24);
    color: #047857;
}

.rcs-device__cta--map {
    background: rgba(245,158,11,.12);
    border-color: rgba(245,158,11,.28);
    color: #b45309;
}

.rcs-device__cta--calendar {
    background: rgba(124,58,237,.10);
    border-color: rgba(124,58,237,.24);
    color: #6d28d9;
}

.rcs-model-card__cta-badges {
    flex-wrap: wrap;
}

.rcs-cta-chip--url {
    border-color: rgba(59,130,246,.28) !important;
    background: rgba(59,130,246,.08) !important;
}

.rcs-cta-chip--dialer {
    border-color: rgba(16,185,129,.28) !important;
    background: rgba(16,185,129,.08) !important;
}

.rcs-cta-chip--map {
    border-color: rgba(245,158,11,.28) !important;
    background: rgba(245,158,11,.10) !important;
}

@media (max-width: 960px) {
    .rcs-feature-card__phone {
        min-height: auto;
    }
}

:root[data-theme="dark"] .rcs-feature-card {
    background: var(--snappy-panel-bg);
}

:root[data-theme="dark"] .rcs-device__bubble {
    background: linear-gradient(180deg, rgba(24,28,40,.98), rgba(18,20,28,.98));
    box-shadow: 0 14px 26px rgba(0,0,0,.28);
}

:root[data-theme="dark"] .rcs-device__carousel-card {
    background: linear-gradient(180deg, rgba(24,28,40,.98), rgba(18,20,28,.98));
    box-shadow: 0 14px 26px rgba(0,0,0,.28);
}

:root[data-theme="dark"] .rcs-device__title {
    color: #eef2ff;
}

:root[data-theme="dark"] .rcs-device__text {
    color: #dbe4ff;
}

:root[data-theme="dark"] .rcs-device__cta--url {
    color: #93c5fd;
}

:root[data-theme="dark"] .rcs-device__cta--dialer {
    color: #86efac;
}

:root[data-theme="dark"] .rcs-device__cta--map {
    color: #fcd34d;
}

:root[data-theme="dark"] .rcs-device__cta--calendar {
    color: #c4b5fd;
}

/* =========================
   RCS models hero alignment fix
   ========================= */

.rcs-models-page .rcs-models-hero {
    padding: 22px 24px 20px 24px;
    overflow: hidden;
}

    .rcs-models-page .rcs-models-hero .mud-stack:first-child {
        min-width: 0;
    }

    .rcs-models-page .rcs-models-hero .mud-typography-h4 {
        margin: 0;
        line-height: 1.08;
        letter-spacing: -0.01em;
        padding-left: 2px;
    }

.rcs-models-page .rcs-models-hero__subtitle {
    max-width: 70ch;
    padding-left: 2px;
}

.rcs-models-page .rcs-models-hero .mud-button-root {
    margin-right: 2px;
}

@media (max-width: 900px) {
    .rcs-models-page .rcs-models-hero {
        padding: 18px 18px 18px 20px;
    }
}

/* =========================
   RCS template-editor hero alignment fix
   ========================= */

.rcs-template-editor-page .rcs-editor-hero {
    padding: 24px 28px 22px 30px;
    overflow: hidden;
}

.rcs-template-editor-page .rcs-editor-hero__inner {
    min-width: 0;
}

.rcs-template-editor-page .rcs-editor-hero .mud-typography-h3,
.rcs-template-editor-page .rcs-editor-hero .mud-typography-h4 {
    margin: 0;
    padding-left: 2px;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.rcs-template-editor-page .rcs-editor-hero__subtitle {
    margin-top: 8px;
    max-width: 74ch;
    padding-left: 2px;
}

.rcs-template-editor-page .rcs-editor-hero__actions {
    padding-right: 2px;
}

.rcs-template-editor-page .rcs-editor-kpis {
    padding-inline: 2px;
}

@media (max-width: 960px) {
    .rcs-template-editor-page .rcs-editor-hero {
        padding: 18px 18px 18px 22px;
    }
}
/* =========================
   RCS templates + agent identity pass
   ========================= */

.rcs-models-page .rcs-models-hero,
.rcs-template-editor-page .rcs-editor-hero {
    padding: 22px 24px 20px 24px;
    overflow: hidden;
}

.rcs-models-page .rcs-models-hero__inner,
.rcs-template-editor-page .rcs-editor-hero__inner {
    min-width: 0;
}

.rcs-models-page .rcs-models-hero .mud-typography-h4,
.rcs-template-editor-page .rcs-editor-hero .mud-typography-h4 {
    margin: 0;
    line-height: 1.08;
    letter-spacing: -0.02em;
    padding-left: 2px;
}

.rcs-models-page .rcs-models-hero__subtitle,
.rcs-template-editor-page .rcs-editor-hero__subtitle {
    max-width: 74ch;
    padding-left: 2px;
}

.rcs-models-page .rcs-models-hero__kpis,
.rcs-template-editor-page .rcs-editor-kpis {
    margin-top: 6px;
    padding-inline: 2px;
}

.rcs-models-page .rcs-model-card--wide {
    padding: 1rem 1rem 1rem 1.05rem;
    border-radius: 22px;
}

.rcs-models-page .rcs-model-card__layout {
    align-items: flex-start;
}

.rcs-models-page .rcs-model-card__phone--lg {
    flex: 0 0 320px;
    min-width: 320px;
}

.rcs-models-page .rcs-model-card__meta-column {
    min-width: 0;
    flex: 1 1 auto;
}

.rcs-models-page .rcs-model-card__context {
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--snappy-panel-bg-soft);
}

.rcs-device__logo {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.10);
}

@media (max-width: 960px) {
    .rcs-models-page .rcs-models-hero,
    .rcs-template-editor-page .rcs-editor-hero {
        padding: 18px 18px 18px 20px;
    }

    .rcs-models-page .rcs-model-card__layout {
        flex-direction: column;
    }

    .rcs-models-page .rcs-model-card__phone--lg {
        min-width: 0;
        width: 100%;
        flex-basis: auto;
    }
}


.rcs-template-editor-page .rcs-editor-kpis .rcs-models-kpi {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
    border: 1px solid rgba(124, 139, 255, 0.18);
    min-height: 116px;
    padding: 16px 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

    .rcs-template-editor-page .rcs-editor-kpis .rcs-models-kpi::before {
        content: "";
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg, #7c8bff, #4dd0ff);
        opacity: .95;
    }

    .rcs-template-editor-page .rcs-editor-kpis .rcs-models-kpi .mud-typography-h5,
    .rcs-template-editor-page .rcs-editor-kpis .rcs-models-kpi .mud-typography-h4 {
        margin-top: 8px;
        margin-bottom: 2px;
        letter-spacing: -0.02em;
    }

.rcs-template-editor-page .rcs-editor-kpis {
    margin-top: 8px;
}

.rcs-template-editor-page .rcs-editor-hero {
    padding: 24px 24px 22px 24px;
}

.rcs-template-editor-page .rcs-editor-hero__inner {
    padding-left: 2px;
    padding-right: 2px;
}

@media (max-width: 900px) {
    .rcs-template-editor-page .rcs-editor-kpis .rcs-models-kpi {
        min-height: 100px;
        padding: 14px 14px;
    }
}

.rcs-model-card__content--premium {
    align-items: stretch;
}

.rcs-model-card__phone--wide {
    flex: 0 0 190px;
    min-width: 190px;
}

.rcs-model-card__summary--minimal {
    min-width: 0;
    flex: 1 1 auto;
    padding-top: 2px;
}

.rcs-model-card__footer-meta {
    margin-top: auto;
    padding-top: 8px;
}

@media (max-width: 1100px) {
    .rcs-model-card__phone--wide {
        flex-basis: 170px;
        min-width: 170px;
    }
}

@media (max-width: 900px) {
    .rcs-model-card__content--premium {
        flex-direction: column;
    }

    .rcs-model-card__phone--wide {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }
}

.rcs-model-card__header-meta {
    min-width: 128px;
}

.rcs-model-card__header-submeta {
    margin-top: 4px;
    opacity: .82;
    line-height: 1.2;
    text-align: right;
}

.rcs-model-card__content--phone-focus {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 4px;
    padding-bottom: 2px;
}

.rcs-model-card__phone-shell {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rcs-model-card__phone--hero {
    flex: 0 0 240px;
    min-width: 240px;
    max-width: 240px;
}

    .rcs-model-card__phone--hero .rcs-device {
        margin-inline: auto;
    }

.rcs-model-card__meta {
    flex-wrap: wrap;
    margin-bottom: 2px;
}

@media (max-width: 1200px) {
    .rcs-model-card__phone--hero {
        flex-basis: 220px;
        min-width: 220px;
        max-width: 220px;
    }
}

@media (max-width: 900px) {
    .rcs-model-card__header-meta {
        min-width: 0;
    }

    .rcs-model-card__header-submeta {
        text-align: left;
    }

    .rcs-model-card__phone--hero {
        flex-basis: 210px;
        min-width: 210px;
        max-width: 210px;
    }
}

.rcs-model-card__header-topline {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.rcs-model-card__header-submeta {
    margin-top: 4px;
    opacity: .84;
    line-height: 1.2;
    text-align: right;
}

.rcs-device__cta-link {
    text-decoration: none !important;
    color: inherit;
}

    .rcs-device__cta-link:hover,
    .rcs-device__cta-link:focus {
        text-decoration: none !important;
        color: inherit;
        transform: translateY(-1px);
    }

@media (max-width: 900px) {
    .rcs-model-card__header-topline {
        justify-content: flex-start;
    }

    .rcs-model-card__header-submeta {
        text-align: left;
    }
}


/* =========================
   Campaign list Snappy DA
   ========================= */

.campaign-list-page {
    gap: 18px;
}

.campaign-list-hero,
.campaign-list-toolbar,
.campaign-table-panel {
    overflow: hidden;
}

.campaign-list-hero__inner {
    padding: 24px 28px 22px 32px;
    gap: 16px;
    flex-wrap: wrap;
}

.campaign-list-hero__copy {
    min-width: 0;
    flex: 1 1 420px;
}

.campaign-list-hero__subtitle {
    max-width: 860px;
    line-height: 1.45;
    margin-top: 6px;
}

.campaign-list-hero__chips {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.campaign-list-chip {
    border-radius: 999px;
    border-color: rgba(99,102,241,0.18);
    background: rgba(99,102,241,0.05);
    font-weight: 700;
}

.campaign-list-toolbar {
    padding: 18px;
}

.campaign-list-toolbar__top {
    gap: 12px;
    flex-wrap: wrap;
}

.campaign-list-toolbar__actions {
    flex-wrap: wrap;
}

.campaign-list-refresh {
    min-width: 140px;
}

.campaign-list-toolbar__media {
    min-width: 180px;
}

.campaign-list-toolbar__folder {
    min-width: 180px;
}

.campaign-list-toolbar__search {
    min-width: 280px;
    max-width: 340px;
    flex: 0 1 320px;
}

.campaign-list-toolbar__filters {
    flex: 0 0 auto;
    min-width: 0;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    column-gap: 4px !important;
    row-gap: 8px !important;
}

    .campaign-list-toolbar__filters .campaign-list-toolbar__search {
        flex: 0 1 320px;
    }

    .campaign-list-toolbar__filters .campaign-list-toolbar__media {
        flex: 0 0 180px !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
    }

    .campaign-list-toolbar__filters .campaign-list-toolbar__folder {
        flex: 0 0 180px !important;
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
    }

    .campaign-list-toolbar__filters .campaign-date-filter-action {
        flex: 0 0 auto;
    }

    .campaign-list-toolbar__filters .campaign-list-reset-action {
        flex: 0 0 auto;
    }

.campaign-list-toolbar__progress {
    border-radius: 999px;
    overflow: hidden;
}

.campaign-list-tabs {
    overflow-x: auto;
}

.campaign-table-panel {
    padding: 14px;
}

.campaign-table {
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,0.78);
}

    .campaign-table .mud-table-container,
    .campaign-table .mud-datagrid-table {
        border-radius: 18px;
    }

    .campaign-table .mud-table-head {
        background: linear-gradient(180deg, rgba(248,249,252,1) 0%, rgba(244,246,250,1) 100%);
    }

    .campaign-table .mud-table-cell {
        border-bottom-color: rgba(15, 23, 42, 0.05);
        vertical-align: middle;
    }

    .campaign-table .mud-table-row {
        transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
        cursor: pointer;
    }

        .campaign-table .mud-table-row:hover {
            background: rgba(99,102,241,0.05);
            box-shadow: inset 3px 0 0 rgba(99,102,241,0.68);
            transform: translateY(-1px);
        }

.campaign-media-badge {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(99,102,241,0.14) 0%, rgba(14,165,233,0.08) 100%);
    border: 1px solid rgba(99,102,241,0.14);
}

.campaign-name-cell {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.campaign-name-cell__title {
    font-weight: 700;
    color: var(--snappy-title);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.campaign-name-cell__meta,
.campaign-muted {
    color: var(--snappy-muted);
    font-size: .82rem;
}

.campaign-folder-chip {
    max-width: 220px;
}

    .campaign-folder-chip .mud-chip-content {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.campaign-subject-cell {
    display: inline-block;
    max-width: 440px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.campaign-status-chip {
    font-weight: 700;
    border-radius: 999px;
}

.campaign-date-cell,
.campaign-kpi {
    font-weight: 600;
}

.campaign-kpi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
}

.campaign-action-btn {
    border-radius: 12px;
}

.campaign-list-page__menu-item .mud-list-item-text {
    width: 100%;
}

.campaign-list-page__menu-item-content {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-height: 28px;
    width: 100%;
    line-height: 1;
}

.campaign-list-page__menu-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.campaign-list-page__menu-item-content > span:last-child {
    line-height: 1.2;
}

.campaign-list-page__menu-item--archive .campaign-list-page__menu-item-content > span:last-child,
.campaign-list-page__menu-item-icon--archive {
    color: #ff3b82 !important;
}

.campaign-list-page__menu-item--archive .campaign-list-page__menu-item-content > span:last-child {
    font-weight: 700;
}

.campaign-list-page__menu-item-text--danger {
    color: var(--mud-palette-error) !important;
    font-weight: 700;
}

.campaign-table-empty {
    min-height: 240px;
}

.campaign-table .mud-table-pagination {
    padding-inline: 12px;
}

:root[data-theme="dark"] .campaign-list-chip {
    border-color: rgba(159,168,255,0.24);
    background: rgba(159,168,255,0.10);
}

:root[data-theme="dark"] .campaign-table {
    background: rgba(24,28,40,0.82);
    border-color: rgba(159,168,255,0.14);
}

    :root[data-theme="dark"] .campaign-table .mud-table-head {
        background: linear-gradient(180deg, rgba(27,31,44,0.98) 0%, rgba(22,26,37,0.98) 100%);
    }

    :root[data-theme="dark"] .campaign-table .mud-table-cell {
        border-bottom-color: rgba(184,193,223,0.08);
    }

    :root[data-theme="dark"] .campaign-table .mud-table-row:hover {
        background: rgba(159,168,255,0.08);
        box-shadow: inset 3px 0 0 rgba(159,168,255,0.86);
    }

:root[data-theme="dark"] .campaign-media-badge {
    background: linear-gradient(180deg, rgba(159,168,255,0.16) 0%, rgba(56,189,248,0.10) 100%);
    border-color: rgba(159,168,255,0.18);
}

@media (max-width: 1100px) {
    .campaign-list-hero__chips {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .campaign-list-hero__inner {
        padding: 20px 20px 18px 24px;
    }

    .campaign-list-toolbar {
        padding: 16px;
    }

    .campaign-list-toolbar__search,
    .campaign-list-toolbar__media,
    .campaign-list-toolbar__folder {
        min-width: 0;
        width: 100%;
        max-width: none;
    }

    .campaign-list-toolbar__filters {
        flex: 1 1 100%;
        width: 100%;
        flex-wrap: wrap !important;
    }

        .campaign-list-toolbar__filters .campaign-list-toolbar__search,
        .campaign-list-toolbar__filters .campaign-list-toolbar__media,
        .campaign-list-toolbar__filters .campaign-list-toolbar__folder {
            flex: 1 1 220px !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
        }

    .campaign-subject-cell {
        max-width: 240px;
    }
}

@media (max-width: 700px) {
    .campaign-table-panel {
        padding: 10px;
    }

    .campaign-media-badge {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }
}


/* =========================
   Campaign list Snappy DA - pass 2
   ========================= */

.campaign-list-page--v2 {
    gap: 20px;
}

.campaign-list-hero--v2 {
    overflow: visible;
}

.campaign-list-hero__inner--v2 {
    gap: 20px;
    align-items: stretch;
}

.campaign-list-hero__chips--left {
    justify-content: flex-start;
    margin-top: 14px;
}

.campaign-list-hero__pulse {
    min-width: 300px;
    max-width: 360px;
    flex: 0 0 320px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(248,250,252,0.86) 100%);
    border: 1px solid rgba(99,102,241,0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}

.campaign-list-pulse__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.campaign-list-pulse__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: .9rem;
}

    .campaign-list-pulse__label-row span {
        color: var(--snappy-muted);
    }

    .campaign-list-pulse__label-row strong {
        color: var(--snappy-title);
        font-size: .95rem;
    }

.campaign-list-pulse__track,
.campaign-rate-cell__track {
    position: relative;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148,163,184,0.14);
}

.campaign-list-pulse__fill,
.campaign-rate-cell__fill {
    height: 100%;
    border-radius: inherit;
    transition: width .22s ease;
}

.campaign-list-pulse__fill--email {
    background: linear-gradient(90deg, rgba(99,102,241,0.92), rgba(129,140,248,0.72));
}

.campaign-list-pulse__fill--sms {
    background: linear-gradient(90deg, rgba(14,165,233,0.92), rgba(56,189,248,0.72));
}

.campaign-list-pulse__fill--rcs {
    background: linear-gradient(90deg, rgba(16,185,129,0.92), rgba(52,211,153,0.72));
}

.campaign-list-pulse__fill--postal-mail {
    background: linear-gradient(90deg, rgba(100,116,139,0.92), rgba(148,163,184,0.72));
}

.campaign-list-kpis {
    margin-top: -4px;
}

.campaign-kpi-card {
    position: relative;
    min-height: 136px;
    padding: 18px 20px;
    overflow: hidden;
}

    .campaign-kpi-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--snappy-top-accent);
    }

    .campaign-kpi-card::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-side-accent);
    }

.campaign-kpi-card__eyebrow {
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--snappy-muted);
}

.campaign-list-toolbar--v2 {
    padding: 18px 18px 16px;
    overflow: hidden;
    padding-left: 24px;
}

.campaign-list-context-strip {
    flex-wrap: wrap;
    gap: 8px;
}

.campaign-list-context-chip {
    border-radius: 999px;
    border-color: rgba(99,102,241,0.16);
    background: rgba(99,102,241,0.06);
    font-weight: 700;
}

.campaign-list-tabs--v2 {
    margin-top: 2px;
}

    .campaign-list-tabs--v2 .mud-tabs-tabbar {
        gap: 6px;
    }

    .campaign-list-tabs--v2 .mud-tab {
        border-radius: 14px 14px 0 0;
    }

.campaign-table-panel--v2 {
    padding: 14px;
    overflow: hidden;
    padding-left: 20px;
}

    .campaign-list-hero__pulse::before,
    .campaign-list-toolbar--v2::after,
    .campaign-table-panel--v2::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-side-accent);
    }

.campaign-list-hero__pulse {
    position: relative;
    overflow: hidden;
}

.campaign-table--v2 .mud-table-head .mud-table-cell {
    font-weight: 800;
    letter-spacing: .01em;
}

.campaign-name-cell__meta-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.campaign-name-cell__dot {
    color: var(--snappy-muted);
    font-size: .8rem;
}

.campaign-rate-cell {
    min-width: 92px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.campaign-rate-cell__fill--open {
    background: linear-gradient(90deg, rgba(34,197,94,0.94), rgba(74,222,128,0.74));
}

.campaign-rate-cell__fill--click {
    background: linear-gradient(90deg, rgba(14,165,233,0.94), rgba(96,165,250,0.74));
}

.campaign-table--v2 .mud-table-row:hover .campaign-action-btn {
    background: rgba(99,102,241,0.08);
}

:root[data-theme="dark"] .campaign-list-hero__pulse {
    background: linear-gradient(180deg, rgba(27,31,44,0.90) 0%, rgba(19,23,33,0.94) 100%);
    border-color: rgba(159,168,255,0.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

:root[data-theme="dark"] .campaign-list-context-chip {
    border-color: rgba(159,168,255,0.22);
    background: rgba(159,168,255,0.10);
}

:root[data-theme="dark"] .campaign-list-pulse__track,
:root[data-theme="dark"] .campaign-rate-cell__track {
    background: rgba(184,193,223,0.14);
}

@media (max-width: 1100px) {
    .campaign-list-hero__pulse {
        flex: 1 1 100%;
        max-width: none;
    }
}

@media (max-width: 900px) {
    .campaign-kpi-card {
        min-height: 122px;
    }

    .campaign-list-hero__chips--left {
        margin-top: 10px;
    }
}

@media (max-width: 700px) {
    .campaign-list-hero__pulse {
        min-width: 0;
        padding: 16px;
    }

    .campaign-rate-cell {
        min-width: 76px;
    }
}

.campaign-list-toolbar__right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.campaign-list-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 16px;
    border: 1px solid rgba(124, 139, 255, 0.18);
    background: rgba(255, 255, 255, 0.58);
}

.snappy-icon-action,
.campaign-list-refresh-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border: 1px solid rgba(124, 139, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
}

    .snappy-icon-action:hover,
    .campaign-list-refresh-icon:hover {
        background: rgba(124, 139, 255, 0.10);
    }

    .snappy-icon-action .mud-icon-root,
    .campaign-list-refresh-icon .mud-icon-root {
        font-size: 1.55rem;
    }

@media (max-width: 900px) {
    .campaign-list-toolbar__top {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }

    .campaign-list-toolbar__right {
        margin-left: 0;
        width: 100%;
    }

    .campaign-list-toolbar__search {
        flex: 1 1 auto;
    }
}

.campaign-list-toolbar__right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.snappy-icon-action,
.campaign-list-refresh-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border: 1px solid rgba(124, 139, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

    .snappy-icon-action:hover,
    .campaign-list-refresh-icon:hover {
        background: rgba(124, 139, 255, 0.10);
        border-color: rgba(124, 139, 255, 0.34);
        box-shadow: 0 8px 20px rgba(124, 139, 255, 0.14);
    }

    .snappy-icon-action .mud-icon-root,
    .campaign-list-refresh-icon .mud-icon-root {
        font-size: 1.55rem;
    }

    .campaign-list-refresh-icon.is-spinning .mud-icon-root {
        animation: campaign-list-spin .9s linear infinite;
    }

@keyframes campaign-list-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.metrics-animate-surface {
    animation: campaign-metric-rise .38s ease;
    transform-origin: center;
}

@keyframes campaign-metric-rise {
    0% {
        opacity: .72;
        transform: translateY(6px) scale(.985);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.campaign-list-pulse__fill {
    transition: width .45s ease;
}

.campaign-rate-cell__fill {
    transition: width .45s ease;
}

@media (max-width: 900px) {
    .campaign-list-toolbar__top {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }

    .campaign-list-toolbar__right {
        margin-left: 0;
        width: 100%;
    }

    .campaign-list-toolbar__search {
        flex: 1 1 auto;
    }
}

.campaign-list-toolbar__right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.snappy-icon-action,
.campaign-list-refresh-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border: 1px solid rgba(124, 139, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

    .snappy-icon-action:hover,
    .campaign-list-refresh-icon:hover {
        background: rgba(124, 139, 255, 0.10);
        border-color: rgba(124, 139, 255, 0.34);
        box-shadow: 0 8px 20px rgba(124, 139, 255, 0.14);
    }

    .snappy-icon-action .mud-icon-root,
    .campaign-list-refresh-icon .mud-icon-root {
        font-size: 1.55rem;
    }

    .campaign-list-refresh-icon.is-spinning .mud-icon-root {
        animation: campaign-list-spin .9s linear infinite;
    }

@keyframes campaign-list-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.metrics-animate-surface {
    animation: campaign-metric-rise .38s ease;
    transform-origin: center;
}

@keyframes campaign-metric-rise {
    0% {
        opacity: .72;
        transform: translateY(6px) scale(.985);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.campaign-kpi-value,
.campaign-pulse-value {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: -0.01em;
}

.campaign-kpi-value {
    display: inline-block;
    min-width: 3ch;
    text-shadow: 0 0 18px rgba(124, 139, 255, 0.10);
}

.campaign-pulse-value {
    min-width: 1.75rem;
    text-align: right;
}

.campaign-list-pulse__fill {
    transition: width .45s ease;
}

.campaign-rate-cell__fill {
    transition: width .45s ease;
}

.campaign-kpi-card .mud-typography-h4 {
    line-height: 1;
}

.campaign-cards-panel--v1 {
    padding: 18px 18px 20px 24px;
    overflow: hidden;
}

    .campaign-cards-panel--v1::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-side-accent);
    }

.campaign-cards-panel__header {
    gap: 14px;
    flex-wrap: wrap;
}

.campaign-cards-panel__page-label {
    min-width: 58px;
    text-align: center;
    font-weight: 800;
    color: var(--snappy-title);
    font-variant-numeric: tabular-nums;
}

.campaign-card--v1 {
    position: relative;
    padding: 18px;
    overflow: hidden;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .campaign-card--v1::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 4px;
        background: var(--snappy-top-accent);
    }

    .campaign-card--v1::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-side-accent);
    }

    .campaign-card--v1:hover {
        transform: translateY(-2px);
        box-shadow: 0 22px 52px rgba(18, 35, 90, 0.12);
        border-color: rgba(124, 139, 255, 0.26);
    }

.campaign-card__title-zone {
    min-width: 0;
}

.campaign-card__title {
    color: var(--snappy-title);
    line-height: 1.12;
    overflow-wrap: anywhere;
}

.campaign-card__subject {
    color: var(--snappy-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.campaign-card__actions {
    flex: 0 0 auto;
}

.campaign-media-badge--card {
    width: 34px;
    height: 34px;
    border-radius: 11px;
}

.campaign-card-preview {
    position: relative;
    min-height: 220px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(124, 139, 255, 0.16);
    background: linear-gradient(180deg, rgba(248,251,255,0.94), rgba(255,255,255,0.82));
}

.campaign-card-preview--email {
    background: #f7f9ff;
}

.campaign-card-preview__email-frame {
    width: 100%;
    height: 260px;
    border: 0;
    transform: scale(.72);
    transform-origin: top left;
    width: 138.888%;
    pointer-events: none;
    background: white;
}

.campaign-card-preview--sms,
.campaign-card-preview--rcs {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.campaign-card-phone {
    width: min(100%, 280px);
    height: 196px;
    border-radius: 24px;
    overflow: hidden;
    border: 2px solid rgba(20, 22, 66, 0.9);
    background: #eef3ff;
    box-shadow: 0 14px 34px rgba(20, 22, 66, 0.12);
}

.campaign-card-phone__bar {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    color: white;
    background: linear-gradient(135deg, #141642 0%, #202846 100%);
    font-size: .82rem;
    font-weight: 800;
}

    .campaign-card-phone__bar span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.campaign-card-phone__body {
    padding: 18px;
}

.campaign-card-phone__bubble {
    max-width: 92%;
    padding: 13px 14px;
    border-radius: 18px 18px 18px 6px;
    background: white;
    color: var(--snappy-title);
    box-shadow: 0 10px 24px rgba(18, 35, 90, 0.08);
    font-size: .9rem;
    line-height: 1.35;
}

.campaign-card-rcs {
    width: min(100%, 330px);
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(124, 139, 255, 0.18);
    background: white;
    box-shadow: 0 14px 34px rgba(18, 35, 90, 0.10);
}

.campaign-card-rcs__image,
.campaign-card-rcs__image-placeholder {
    width: 100%;
    height: 96px;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(124, 139, 255, .18), rgba(56, 189, 248, .18));
    color: var(--snappy-title);
}

.campaign-card-rcs__content {
    padding: 14px;
}

    .campaign-card-rcs__content .mud-typography-body2 {
        color: var(--snappy-muted);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

.campaign-card-rcs__chips,
.campaign-card__meta {
    flex-wrap: wrap;
}

.campaign-card-preview--rcs-device {
    padding: 8px;
    overflow: hidden;
}

.campaign-card-preview--rcs-device .rcs-device-preview {
    width: 100%;
}

.campaign-card-preview--rcs-device .rcs-device-preview--compact .rcs-device-preview__device {
    width: min(100%, 230px) !important;
    padding: 6px !important;
    border-radius: 20px !important;
    box-shadow: none !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__topbar {
    padding: 1px 3px 5px !important;
    font-size: .62rem !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__sensors {
    width: 38px !important;
    height: 4px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__header {
    padding: 7px 5px !important;
    gap: 6px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__avatar,
.campaign-card-preview--rcs-device .rcs-device-preview__logo {
    width: 24px !important;
    height: 24px !important;
    font-size: .72rem !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__name {
    font-size: .72rem !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__status {
    font-size: .62rem !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview--compact .rcs-device-preview__screen {
    min-height: 96px !important;
    padding: 8px 4px 10px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble {
    border-radius: 12px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble--vertical {
    width: min(100%, 82%) !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble--horizontal {
    width: min(100%, 95%) !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__img {
    min-height: 46px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble--media-short .rcs-device-preview__img {
    height: 42px !important;
    min-height: 42px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble--media-medium .rcs-device-preview__img {
    height: 54px !important;
    min-height: 54px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__bubble--media-tall .rcs-device-preview__img {
    height: 68px !important;
    min-height: 68px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__content,
.campaign-card-preview--rcs-device .rcs-device-preview__card-content {
    padding: 7px !important;
    gap: 4px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__title,
.campaign-card-preview--rcs-device .rcs-device-preview__text {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__title {
    font-size: .68rem !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__text {
    font-size: .62rem !important;
    line-height: 1.2 !important;
    -webkit-line-clamp: 3 !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__cta-list {
    gap: 3px !important;
    padding-top: 2px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__cta {
    padding: 4px 6px !important;
    border-radius: 7px !important;
    font-size: .58rem !important;
    gap: 4px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel {
    gap: 6px !important;
    padding: 0 3px 6px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel-card {
    flex-basis: 76% !important;
    max-width: 76% !important;
    min-height: 86px !important;
    border-radius: 12px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel-card--medium {
    flex-basis: 84% !important;
    max-width: 84% !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel-img {
    height: 44px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel-img--short {
    height: 36px !important;
}

.campaign-card-preview--rcs-device .rcs-device-preview__carousel-img--tall {
    height: 54px !important;
}

.campaign-card__footer {
    margin-top: auto;
    min-height: 32px;
}

.campaign-card-listline {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    gap: 20px;
    align-items: stretch;
}

.campaign-card-listline__preview {
    min-width: 0;
    align-self: stretch;
}

    .campaign-card-listline__preview .campaign-card-preview {
        height: 178px;
        min-height: 178px;
        border-radius: 16px;
    }

    .campaign-card-listline__preview .campaign-card-preview__email-frame {
        height: 252px;
    }

    .campaign-card-listline__preview .campaign-card-phone {
        width: min(100%, 230px);
        height: 158px;
        border-radius: 20px;
    }

    .campaign-card-listline__preview .campaign-card-phone__bar {
        padding: 11px 13px;
    }

    .campaign-card-listline__preview .campaign-card-phone__body {
        padding: 14px;
    }

    .campaign-card-listline__preview .campaign-card-rcs {
        width: min(100%, 230px);
    }

    .campaign-card-listline__preview .campaign-card-rcs__image,
    .campaign-card-listline__preview .campaign-card-rcs__image-placeholder {
        height: 72px;
    }

    .campaign-card-listline__preview .campaign-card-rcs__content {
        padding: 10px 12px;
    }

.campaign-card-listline__main {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 14px;
}

.campaign-card-listline__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.campaign-card-listline__copy {
    min-width: 0;
}

.campaign-card-listline__chips {
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.campaign-card-listline__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 10px;
}

.campaign-card-metric {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(124, 139, 255, 0.14);
    border-radius: 14px;
    background: rgba(246, 248, 255, 0.62);
}

    .campaign-card-metric span {
        display: block;
        color: var(--snappy-muted);
        font-size: .76rem;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .campaign-card-metric strong {
        display: block;
        margin-top: 5px;
        color: var(--snappy-title);
        font-size: 1.16rem;
        font-weight: 950;
        font-variant-numeric: tabular-nums;
    }

.campaign-card-listline__bottom {
    display: flex;
    align-items: center;
    min-height: 32px;
}

    .campaign-card-listline__bottom .campaign-card__footer {
        margin-top: 0;
        flex-wrap: wrap;
    }

.campaign-calendar-panel--embedded {
    padding: 14px 0 2px;
    overflow: hidden;
}

.campaign-calendar-panel__header {
    gap: 14px;
    flex-wrap: wrap;
}

.campaign-calendar-panel__month {
    min-width: 160px;
    justify-content: center;
    text-transform: capitalize;
}

.campaign-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(124, 139, 255, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.campaign-calendar-grid__weekday {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(124, 139, 255, 0.16);
    background: rgba(246, 248, 255, 0.86);
    color: var(--snappy-muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.campaign-calendar-day {
    position: relative;
    min-height: 150px;
    padding: 34px 8px 8px;
    border-right: 1px solid rgba(124, 139, 255, 0.12);
    border-bottom: 1px solid rgba(124, 139, 255, 0.12);
    background: rgba(255, 255, 255, 0.78);
}

.campaign-calendar-day--empty {
    background: rgba(246, 248, 255, 0.52);
}

.campaign-calendar-day--today {
    background: linear-gradient(180deg, rgba(124, 139, 255, 0.12), rgba(255,255,255,.82));
}

.campaign-calendar-day__number {
    position: absolute;
    top: 8px;
    left: 10px;
    color: var(--snappy-title);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.campaign-calendar-event {
    display: flex;
    width: 100%;
    gap: 7px;
    align-items: flex-start;
    margin-top: 6px;
    padding: 7px 8px;
    border: 1px solid rgba(20, 22, 66, 0.08);
    border-radius: 10px;
    color: var(--snappy-title);
    background: rgba(255, 255, 255, 0.92);
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

    .campaign-calendar-event:hover {
        transform: translateY(-1px);
        border-color: rgba(124, 139, 255, 0.28);
        box-shadow: 0 10px 24px rgba(18, 35, 90, 0.10);
    }

.campaign-calendar-event__content {
    min-width: 0;
    display: grid;
    gap: 1px;
}

    .campaign-calendar-event__content strong,
    .campaign-calendar-event__content small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .campaign-calendar-event__content strong {
        font-size: .82rem;
        line-height: 1.2;
    }

    .campaign-calendar-event__content small {
        color: var(--snappy-muted);
        font-size: .72rem;
    }

.campaign-calendar-event-more {
    margin-top: 6px;
    color: var(--snappy-muted);
    font-size: .78rem;
    font-weight: 800;
}

@media (max-width: 980px) {
    .campaign-card-listline {
        grid-template-columns: 1fr;
    }

    .campaign-card-listline__preview .campaign-card-preview {
        height: 220px;
        min-height: 220px;
    }

    .campaign-card-listline__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .campaign-calendar-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .campaign-calendar-grid__weekday {
        display: none;
    }

    .campaign-calendar-day--empty {
        display: none;
    }
}

.campaign-folder-panel__header,
.campaign-folder-panel__toolbar,
.campaign-folder-row__view,
.campaign-folder-row__edit {
    flex-wrap: wrap;
}

.campaign-folder-panel__search,
.campaign-folder-row__edit-input {
    min-width: 220px;
    flex: 1 1 260px;
}

.campaign-folder-panel__toolbar {
    gap: 8px;
}

.campaign-folder-panel__toolbar-actions {
    flex: 0 0 auto;
}

.campaign-folder-panel__menu.mud-button-root,
.campaign-folder-panel__menu .mud-button-root {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border: 1px solid rgba(124, 139, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
}

.campaign-folder-panel__menu.mud-button-root:hover,
.campaign-folder-panel__menu .mud-button-root:hover {
    background: rgba(124, 139, 255, 0.10);
}

.campaign-folder-panel__menu .mud-icon-root {
    font-size: 1.55rem;
}

.campaign-folder-row {
    border: 1px solid rgba(124, 139, 255, 0.14);
    border-radius: 8px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.72);
}

.campaign-folder-row__identity {
    gap: 12px;
    min-width: 0;
}

.campaign-folder-row__copy {
    min-width: 0;
}

.campaign-folder-row__name {
    overflow-wrap: anywhere;
}

.campaign-folder-empty {
    min-height: 180px;
}

:root[data-theme="dark"] .campaign-list-view-toggle {
    border-color: rgba(159,168,255,0.20);
    background: rgba(27,31,44,0.72);
}

:root[data-theme="dark"] .campaign-folder-row {
    background: rgba(27,31,44,0.72);
    border-color: rgba(159,168,255,0.18);
}

:root[data-theme="dark"] .campaign-card-preview {
    border-color: rgba(159,168,255,0.18);
    background: linear-gradient(180deg, rgba(27,31,44,0.88), rgba(19,23,33,0.92));
}

:root[data-theme="dark"] .campaign-card-phone {
    border-color: rgba(226,232,255,0.72);
    background: #1d2435;
}

:root[data-theme="dark"] .campaign-card-phone__bubble,
:root[data-theme="dark"] .campaign-card-rcs {
    background: #f8fbff;
    color: #141642;
}

@media (max-width: 900px) {
    .campaign-list-view-toggle {
        margin-left: auto;
    }

    .campaign-card-preview__email-frame {
        height: 230px;
    }
}

@media (max-width: 900px) {
    .campaign-list-toolbar__top {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }

    .campaign-list-toolbar__right {
        margin-left: 0;
        width: 100%;
    }

    .campaign-list-toolbar__search {
        flex: 1 1 auto;
    }
}

/* =========================
   SidePanel safe host
   ========================= */

.snappy-dashboard .dashboard-panel--no-lift,
.email-dashboard .dashboard-panel--no-lift,
.sms-dashboard .dashboard-panel--no-lift,
.rcs-dashboard .dashboard-panel--no-lift,
.admin-dashboard-v3 .dashboard-panel--no-lift,
.designer-dashboard-v3 .dashboard-panel--no-lift {
    transform: none !important;
}

    .snappy-dashboard .dashboard-panel--no-lift:hover,
    .email-dashboard .dashboard-panel--no-lift:hover,
    .sms-dashboard .dashboard-panel--no-lift:hover,
    .rcs-dashboard .dashboard-panel--no-lift:hover,
    .admin-dashboard-v3 .dashboard-panel--no-lift:hover,
    .designer-dashboard-v3 .dashboard-panel--no-lift:hover {
        transform: none !important;
    }

/* optionnel mais utile pour éviter les découpes visuelles */
.snappy-dashboard .dashboard-panel--no-lift,
.email-dashboard .dashboard-panel--no-lift,
.sms-dashboard .dashboard-panel--no-lift,
.rcs-dashboard .dashboard-panel--no-lift,
.admin-dashboard-v3 .dashboard-panel--no-lift,
.designer-dashboard-v3 .dashboard-panel--no-lift {
    overflow: visible !important;
}

/* =========================
   Campaign comparison
   ========================= */

.campaign-list-compare-strip {
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(124, 139, 255, 0.18);
    background: linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(240, 245, 255, .72));
}

.campaign-list-compare-strip__inner {
    gap: 12px;
    flex-wrap: wrap;
}

.campaign-card__selection {
    display: inline-flex;
    align-items: center;
    margin-left: -4px;
}

.campaign-comparison-hero {
    overflow: hidden;
}

.campaign-comparison-hero__inner {
    padding: 26px 30px;
    gap: 18px;
    flex-wrap: wrap;
}

.campaign-comparison-card,
.campaign-comparison-table-panel {
    overflow: hidden;
}

.campaign-comparison-card {
    padding: 22px 22px 22px 34px;
}

.campaign-comparison-card__title,
.campaign-comparison-table__campaign-name {
    color: var(--snappy-title);
    overflow-wrap: anywhere;
}

.campaign-comparison-card__kpis {
    margin-top: 4px;
}

.campaign-comparison-mini-kpi {
    min-height: 86px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(124, 139, 255, 0.16);
    background: rgba(255, 255, 255, 0.72);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .campaign-comparison-mini-kpi span {
        color: var(--snappy-muted);
        font-size: .82rem;
        font-weight: 700;
    }

    .campaign-comparison-mini-kpi strong {
        color: var(--snappy-title);
        font-size: 1.32rem;
        line-height: 1;
    }

.campaign-comparison-table-panel {
    padding: 22px;
}

.campaign-comparison-table {
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.78);
}

    .campaign-comparison-table .mud-table-head {
        background: linear-gradient(180deg, rgba(248, 249, 252, 1) 0%, rgba(244, 246, 250, 1) 100%);
    }

    .campaign-comparison-table .mud-table-cell {
        vertical-align: middle;
        border-bottom-color: rgba(15, 23, 42, 0.06);
    }

.campaign-comparison-metric {
    min-width: 130px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .campaign-comparison-metric strong {
        color: var(--snappy-title);
        font-size: .98rem;
    }

.campaign-comparison-metric__track {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(20, 22, 66, .07);
}

.campaign-comparison-metric__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(124, 139, 255, .95), rgba(56, 189, 248, .82));
}

@media (max-width: 900px) {
    .campaign-comparison-hero__inner,
    .campaign-list-compare-strip__inner {
        flex-direction: column;
        align-items: stretch !important;
    }
}

.snappy-dashboard .mud-icon-button-root.mud-button-text,
.snappy-dashboard .mud-icon-button-root.mud-button-outlined,
.admin-dashboard-v3 .mud-icon-button-root.mud-button-text,
.admin-dashboard-v3 .mud-icon-button-root.mud-button-outlined {
    border: 1px solid rgba(124, 139, 255, 0.22);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

    .snappy-dashboard .mud-icon-button-root.mud-button-text:hover,
    .snappy-dashboard .mud-icon-button-root.mud-button-outlined:hover,
    .admin-dashboard-v3 .mud-icon-button-root.mud-button-text:hover,
    .admin-dashboard-v3 .mud-icon-button-root.mud-button-outlined:hover {
        background: rgba(124, 139, 255, 0.10);
        border-color: rgba(124, 139, 255, 0.34);
        box-shadow: 0 8px 20px rgba(124, 139, 255, 0.14);
    }

    .snappy-dashboard .mud-icon-button-root.mud-button-text:disabled,
    .snappy-dashboard .mud-icon-button-root.mud-button-outlined:disabled,
    .admin-dashboard-v3 .mud-icon-button-root.mud-button-text:disabled,
    .admin-dashboard-v3 .mud-icon-button-root.mud-button-outlined:disabled {
        opacity: .58;
        box-shadow: none;
    }

.snappy-grid-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 16px;
    border: 1px solid rgba(124, 139, 255, 0.18);
    background: rgba(255, 255, 255, 0.58);
}

/* =========================
   Campaign list - hero layout cleanup
   ========================= */

.campaign-list-hero__inner--stacked {
    width: 100%;
}

.campaign-list-hero__title-row {
    width: 100%;
    gap: 16px;
    flex-wrap: wrap;
}

    .campaign-list-hero__title-row .campaign-list-hero__copy {
        flex: 1 1 260px;
    }

.campaign-list-hero__chips--right {
    margin-top: 0;
    justify-content: flex-end;
    flex: 1 1 420px;
}

.campaign-list-hero__pulse--inline {
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: 1 1 100%;
}

.campaign-list-pulse__inline-grid {
    width: 100%;
    flex-wrap: wrap;
}

.campaign-list-pulse__row--inline {
    flex: 1 1 220px;
    min-width: 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(99, 102, 241, 0.045);
    border: 1px solid rgba(99, 102, 241, 0.10);
}

:root[data-theme="dark"] .campaign-list-pulse__row--inline {
    background: rgba(159, 168, 255, 0.08);
    border-color: rgba(159, 168, 255, 0.14);
}

@media (max-width: 900px) {
    .campaign-list-hero__chips--right {
        justify-content: flex-start;
        flex: 1 1 100%;
    }
}

/* =========================
   Campaign list - filters and results in one block
   ========================= */

.campaign-list-results-panel--v2 {
    position: relative;
    overflow: hidden;
}

    .campaign-list-results-panel--v2::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18px;
        bottom: 18px;
        width: 4px;
        border-radius: 999px;
        background: var(--snappy-side-accent);
    }

.campaign-list-results-panel__inner {
    position: relative;
    z-index: 1;
}

.campaign-date-filter-button {
    min-height: 48px;
    border-radius: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.campaign-date-filter-button--active {
    border-color: rgba(124, 139, 255, 0.34);
    background: rgba(124, 139, 255, 0.10);
    box-shadow: 0 12px 28px rgba(124, 139, 255, 0.12);
}

.campaign-date-filter-action--active {
    border-color: rgba(124, 139, 255, 0.42);
    background: rgba(124, 139, 255, 0.12);
    box-shadow: 0 8px 20px rgba(124, 139, 255, 0.14);
}

.campaign-date-filter-popover {
    position: absolute;
    top: 88px;
    right: 22px;
    z-index: 25;
    width: min(980px, calc(100% - 44px));
    padding: 20px;
    border: 1px solid rgba(124, 139, 255, 0.20);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 60px rgba(20, 22, 66, 0.16);
}

:root[data-theme="dark"] .campaign-date-filter-popover {
    border-color: rgba(159, 168, 255, 0.24);
    background: rgba(27, 31, 44, 0.98);
}

.campaign-list-view-toggle--single {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.campaign-list-view-toggle .mud-icon-button,
.snappy-icon-action,
.campaign-list-refresh-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 13px;
}

    .campaign-list-view-toggle .mud-icon-button .mud-icon-root,
    .snappy-icon-action .mud-icon-root,
    .campaign-list-refresh-icon .mud-icon-root {
        font-size: 1.38rem;
    }

.campaign-list-toolbar--embedded {
    padding: 18px 18px 0 24px;
}

    .campaign-list-toolbar--embedded::after,
    .campaign-table-panel--embedded::after,
    .campaign-cards-panel--embedded::after {
        display: none !important;
    }

.campaign-list-results-panel__divider {
    margin: 2px 0 0;
    opacity: .65;
}

.campaign-table-panel--embedded {
    padding: 14px 0 0;
    overflow: hidden;
}

.campaign-cards-panel--embedded {
    padding: 14px 0 2px;
    overflow: hidden;
}

@media (max-width: 900px) {
    .campaign-date-filter-popover {
        position: static;
        width: 100%;
        margin-top: 10px;
        padding: 16px;
    }

    .campaign-date-filter-button {
        width: 100%;
        justify-content: flex-start;
    }
}

.campaign-list-results-panel--v2 .campaign-table {
    margin: 0;
}

/* =========================
   Developer dashboard
   ========================= */

.developer-dashboard .developer-dashboard__hero {
    overflow: hidden;
}

.developer-dashboard__kpis {
    margin-top: 0;
}

.developer-dashboard__metric {
    min-height: 132px;
}

.developer-dashboard__panel {
    overflow: hidden;
    padding-left: 20px;
}

    .developer-dashboard__panel .campaign-list-results-panel__inner {
        padding-bottom: 18px;
    }

.developer-dashboard__toolbar {
    justify-content: flex-end;
}

.developer-dashboard__tabs {
    margin-top: 4px;
}

    .developer-dashboard__tabs .mud-tabs-toolbar,
    .developer-dashboard__tabs .mud-tabs-tabbar {
        border-bottom: 1px solid rgba(22, 22, 63, 0.08);
    }

    .developer-dashboard__tabs .mud-tabs-tabbar {
        gap: 10px;
    }

    .developer-dashboard__tabs .mud-tab {
        min-height: 54px;
        padding: 0 22px;
        border-radius: 14px 14px 0 0;
        color: var(--snappy-text);
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0;
    }

        .developer-dashboard__tabs .mud-tab.mud-tab-active {
            color: var(--snappy-primary);
        }

        .developer-dashboard__tabs .mud-tab .mud-icon-root {
            margin-right: 8px;
            font-size: 1.25rem;
        }

.developer-dashboard__content {
    padding: 20px 0 0;
}

.developer-dashboard__section,
.developer-dashboard__doc-card {
    border-radius: 18px;
    border-color: rgba(22, 22, 63, 0.08) !important;
    background: rgba(255, 255, 255, 0.78);
}

.developer-dashboard__section {
    padding: 18px !important;
}

.developer-dashboard__doc-card {
    padding: 18px !important;
}

.developer-dashboard__view-header {
    gap: 1rem;
    flex-wrap: wrap;
}

.developer-dashboard__primary-action {
    min-height: 44px;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(22, 22, 63, 0.18);
}

.developer-dashboard__alert {
    border-radius: 8px;
}

.developer-dashboard__loading {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.developer-dashboard__scope-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 4px 12px;
}

.developer-dashboard__scope-chips {
    flex-wrap: wrap;
}

.developer-dashboard__keys-table {
    border: 1px solid rgba(22, 22, 63, 0.08);
    border-radius: 18px;
    overflow: hidden;
}

.developer-dashboard__endpoint-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0.75rem;
}

.developer-dashboard__endpoint-button {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 10px;
    align-items: center;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(22, 22, 63, 0.10);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.76);
    color: var(--snappy-text);
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

    .developer-dashboard__endpoint-button:hover,
    .developer-dashboard__endpoint-button.is-active {
        border-color: rgba(0, 0, 200, 0.34);
        box-shadow: 0 14px 30px rgba(22, 22, 63, 0.10);
        transform: translateY(-1px);
    }

    .developer-dashboard__endpoint-button.is-active {
        background: linear-gradient(135deg, rgba(244, 246, 255, 0.98), rgba(255, 255, 255, 0.92));
    }

.developer-dashboard__endpoint-path {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.88rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.developer-dashboard__endpoint-summary {
    grid-column: 2;
    color: rgba(48, 48, 66, 0.68);
    font-size: 0.86rem;
}

.developer-dashboard__method-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid currentColor;
    font-size: 0.75rem;
    font-weight: 900;
    line-height: 1;
}

.developer-dashboard__method-badge--get {
    color: #0072c6;
    background: rgba(0, 114, 198, 0.08);
}

.developer-dashboard__method-badge--post {
    color: #00a86b;
    background: rgba(0, 168, 107, 0.08);
}

.developer-dashboard__method-badge--put {
    color: #d98200;
    background: rgba(217, 130, 0, 0.10);
}

.developer-dashboard__docs code {
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(22, 22, 63, 0.06);
    color: var(--snappy-primary);
    font-size: 0.9em;
}

.developer-dashboard__doc-intro {
    border-left: 4px solid rgba(126, 116, 255, 0.78) !important;
}

.developer-dashboard__doc-title-row,
.developer-dashboard__doc-filters,
.developer-dashboard__doc-chips,
.developer-dashboard__endpoint-detail-header {
    flex-wrap: wrap;
}

.developer-dashboard__method-toggle {
    min-width: min(100%, 420px);
}

.developer-dashboard__category-filter {
    min-width: min(100%, 260px);
}

.developer-dashboard__endpoint-detail {
    border-left: 4px solid rgba(126, 116, 255, 0.78) !important;
}

.developer-dashboard__endpoint-title {
    flex-wrap: wrap;
}

.developer-dashboard__endpoint-title-path {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    overflow-wrap: anywhere;
}

.developer-dashboard__code-shell {
    position: relative;
    margin-top: 0.75rem;
    overflow: hidden;
    border: 1px solid rgba(22, 22, 63, 0.08);
    border-radius: 14px;
    background: rgba(18, 16, 55, 0.04);
}

.developer-dashboard__code-copy {
    position: absolute !important;
    top: 0.65rem;
    right: 0.65rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(22, 22, 63, 0.24);
    border-radius: 10px;
    border-color: rgba(22, 22, 63, 0.24) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #16163f !important;
    box-shadow: 0 10px 26px rgba(22, 22, 63, 0.12);
    cursor: pointer;
}

    .developer-dashboard__code-copy:hover {
        background: #16163f !important;
        color: #ffffff !important;
    }

    .developer-dashboard__code-copy.is-copied {
        border-color: rgba(20, 202, 124, 0.72) !important;
        background: #14ca7c !important;
        color: #ffffff !important;
    }

    .developer-dashboard__code-copy.is-copy-failed {
        border-color: rgba(255, 77, 109, 0.72) !important;
        background: #ff4d6d !important;
        color: #ffffff !important;
    }

.developer-dashboard__code-title {
    padding: 0.7rem 4rem 0.55rem 1rem;
    border-bottom: 1px solid rgba(22, 22, 63, 0.08);
    color: rgba(22, 22, 63, 0.62);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.developer-dashboard__code-pre {
    margin: 0 !important;
    max-height: 420px;
    padding: 1rem 3.85rem 1rem 1rem;
    overflow: auto;
    white-space: pre-wrap;
}

    .developer-dashboard__code-pre code {
        display: block;
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
        font-size: 0.88rem;
        line-height: 1.55;
        color: #16163f;
    }

.snappy-copy-source {
    position: fixed;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.snappy-copy-button--icon.mud-button-root,
.snappy-copy-button--icon.mud-icon-button,
.snappy-copy-button--icon.mud-icon-button-root {
    border: 1px solid rgba(124, 139, 255, 0.22) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    aspect-ratio: 1 / 1;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.snappy-copy-button--icon.mud-button-root:hover,
.snappy-copy-button--icon.mud-icon-button:hover,
.snappy-copy-button--icon.mud-icon-button-root:hover {
    background: rgba(124, 139, 255, 0.10) !important;
    border-color: rgba(124, 139, 255, 0.34) !important;
    box-shadow: 0 8px 20px rgba(124, 139, 255, 0.14);
}

.snappy-copy-button.is-copied {
    border-color: rgba(20, 202, 124, 0.72) !important;
    color: #14ca7c !important;
}

.snappy-copy-button.is-copy-failed {
    border-color: rgba(255, 77, 109, 0.72) !important;
    color: #ff4d6d !important;
}

.snappy-copy-menu-item.is-copied {
    color: #14ca7c !important;
}

.snappy-copy-menu-item.is-copy-failed {
    color: #ff4d6d !important;
}

:root[data-theme="dark"] .developer-dashboard__tabs .mud-tabs-toolbar,
:root[data-theme="dark"] .developer-dashboard__tabs .mud-tabs-tabbar {
    border-bottom-color: rgba(159, 168, 255, 0.14);
}

:root[data-theme="dark"] .developer-dashboard__section,
:root[data-theme="dark"] .developer-dashboard__doc-card,
:root[data-theme="dark"] .developer-dashboard__keys-table {
    border-color: rgba(159, 168, 255, 0.14) !important;
    background: rgba(24, 28, 40, 0.82);
}

:root[data-theme="dark"] .developer-dashboard__endpoint-button {
    border-color: rgba(159, 168, 255, 0.14);
    background: rgba(24, 28, 40, 0.74);
}

    :root[data-theme="dark"] .developer-dashboard__endpoint-button:hover,
    :root[data-theme="dark"] .developer-dashboard__endpoint-button.is-active {
        border-color: rgba(159, 168, 255, 0.38);
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
    }

    :root[data-theme="dark"] .developer-dashboard__endpoint-button.is-active {
        background: rgba(34, 39, 58, 0.92);
    }

:root[data-theme="dark"] .developer-dashboard__endpoint-summary {
    color: rgba(238, 242, 255, 0.66);
}

:root[data-theme="dark"] .developer-dashboard__docs code {
    background: rgba(159, 168, 255, 0.12);
}

:root[data-theme="dark"] .developer-dashboard__code-shell {
    border-color: rgba(159, 168, 255, 0.14);
    background: rgba(12, 15, 24, 0.70);
}

:root[data-theme="dark"] .developer-dashboard__code-copy {
    border-color: rgba(159, 168, 255, 0.24) !important;
    background: rgba(24, 28, 40, 0.94) !important;
    color: #eef1ff !important;
}

    :root[data-theme="dark"] .developer-dashboard__code-copy:hover {
        background: #8ea7ff !important;
        color: #0f1027 !important;
    }

:root[data-theme="dark"] .developer-dashboard__code-title {
    border-bottom-color: rgba(159, 168, 255, 0.14);
    color: rgba(238, 242, 255, 0.68);
}

:root[data-theme="dark"] .developer-dashboard__code-pre code {
    color: #eef1ff;
}

.temporary-password-dialog__secret {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(22, 22, 63, 0.04);
}

.temporary-password-dialog__password {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    overflow-wrap: anywhere;
}

:root[data-theme="dark"] .temporary-password-dialog__secret {
    background: rgba(159, 168, 255, 0.10);
}

@media (max-width: 900px) {
    .developer-dashboard__toolbar {
        justify-content: stretch;
    }

    .developer-dashboard__content {
        padding-top: 14px;
    }

    .developer-dashboard__tabs .mud-tab {
        padding: 0 14px;
    }
}


/* =========================
   Snappy semantic colors
   ========================= */

:root {
    --snappy-color-email: #2B6CB0;
    --snappy-color-sms: #D926A9;
    --snappy-color-rcs: #9333EA;
    --snappy-color-draft: #6c757d;
    --snappy-color-scheduled: #f9a825;
    --snappy-color-sending: #7c74ff;
    --snappy-color-sent: #2e7d32;
    --snappy-color-paused: #f57c00;
    --snappy-color-archived: #757575;
    --snappy-color-cancelled: #d32f2f;
    --snappy-color-success: #2e7d32;
    --snappy-color-warning: #f9a825;
    --snappy-color-danger: #d32f2f;
    --snappy-color-info: #1976d2;
    --snappy-color-neutral: #6c757d;
}

    :root[data-theme="dark"] {
        --snappy-color-email: #c77dff;
        --snappy-color-sms: #6bb6ff;
        --snappy-color-rcs: #42d6ad;
        --snappy-color-draft: #adb5bd;
        --snappy-color-scheduled: #ffd166;
        --snappy-color-sending: #aab3ff;
        --snappy-color-sent: #67d28f;
        --snappy-color-paused: #ffb15c;
        --snappy-color-archived: #b8c1df;
        --snappy-color-cancelled: #ff7a70;
        --snappy-color-success: #67d28f;
        --snappy-color-warning: #ffd166;
        --snappy-color-danger: #ff7a70;
        --snappy-color-info: #6bb6ff;
        --snappy-color-neutral: #b8c1df;
    }

/* 
    EXEMPLES D'UTILISATION : 

    <MudIcon Icon="@Icons.Material.Filled.Email" Style="@SnappyColor.Email.TextStyle()" />

    <MudText Style="@SnappyColor.Email.TextStyle()">
        Email
    </MudText>

    <MudButton Style="@SnappyColor.Email.BackgroundStyle()">
        Créer une campagne email
    </MudButton>

    <MudPaper Class="pa-4" Style="@SnappyColor.Email.BorderLeftStyle()">
        Bloc email
    </MudPaper>

    <div style="@SnappyColor.Email.SoftBackgroundStyle()">
        Bloc avec fond léger email
    </div>

    <MudChip T="string" Style="@MediaType.Email.ToSnappyColor().BackgroundStyle()">
        Email
    </MudChip>

    <MudChip T="string" Style="@CampaignStatus.Completed.ToSnappyColor().BackgroundStyle()">
        Envoyée
    </MudChip>

    */


/* =========================
   Audience pages - campaign-like result panels
   ========================= */

.recipient-lists-page-v4__main-card,
.audience-contacts-page__grid,
.audience-segments-list-page__library {
    overflow: hidden;
}

.recipient-lists-page-v4__main-inner,
.audience-segments-list-page__library-inner {
    gap: 16px;
}

.recipient-lists-page-v4__table-panel {
    padding-top: 8px;
}

.audience-contacts-page__table-panel {
    padding: 8px 14px 14px;
}

.recipient-lists-page-v4__grid,
.audience-contacts-page__data-grid {
    margin: 0;
}

    .recipient-lists-page-v4__grid .mud-table-head .mud-table-cell,
    .audience-contacts-page__data-grid .mud-table-head .mud-table-cell {
        color: var(--snappy-title);
    }

.recipient-lists-page-v4__cards-panel,
.audience-segments-list-page__cards-panel {
    padding-top: 8px;
}

.audience-segments-list-page__library .audience-segments-list-page__card,
.recipient-lists-page-v4__main-card .recipient-lists-page-v4__card {
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(99, 102, 241, 0.12);
}

:root[data-theme="dark"] .audience-segments-list-page__library .audience-segments-list-page__card,
:root[data-theme="dark"] .recipient-lists-page-v4__main-card .recipient-lists-page-v4__card {
    background: rgba(27, 31, 44, 0.86);
    border-color: rgba(159, 168, 255, 0.16);
}

/* =========================
   SuperAdmin polish
   ========================= */

.admin-dashboard-v3.superadmin-list-page,
.admin-dashboard-v3.superadmin-detail-page {
    max-width: 1680px;
    margin-inline: auto;
    padding-bottom: 24px;
}

    .admin-dashboard-v3.superadmin-list-page > :first-child:not(.mud-paper) {
        position: relative;
        overflow: hidden;
        padding: 18px 20px;
        border: 1px solid var(--snappy-panel-border);
        border-radius: 20px;
        background: var(--snappy-shell-overlay), var(--snappy-panel-bg);
        box-shadow: var(--snappy-panel-shadow);
    }

        .admin-dashboard-v3.superadmin-list-page > :first-child:not(.mud-paper)::before {
            content: "";
            position: absolute;
            inset: 0 0 auto 0;
            height: 4px;
            background: var(--snappy-top-accent);
            pointer-events: none;
        }

.admin-dashboard-v3 .superadmin-tabs {
    margin-top: 4px;
    border: 1px solid var(--snappy-panel-border);
    border-radius: 20px;
    background: var(--snappy-panel-bg);
    box-shadow: var(--snappy-panel-shadow);
    overflow: hidden;
}

    .admin-dashboard-v3 .superadmin-tabs .mud-tabs-toolbar,
    .admin-dashboard-v3 .superadmin-tabs .mud-tabs-tabbar {
        border-bottom: 1px solid var(--snappy-panel-border);
        background: rgba(124, 139, 255, 0.04);
    }

    .admin-dashboard-v3 .superadmin-tabs .mud-tab {
        min-height: 58px;
        font-weight: 800;
        letter-spacing: 0;
    }

    .admin-dashboard-v3 .superadmin-tabs .mud-tabs-panels {
        padding: 16px;
        background: transparent;
    }

    .admin-dashboard-v3 .superadmin-tabs .mud-tabs-panels > .mud-tab-panel {
        padding-top: 0;
    }

.admin-dashboard-v3 .superadmin-detail-metric,
.admin-dashboard-v3 .client-detail-card {
    min-height: 96px;
    overflow: hidden;
}

.admin-dashboard-v3 .superadmin-detail-metric .mud-typography-caption,
.admin-dashboard-v3 .client-detail-card .mud-typography-caption {
    color: var(--snappy-muted);
    font-weight: 700;
}

.admin-dashboard-v3.superadmin-list-page .mud-table-container,
.admin-dashboard-v3.superadmin-detail-page .mud-table-container {
    border: 1px solid var(--snappy-panel-border);
    border-radius: 16px;
}

.admin-dashboard-v3.superadmin-list-page .mud-table-root,
.admin-dashboard-v3.superadmin-detail-page .mud-table-root {
    background: transparent;
}

.admin-dashboard-v3.superadmin-list-page .mud-table-head,
.admin-dashboard-v3.superadmin-detail-page .mud-table-head {
    background: rgba(124, 139, 255, 0.05);
}

@media (max-width: 900px) {
    .admin-dashboard-v3.superadmin-list-page > :first-child:not(.mud-paper),
    .admin-dashboard-v3.superadmin-detail-page .dashboard-hero > .mud-stack {
        flex-direction: column;
        align-items: stretch !important;
    }
}
