/*
 * Authoritative administrator layout layer.
 * Geometry only: the selected admin theme remains in charge of colors.
 */

:root {
    --admin-final-gutter: clamp(1rem, 2.25vw, 2rem);
    --admin-final-touch: 44px;
}

html {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body.admin-body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(280px, 304px) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas:
        "sidebar topbar"
        "sidebar main";
    overflow-x: clip;
}

[hidden] {
    display: none !important;
}

.admin-icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

body.admin-body :is(img, svg, video, canvas, iframe, embed, object) {
    max-width: 100%;
}

body.admin-body :is(img, video, canvas) {
    height: auto;
}

body.admin-body :is(h1, h2, h3, h4, h5, h6, p, li, dd, dt, label, a, button, th, td, small, strong, span) {
    overflow-wrap: anywhere;
}

body.admin-body :is(h1, h2, h3, h4, h5, h6) {
    max-width: 100%;
    text-wrap: balance;
}

body.admin-body :is(button, .btn, input[type="button"], input[type="submit"]) {
    min-height: var(--admin-final-touch);
    max-width: 100%;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    touch-action: manipulation;
}

body.admin-body :is(input, select, textarea) {
    min-width: 0;
    max-width: 100%;
}

body.admin-body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--admin-primary, #315ee8) 35%, transparent);
    outline-offset: 2px;
}

.admin-sidebar {
    grid-area: sidebar;
    width: 100%;
    min-width: 0;
    max-width: 304px;
}

.admin-main {
    grid-area: main;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: var(--admin-final-gutter);
    overflow-x: hidden;
}

.admin-global-topbar {
    grid-area: topbar;
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    min-width: 0;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem var(--admin-final-gutter);
    border-bottom: 1px solid var(--admin-border);
    background: color-mix(in srgb, var(--admin-card-bg) 92%, transparent);
    color: var(--admin-text);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
    backdrop-filter: blur(18px) saturate(135%);
}

.admin-topbar-identity,
.admin-topbar-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.admin-topbar-identity > div {
    display: grid;
    min-width: 0;
}

.admin-topbar-identity strong {
    color: var(--admin-text);
    font-size: .72rem;
    letter-spacing: .08em;
}

.admin-topbar-identity small {
    color: var(--admin-text-muted);
    font-size: .58rem;
}

.admin-mobile-home {
    display: none;
}

.admin-site-exit,
.login-back-link {
    display: inline-flex;
    min-height: var(--admin-final-touch);
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem .8rem;
    border: 1px solid var(--admin-border);
    border-radius: 11px;
    background: var(--admin-card-bg);
    color: var(--admin-text);
    font-size: .68rem;
    font-weight: 800;
    text-decoration: none;
}

.login-back-link {
    width: fit-content;
    color: #1e293b;
}

.admin-theme-control {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .45rem;
    padding: .3rem;
    border: 1px solid var(--admin-border);
    border-radius: 13px;
    background: var(--admin-surface-soft, #f8fafc);
}

.admin-theme-label {
    padding-left: .35rem;
    color: var(--admin-text-muted);
    font-size: .56rem;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-theme-options {
    display: flex;
    min-width: 0;
    gap: .25rem;
}

.admin-theme-options button {
    display: inline-flex;
    min-width: 0;
    min-height: 36px !important;
    align-items: center;
    gap: .3rem;
    padding: .38rem .58rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: var(--admin-text-muted);
    font-size: .58rem;
    font-weight: 800;
}

.admin-theme-options button:hover {
    border-color: var(--admin-border);
    background: var(--admin-card-bg);
    color: var(--admin-text);
}

.admin-theme-options button.active {
    border-color: var(--admin-primary);
    background: var(--admin-primary);
    color: var(--admin-on-primary, #fff);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--admin-primary) 25%, transparent);
}

.admin-mobile-launcher {
    display: none;
}

.admin-panel,
.admin-heading,
.admin-heading-actions,
.admin-context-appbar,
.admin-content-app-strip,
.admin-card,
.admin-two-col,
.admin-grid-forms,
.settings-grid,
.form-stack,
.form-grid,
.stat-grid,
.table-wrap,
.quote-table-wrap,
.builder-studio-shell,
.builder-support-grid,
.builder-group-grid,
.media-warehouse-layout,
.visual-editor-shell,
.visual-toolbar,
.email-studio-shell,
.email-compose-column,
.email-preview-column,
.email-contacts-layout,
.email-composer-actions,
.email-studio-tabs,
.email-metrics-grid,
.resend-templates-grid,
.arturo-chat-panel,
.admin-editor-dialog,
.admin-editor-body {
    min-width: 0;
    max-width: 100%;
}

.admin-panel:not(.active) {
    display: none;
}

.admin-panel.active {
    width: 100%;
}

.admin-heading {
    width: 100%;
}

.admin-heading > *,
.admin-heading-actions > *,
.admin-card > *,
.form-stack > *,
.settings-grid > *,
.form-grid > * {
    min-width: 0;
}

.admin-card,
.login-card,
.builder-group,
.text-row,
.mini-row,
.media-product-card,
.resend-template-card,
.email-campaign-card {
    width: 100%;
    max-width: 100%;
}

.admin-two-col,
.admin-grid-forms,
.settings-grid,
.form-grid,
.builder-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}

.form-stack label,
.settings-grid label,
.form-grid label {
    min-width: 0;
}

.form-stack :is(input, select, textarea),
.settings-grid :is(input, select, textarea),
.form-grid :is(input, select, textarea) {
    width: 100%;
}

body.admin-body input[type="checkbox"],
body.admin-body input[type="radio"],
body.admin-body input[type="color"] {
    width: auto;
    flex: 0 0 auto;
}

body.admin-body textarea {
    resize: vertical;
}

.check-row,
.inline-flex,
.form-actions,
.admin-heading-actions,
.builder-studio-actions,
.email-composer-actions,
.resend-template-actions {
    min-width: 0;
    flex-wrap: wrap;
}

.table-wrap,
.quote-table-wrap,
.email-csv-preview,
.content-table-wrap,
.editor-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.admin-table,
.quote-table {
    width: max(100%, 760px);
    margin: 0;
}

.admin-table :is(th, td),
.quote-table :is(th, td) {
    max-width: 32rem;
    vertical-align: top;
}

body.admin-body :is(pre, code) {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.visual-toolbar,
.quill-toolbar-pro,
.ql-toolbar,
.note-toolbar,
.email-token-bar,
.email-template-picker {
    display: flex;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    align-items: center;
}

.visual-toolbar > *,
.quill-toolbar-pro > *,
.ql-toolbar > *,
.note-toolbar > *,
.email-token-bar > *,
.email-template-picker > * {
    min-width: 0;
}

.ql-container,
.ql-editor,
.visual-editor-area,
.news-rich-editor,
.magazine-rich-editor,
.email-rich-editor {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ql-editor {
    overflow-wrap: anywhere;
}

.ql-editor :is(img, video, iframe, table) {
    max-width: 100%;
}

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

.media-warehouse-layout,
.email-studio-shell,
.email-contacts-layout {
    align-items: start;
}

.media-commerce-grid,
.asset-picker-grid,
.resend-templates-grid,
.email-metrics-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.media-product-card img,
.asset-picker-card img,
.profile-logo-preview img,
.brand-kit-preview img {
    object-fit: contain;
}

.email-preview-frame-wrap,
.email-preview-frame {
    width: 100%;
    max-width: 100%;
}

.email-preview-frame {
    display: block;
    border: 0;
}

.login-overlay,
.admin-editor-modal,
.email-mass-send-modal {
    width: 100%;
    max-width: 100%;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    overflow: auto;
    overscroll-behavior: contain;
}

.login-card,
.admin-editor-dialog,
.email-mass-send-dialog {
    width: min(100%, 1120px);
    max-width: calc(100vw - 2rem);
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    overscroll-behavior: contain;
}

.login-card {
    width: min(420px, 100%);
}

.admin-editor-head,
.admin-editor-title-app,
.admin-editor-actions {
    min-width: 0;
}

.admin-editor-body {
    overflow-x: hidden;
    overflow-y: auto;
}

.arturo-chat-panel {
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
}

/* Complete theme contract: every operational surface consumes these tokens. */
body.admin-body,
body.admin-body[data-admin-theme="light"] {
    --admin-bg: #f0f2f5;
    --admin-card-bg: #ffffff;
    --admin-surface-soft: #f8fafc;
    --admin-surface-raised: #ffffff;
    --admin-card-border: #dfe5ee;
    --admin-border: #dfe5ee;
    --admin-text: #172033;
    --admin-text-muted: #5f6c80;
    --admin-text-light: #7b8799;
    --admin-primary: #315ee8;
    --admin-primary-hover: #2349c8;
    --admin-on-primary: #ffffff;
    --admin-input-bg: #ffffff;
    --admin-sidebar-text: #172033;
    color-scheme: light;
}

body.admin-body[data-admin-theme="dark"] {
    --admin-bg: #090e1b;
    --admin-card-bg: #151d2e;
    --admin-surface-soft: #101827;
    --admin-surface-raised: #1b2538;
    --admin-card-border: #344158;
    --admin-border: #344158;
    --admin-text: #f2f6ff;
    --admin-text-muted: #b4bfd2;
    --admin-text-light: #96a3b8;
    --admin-primary: #86a0ff;
    --admin-primary-hover: #a2b5ff;
    --admin-on-primary: #091126;
    --admin-input-bg: #0d1524;
    --admin-sidebar-text: #ffffff;
    color-scheme: dark;
}

body.admin-body[data-admin-theme="blue-solar"] {
    --admin-bg: #041626;
    --admin-card-bg: #0b2a46;
    --admin-surface-soft: #082139;
    --admin-surface-raised: #103755;
    --admin-card-border: #286083;
    --admin-border: #286083;
    --admin-text: #f2fbff;
    --admin-text-muted: #b3d2e3;
    --admin-text-light: #97bfd4;
    --admin-primary: #ffbd2e;
    --admin-primary-hover: #ffd166;
    --admin-on-primary: #10243a;
    --admin-input-bg: #061d31;
    --admin-sidebar-text: #ffffff;
    color-scheme: dark;
}

body.admin-body {
    background: var(--admin-bg);
    color: var(--admin-text);
}

body.admin-body[data-admin-theme="blue-solar"] {
    background: radial-gradient(circle at 82% 0, rgba(0, 180, 216, .2), transparent 34rem), var(--admin-bg);
}

body.admin-body .admin-main {
    background: transparent;
    color: var(--admin-text);
}

body.admin-body .login-overlay {
    background: color-mix(in srgb, var(--admin-bg) 88%, #11182c);
}

body.admin-body .login-card {
    border: 1px solid var(--admin-card-border);
    background: var(--admin-card-bg);
    color: var(--admin-text);
}

body.admin-body .login-card :is(h1, h2, h3, label, summary, strong) {
    color: var(--admin-text);
}

body.admin-body .login-card :is(p, small) {
    color: var(--admin-text-muted);
}

body.admin-body .login-back-link {
    border-color: var(--admin-border);
    background: var(--admin-surface-soft);
    color: var(--admin-text);
}

body.admin-body :is(
    .admin-card,
    .table-wrap,
    .builder-group,
    .text-row,
    .mini-row,
    .profile-logo-editor,
    .visual-toolbar,
    .visual-editor-area,
    .visual-preview,
    .builder-subtabs,
    .admin-context-appbar,
    .admin-content-app-strip,
    .admin-content-app-button,
    .email-studio-tabs,
    .email-health-bar,
    .email-metrics-grid article,
    .email-preview-card,
    .email-csv-guide,
    .email-csv-import,
    .resend-template-card,
    .resend-template-form,
    .admin-news-product,
    .admin-magazine-product,
    .menu-parent,
    .site-template-preview-card,
    .assistant-knowledge-row,
    .assistant-unresolved-list article,
    .builder-module-card,
    .identity-asset-card,
    .media-product-card,
    .unified-source-card
) {
    border-color: var(--admin-card-border);
    background: var(--admin-card-bg);
    color: var(--admin-text);
}

body.admin-body .admin-main :is(h1, h2, h3, h4, h5, h6, label, legend, summary, dt, strong) {
    color: var(--admin-text);
}

body.admin-body .admin-main :is(p, li, dd, small, .microcopy, .admin-context-appbar-label) {
    color: var(--admin-text-muted);
}

body.admin-body .admin-main a:not(.btn):not(.admin-content-app-button) {
    color: var(--admin-primary);
}

body.admin-body .admin-sidebar :is(.admin-app-page-head strong, .admin-sidebar-assistant, .admin-sidebar-assistant strong) {
    color: #ffffff !important;
}

body.admin-body .admin-sidebar {
    background-color: #11182c;
    color: #ffffff;
}

body.admin-body .admin-brand :is(.brand-mark, .admin-brand-copy, .admin-brand-copy strong) {
    color: #ffffff !important;
}

body.admin-body .admin-sidebar :is(.admin-app-page-head small, .admin-sidebar-assistant small) {
    color: rgba(255, 255, 255, .68) !important;
}

body.admin-body :is(input, textarea, select) {
    border-color: var(--admin-border);
    background: var(--admin-input-bg);
    color: var(--admin-text);
}

body.admin-body :is(input, textarea)::placeholder {
    color: var(--admin-text-light);
    opacity: 1;
}

body.admin-body select option {
    background: var(--admin-input-bg);
    color: var(--admin-text);
}

body.admin-body .btn-primary {
    border-color: var(--admin-primary);
    background: var(--admin-primary);
    color: var(--admin-on-primary);
}

body.admin-body .btn-primary:hover {
    border-color: var(--admin-primary-hover);
    background: var(--admin-primary-hover);
    color: var(--admin-on-primary);
}

body.admin-body :is(.btn-secondary, .mini-row button, .style-presets button, .builder-subtab, .note-toolbar button) {
    border-color: var(--admin-border);
    background: var(--admin-surface-soft);
    color: var(--admin-text);
}

body.admin-body :is(.admin-context-action, #session-state) {
    border-color: var(--admin-border);
    background: var(--admin-surface-soft);
    color: var(--admin-text-muted);
}

body.admin-body .admin-context-action.health {
    color: color-mix(in srgb, var(--admin-primary) 72%, var(--admin-text));
}

body.admin-body .admin-editor-launcher {
    border-color: color-mix(in srgb, var(--launcher-accent, var(--admin-primary)) 28%, var(--admin-border));
    background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--launcher-accent-2, var(--admin-primary)) 14%, transparent), transparent 43%), var(--admin-card-bg);
    color: var(--admin-text);
    box-shadow: 0 14px 38px rgba(8, 15, 32, .14), inset 0 1px 0 color-mix(in srgb, var(--admin-text) 8%, transparent);
}

body.admin-body .admin-editor-launcher:hover {
    background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--launcher-accent-2, var(--admin-primary)) 20%, transparent), transparent 43%), var(--admin-surface-raised);
    box-shadow: 0 22px 48px rgba(8, 15, 32, .2), inset 0 1px 0 color-mix(in srgb, var(--admin-text) 10%, transparent);
}

body.admin-body .admin-launcher-copy strong {
    color: var(--admin-text);
}

body.admin-body .admin-launcher-copy > span {
    color: var(--admin-text-muted);
}

body.admin-body .admin-launcher-enter {
    border-color: var(--admin-border);
    background: var(--admin-surface-raised);
}

body.admin-body :is(.btn-secondary, .mini-row button, .style-presets button, .builder-subtab, .note-toolbar button):hover {
    border-color: var(--admin-primary);
    background: var(--admin-surface-raised);
    color: var(--admin-primary);
}

body.admin-body .builder-subtab.active {
    border-color: var(--admin-primary);
    background: var(--admin-surface-raised);
    color: var(--admin-primary);
}

body.admin-body :is(.admin-table th, .quote-table th) {
    border-color: var(--admin-border);
    background: var(--admin-surface-soft);
    color: var(--admin-text-muted);
}

body.admin-body :is(.admin-table td, .quote-table td) {
    border-color: var(--admin-border);
    background: var(--admin-card-bg);
    color: var(--admin-text);
}

body.admin-body .admin-table tr:hover td {
    background: var(--admin-surface-raised);
}

body.admin-body :is(.ql-toolbar, .ql-container, .ql-editor, .admin-editor-dialog, .admin-editor-body, .admin-editor-head, .email-mass-send-dialog, .quote-availability-dialog) {
    border-color: var(--admin-border);
    background: var(--admin-card-bg);
    color: var(--admin-text);
}

body.admin-body .ql-toolbar :is(button, .ql-picker-label, .ql-picker-item) {
    color: var(--admin-text);
}

body.admin-body .ql-toolbar :is(.ql-stroke) {
    stroke: currentColor;
}

body.admin-body .ql-toolbar :is(.ql-fill) {
    fill: currentColor;
}

body.admin-body :is(.admin-force-light-surface, .admin-force-dark-text) {
    border-color: var(--admin-card-border) !important;
    background: var(--admin-card-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(.admin-force-light-surface, .admin-force-dark-text) :is(h1, h2, h3, h4, p, span, small, label, legend, summary):not(.btn):not(button) {
    color: inherit !important;
}

/* The legal notice always owns an opaque dark surface. */
body.admin-body .admin-system-license {
    border-color: rgba(255, 255, 255, .14);
    background: #11182c !important;
    color: #ffffff !important;
}

body.admin-body .admin-system-license :is(strong, small) {
    color: #ffffff !important;
}

body.admin-body .admin-system-license small {
    opacity: .72;
}

body.admin-body .admin-system-license span {
    background: rgba(255, 189, 46, .18);
    color: #ffd166 !important;
}

body.admin-body[data-admin-theme="dark"] .admin-sidebar {
    background: linear-gradient(160deg, #050913, #111827);
    background-color: #050913;
}

body.admin-body[data-admin-theme="blue-solar"] .admin-sidebar {
    background: radial-gradient(circle at 20% 0, rgba(0, 180, 216, .3), transparent 30%), linear-gradient(160deg, #03111f, #082f4f);
    background-color: #03111f;
}

body.admin-body[data-admin-theme="blue-solar"] .admin-theme-options button.active {
    background: var(--admin-primary);
    color: var(--admin-on-primary);
}

@media (max-width: 1180px) {
    .admin-two-col,
    .admin-grid-forms,
    .settings-grid,
    .form-grid,
    .builder-support-grid,
    .media-warehouse-layout,
    .email-studio-shell,
    .email-contacts-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .media-warehouse-layout > #media-form,
    .email-preview-column {
        position: static;
    }

    .ql-editor .editor-columns {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 980px) {
    body.admin-body {
        display: block;
        grid-template-columns: none;
        min-height: 100dvh;
        padding-top: calc(4rem + env(safe-area-inset-top));
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
    }

    .admin-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 130;
        width: min(86vw, 320px);
        max-width: min(86vw, 320px);
        height: 100dvh;
        padding-top: calc(4.5rem + env(safe-area-inset-top));
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(-104%);
    }

    .admin-sidebar.is-open {
        transform: translateX(0);
    }

    .admin-main {
        width: 100%;
        min-height: calc(100dvh - 4rem);
        padding: clamp(.8rem, 3vw, 1.25rem);
        padding-bottom: calc(6.25rem + env(safe-area-inset-bottom));
    }

    .admin-menu-toggle {
        display: inline-flex !important;
        top: calc(.65rem + env(safe-area-inset-top));
        left: .75rem;
        z-index: 150;
        width: var(--admin-final-touch);
        height: var(--admin-final-touch);
    }

    .admin-bottom-nav {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
        min-width: 0;
        padding-bottom: calc(.42rem + env(safe-area-inset-bottom));
    }

    .admin-bottom-nav .admin-tab {
        min-width: 0;
        width: 100%;
        min-height: 50px;
        padding: .35rem .2rem;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }

    .admin-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .admin-heading-actions,
    .builder-studio-actions,
    .form-actions,
    .email-composer-actions {
        width: 100%;
    }

    .admin-table,
    .quote-table {
        width: 100%;
        min-width: 760px;
    }

    .admin-context-appbar {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .admin-context-appbar > * {
        flex: 0 0 auto;
    }
}

@media (max-width: 640px) {
    :root {
        --admin-final-gutter: .75rem;
    }

    body.admin-body :is(input, select, textarea) {
        font-size: 16px;
    }

    .admin-main {
        padding-inline: .75rem;
    }

    .admin-two-col,
    .admin-grid-forms,
    .settings-grid,
    .form-grid,
    .builder-support-grid,
    .builder-group-grid,
    .visual-style-grid,
    .template-elements-grid,
    .email-studio-shell,
    .email-contacts-layout,
    .email-metrics-grid,
    .resend-templates-grid,
    .ql-editor .editor-columns {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-card,
    .login-card,
    .builder-group,
    .text-row {
        padding: clamp(.8rem, 3.5vw, 1rem);
    }

    .admin-heading-actions,
    .builder-studio-actions,
    .form-actions,
    .email-composer-actions,
    .resend-template-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .55rem;
    }

    .admin-heading-actions > *,
    .builder-studio-actions > *,
    .form-actions > *,
    .email-composer-actions > *,
    .resend-template-actions > * {
        width: 100% !important;
        min-width: 0;
        margin: 0;
    }

    .mini-row,
    .mini-row.media-mini-row,
    .assistant-knowledge-row,
    .assistant-unresolved-list article,
    .unified-source-card {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .mini-row > *,
    .mini-row.media-mini-row > *,
    .assistant-knowledge-row > *,
    .unified-source-card > * {
        grid-column: 1 !important;
        min-width: 0;
    }

    .visual-toolbar,
    .quill-toolbar-pro,
    .note-toolbar,
    .email-token-bar,
    .email-template-picker {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .4rem;
    }

    .visual-toolbar > *,
    .quill-toolbar-pro > *,
    .note-toolbar > *,
    .email-token-bar > *,
    .email-template-picker > * {
        width: 100%;
        min-width: 0;
    }

    .media-commerce-grid,
    .asset-picker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .login-overlay,
    .admin-editor-modal,
    .email-mass-send-modal {
        padding: .35rem;
    }

    .login-card,
    .admin-editor-dialog,
    .email-mass-send-dialog {
        width: calc(100vw - .7rem);
        max-width: calc(100vw - .7rem);
        max-height: calc(100dvh - .7rem);
        border-radius: 16px;
    }

    .admin-editor-head,
    .admin-editor-body,
    .email-mass-send-dialog {
        padding-inline: .75rem;
    }

    .arturo-chat-panel {
        inset: max(.35rem, env(safe-area-inset-top)) .35rem max(.35rem, env(safe-area-inset-bottom));
        width: auto;
        height: auto;
        max-width: none;
        max-height: none;
    }
}

@media (max-width: 420px) {
    .media-commerce-grid,
    .asset-picker-grid,
    .visual-toolbar,
    .quill-toolbar-pro,
    .note-toolbar,
    .email-token-bar,
    .email-template-picker {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-bottom-nav .admin-tab {
        font-size: .62rem;
    }
}

/* ============================================================
   FINAL THEME COHERENCE CONTRACT
   Every administrative surface belongs to exactly one palette.
   ============================================================ */

body.admin-body,
body.admin-body[data-admin-theme="light"] {
    --admin-sidebar-bg: #eef2f7;
    --admin-sidebar-card: #ffffff;
    --admin-sidebar-soft: #f7f9fc;
    --admin-sidebar-border: #d8e0eb;
    --admin-sidebar-text: #172033;
    --admin-sidebar-muted: #5f6c80;
    --admin-sidebar-active: #e9efff;
    --admin-sidebar-active-text: #17316f;
}

body.admin-body[data-admin-theme="dark"] {
    --admin-sidebar-bg: #050913;
    --admin-sidebar-card: #111a2a;
    --admin-sidebar-soft: #0c1422;
    --admin-sidebar-border: #2d3a50;
    --admin-sidebar-text: #f4f7ff;
    --admin-sidebar-muted: #aeb9cc;
    --admin-sidebar-active: #1a2944;
    --admin-sidebar-active-text: #ffffff;
}

body.admin-body[data-admin-theme="blue-solar"] {
    --admin-sidebar-bg: #041a2d;
    --admin-sidebar-card: #0b2a46;
    --admin-sidebar-soft: #082139;
    --admin-sidebar-border: #286083;
    --admin-sidebar-text: #ffffff;
    --admin-sidebar-muted: #b9d9e9;
    --admin-sidebar-active: #135077;
    --admin-sidebar-active-text: #ffffff;
}

/* Sidebar: light is genuinely light; dark is black; Solar is blue. */
body.admin-body .admin-sidebar {
    border-right: 1px solid var(--admin-sidebar-border);
    background: var(--admin-sidebar-bg) !important;
    color: var(--admin-sidebar-text) !important;
    scrollbar-color: color-mix(in srgb, var(--admin-sidebar-text) 22%, transparent) transparent;
}

body.admin-body .admin-sidebar :is(.admin-brand, .admin-app-groups, .admin-edit-mode, .admin-sidebar-assistant, .admin-system-license, .admin-logout) {
    border-color: var(--admin-sidebar-border) !important;
    background: var(--admin-sidebar-card) !important;
    color: var(--admin-sidebar-text) !important;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--admin-sidebar-bg) 70%, transparent) !important;
}

body.admin-body .admin-sidebar :is(.admin-brand, .admin-brand-copy, .admin-brand-copy strong, .admin-edit-mode strong, .admin-app-page-head strong, .admin-sidebar-assistant, .admin-sidebar-assistant strong, .admin-system-license strong, .admin-logout) {
    color: var(--admin-sidebar-text) !important;
}

body.admin-body .admin-sidebar :is(.admin-brand-copy small, .admin-edit-mode small, .admin-app-page-head small, .admin-app-page-head > span, .admin-sidebar-assistant small, .admin-system-license small, .admin-tab-copy small) {
    color: var(--admin-sidebar-muted) !important;
    opacity: 1;
}

body.admin-body .admin-sidebar .admin-app-group {
    color: var(--admin-sidebar-muted) !important;
}

body.admin-body .admin-sidebar .admin-app-group:is(:hover, .active) {
    background: var(--admin-sidebar-soft) !important;
    color: var(--admin-sidebar-text) !important;
    box-shadow: inset 0 0 0 1px var(--admin-sidebar-border) !important;
}

body.admin-body .admin-sidebar .admin-tab {
    border-color: var(--admin-sidebar-border) !important;
    background: var(--admin-sidebar-card) !important;
    color: var(--admin-sidebar-text) !important;
    box-shadow: 0 5px 15px color-mix(in srgb, var(--admin-sidebar-bg) 70%, transparent) !important;
}

body.admin-body .admin-sidebar .admin-tab:hover {
    border-color: color-mix(in srgb, var(--admin-primary) 48%, var(--admin-sidebar-border)) !important;
    background: var(--admin-sidebar-soft) !important;
    color: var(--admin-sidebar-text) !important;
}

body.admin-body .admin-sidebar .admin-tab.active {
    border-color: color-mix(in srgb, var(--admin-primary) 58%, var(--admin-sidebar-border)) !important;
    background: var(--admin-sidebar-active) !important;
    color: var(--admin-sidebar-active-text) !important;
    box-shadow: inset 3px 0 color-mix(in srgb, var(--admin-primary) 78%, var(--admin-sidebar-active-text)), 0 8px 20px color-mix(in srgb, var(--admin-sidebar-bg) 72%, transparent) !important;
}

body.admin-body .admin-sidebar .admin-tab-copy strong {
    color: inherit !important;
}

body.admin-body .admin-sidebar .admin-edit-mode-switch span {
    border-color: var(--admin-sidebar-border);
    background: var(--admin-sidebar-soft);
}

body.admin-body .admin-sidebar .admin-edit-mode-switch span::after {
    background: var(--admin-sidebar-muted);
}

body.admin-body .admin-sidebar .admin-edit-mode-switch input:checked + span {
    border-color: var(--admin-primary);
    background: color-mix(in srgb, var(--admin-primary) 34%, var(--admin-sidebar-card));
}

body.admin-body .admin-sidebar .admin-edit-mode-switch input:checked + span::after {
    background: var(--admin-primary);
}

body.admin-body .admin-sidebar .admin-system-license span {
    background: color-mix(in srgb, var(--admin-primary) 17%, var(--admin-sidebar-card));
    color: color-mix(in srgb, var(--admin-primary) 78%, var(--admin-sidebar-text)) !important;
}

body.admin-body[data-admin-theme="blue-solar"] .admin-sidebar .admin-system-license span {
    color: #ffd166 !important;
}

body.admin-body .admin-sidebar .admin-logout:hover {
    border-color: #dc4b5a !important;
    background: color-mix(in srgb, #dc4b5a 14%, var(--admin-sidebar-card)) !important;
    color: color-mix(in srgb, #dc4b5a 72%, var(--admin-sidebar-text)) !important;
}

/* Operational cards, dialogs and editors always consume the active palette. */
body.admin-body :is(
    .device-upload-ui,
    .media-library-launcher,
    .asset-picker-app,
    .asset-picker-device,
    .asset-picker-card,
    .media-source-card,
    .media-warehouse-card,
    .admin-editor-dialog,
    .admin-editor-body > form,
    .admin-tour-card,
    .share-sheet,
    .site-health-modal,
    .site-health-summary,
    .site-health-grid article,
    .builder-pages-list article,
    .builder-subpanel,
    .builder-live-preview-card,
    .builder-programmed-notice,
    .page-builder-pro-launch,
    .email-compose-column,
    .email-preview-column,
    .email-composer-card,
    .email-campaign-basics,
    .email-advanced-settings,
    .email-template-picker,
    .email-token-bar,
    .email-csv-dropzone,
    .email-csv-example,
    .email-csv-preview,
    .email-quality-checks,
    .email-recipient-checklist,
    .email-selected-recipients,
    .email-mass-send-dialog,
    .resend-template-form,
    .resend-visual-builder,
    .assistant-glossary-shell,
    .assistant-glossary-row,
    .arturo-chat-panel,
    .arturo-topic-shell,
    .arturo-chat-log,
    .arturo-message-content,
    .quill-editor-shell,
    .quill-layout-bar
) {
    border-color: var(--admin-card-border) !important;
    background: var(--admin-card-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(
    .visual-toolbar,
    .quill-toolbar-pro,
    .ql-toolbar,
    .note-toolbar,
    .builder-subtabs,
    .builder-filter-row,
    .email-studio-tabs,
    .email-health-bar,
    .email-preview-head,
    .email-attachment-toolbar,
    .resend-template-editor-head,
    .admin-editor-head,
    .asset-picker-head,
    .asset-picker-search,
    .asset-picker-meta,
    .asset-choice-card,
    .asset-picker-empty
) {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-soft) !important;
    color: var(--admin-text) !important;
}

body.admin-body #tab-gifts {
    --email-ink: var(--admin-text);
    --email-muted: var(--admin-text-muted);
    --email-primary: var(--admin-primary);
    --email-navy: var(--admin-text);
    --email-bone: var(--admin-surface-soft);
}

body.admin-body :is(
    .email-studio-tabs button,
    .email-template-picker button,
    .email-token-bar button,
    .email-device-toggle button,
    .resend-block-toolbar button,
    .quill-layout-bar > button,
    .asset-picker-head .share-close
) {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-raised) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(
    .email-studio-tabs button.active,
    .email-template-picker button.active,
    .email-device-toggle button.active
) {
    border-color: var(--admin-primary) !important;
    background: color-mix(in srgb, var(--admin-primary) 18%, var(--admin-card-bg)) !important;
    color: color-mix(in srgb, var(--admin-primary) 74%, var(--admin-text)) !important;
}

body.admin-body :is(.email-metrics-grid strong, .email-csv-summary strong, .asset-choice-copy strong) {
    color: var(--admin-text) !important;
}

body.admin-body :is(.email-metrics-grid span, .email-metrics-grid small, .asset-picker-meta, .asset-choice-copy small, .asset-picker-empty) {
    color: var(--admin-text-muted) !important;
}

body.admin-body :is(.asset-choice-preview, .asset-picker-empty > span) {
    background: var(--admin-surface-soft) !important;
}

body.admin-body .resend-template-modal {
    background: color-mix(in srgb, var(--admin-bg) 78%, rgba(0, 0, 0, .72)) !important;
}

body.admin-body :is(.admin-context-app.wtm-primary, .wtm-app-popover) {
    border-color: var(--admin-border) !important;
    background: var(--admin-card-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body .wtm-app-popover :is(a, strong) {
    color: var(--admin-text) !important;
}

body.admin-body .wtm-app-popover small {
    color: var(--admin-text-muted) !important;
}

body.admin-body .wtm-app-popover a:hover {
    background: var(--admin-surface-soft) !important;
}

body.admin-body #media-type-filter {
    border-color: var(--admin-border) !important;
    background: var(--admin-input-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(.assistant-knowledge-actions button, .assistant-unresolved-list button) {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-raised) !important;
    color: var(--admin-text) !important;
}

body.admin-body .assistant-knowledge-row > div:first-child > span {
    color: color-mix(in srgb, var(--admin-primary) 82%, var(--admin-text)) !important;
}

/* Dashboard counters are deliberately white in Light/Dark and blue in Solar. */
body.admin-body :is(.stat-card, .assistant-metrics-grid article) {
    border-color: #d9e0ea !important;
    background: #ffffff !important;
    color: #111827 !important;
}

body.admin-body :is(.stat-card, .assistant-metrics-grid article) strong {
    color: #111827 !important;
}

body.admin-body :is(.stat-card, .assistant-metrics-grid article) :is(span, small) {
    color: #5b6678 !important;
}

body.admin-body[data-admin-theme="blue-solar"] :is(.stat-card, .assistant-metrics-grid article) {
    border-color: var(--admin-card-border) !important;
    background: var(--admin-card-bg) !important;
    color: #ffffff !important;
}

body.admin-body[data-admin-theme="blue-solar"] :is(.stat-card, .assistant-metrics-grid article) strong {
    color: #ffffff !important;
}

body.admin-body[data-admin-theme="blue-solar"] :is(.stat-card, .assistant-metrics-grid article) :is(span, small) {
    color: #b9d9e9 !important;
}

body.admin-body:is([data-admin-theme="dark"], [data-admin-theme="blue-solar"]) .admin-launcher-enter {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-raised) !important;
    color: var(--admin-text) !important;
}

/* SINAPSE assistant uses the same active palette as the rest of the OS. */
body.admin-body .arturo-chat-panel {
    border-color: var(--admin-card-border) !important;
    background: var(--admin-card-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body .arturo-chat-panel > header {
    border-color: var(--admin-border);
    background: linear-gradient(135deg, color-mix(in srgb, var(--admin-primary) 42%, #11182c), #11182c);
    color: #ffffff;
}

body.admin-body :is(.arturo-context, .arturo-topic-shell, .arturo-chat-log) {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-soft) !important;
    color: var(--admin-text-muted) !important;
}

body.admin-body :is(.arturo-topic-grid button, .arturo-topic-questions button, .arturo-quick-prompts button, .arturo-answer-actions button, .arturo-related, .arturo-feedback button, #arturo-chat-form) {
    border-color: var(--admin-border) !important;
    background: var(--admin-card-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(.arturo-topic-shell strong, .arturo-message-content h3) {
    color: var(--admin-text) !important;
}

body.admin-body :is(.arturo-topic-shell small, .arturo-message-content small, .arturo-local-note, .arturo-feedback, .arturo-write-fallback summary) {
    color: var(--admin-text-muted) !important;
}

body.admin-body .arturo-message-content {
    border-color: var(--admin-border) !important;
    background: var(--admin-surface-raised) !important;
    color: var(--admin-text) !important;
}

body.admin-body .arturo-message-user .arturo-message-content {
    background: #174c78 !important;
    color: #ffffff !important;
}

body.admin-body #arturo-chat-input {
    color: var(--admin-text) !important;
}

body.admin-body #arturo-chat-form > button {
    background: #174c78 !important;
    color: #ffffff !important;
}

body.admin-body :is(.visual-editor-area, .news-rich-editor, .magazine-rich-editor, .email-rich-editor, .ql-container, .ql-editor) {
    border-color: var(--admin-border) !important;
    background: var(--admin-input-bg) !important;
    color: var(--admin-text) !important;
}

body.admin-body :is(.admin-tour-card, .share-sheet, .site-health-modal, .admin-editor-dialog, .email-mass-send-dialog) :is(h1, h2, h3, h4, label, legend, summary, strong) {
    color: var(--admin-text) !important;
}

body.admin-body :is(.admin-tour-card, .share-sheet, .site-health-modal, .admin-editor-dialog, .email-mass-send-dialog) :is(p, li, small) {
    color: var(--admin-text-muted) !important;
}

/* Keep content previews faithful; only their surrounding application chrome is themed. */
body.admin-body :is(.email-preview-frame, .builder-live-preview, .template-layout-preview, .profile-logo-preview, .admin-asset-backplate, .resend-template-visual-editor, .resend-visual-layout iframe) {
    background: #ffffff !important;
    color: #172033 !important;
}

@media (prefers-reduced-motion: reduce) {
    body.admin-body *,
    body.admin-body *::before,
    body.admin-body *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Mobile admin is an application shell; the desktop sidebar never becomes a drawer. */
@media (max-width: 980px) {
    body.admin-body {
        display: block;
        min-height: 100dvh;
        padding-top: calc(4.25rem + env(safe-area-inset-top));
        padding-bottom: calc(4.55rem + env(safe-area-inset-bottom));
    }

    body.admin-body .admin-sidebar,
    body.admin-body .admin-menu-toggle {
        display: none !important;
    }

    body.admin-body .admin-global-topbar {
        position: fixed;
        inset: 0 0 auto;
        z-index: 140;
        width: 100%;
        min-height: calc(4.25rem + env(safe-area-inset-top));
        padding: calc(.55rem + env(safe-area-inset-top)) .75rem .55rem;
        gap: .5rem;
    }

    body.admin-body .admin-main {
        width: 100%;
        min-height: calc(100dvh - 4.25rem);
        padding: clamp(.8rem, 3vw, 1.25rem);
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
    }

    .admin-mobile-home {
        display: grid;
        width: var(--admin-final-touch);
        height: var(--admin-final-touch);
        min-height: var(--admin-final-touch);
        flex: 0 0 var(--admin-final-touch);
        place-items: center;
        padding: 0;
        border: 1px solid var(--admin-border);
        border-radius: 13px;
        background: var(--admin-primary);
        color: var(--admin-on-primary);
    }

    .admin-mobile-home svg {
        width: 22px;
        height: 22px;
        fill: currentColor;
    }

    .admin-topbar-identity {
        flex: 1 1 auto;
        gap: .5rem;
    }

    .admin-topbar-identity strong {
        font-size: .62rem;
    }

    .admin-topbar-identity small {
        max-width: 18ch;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-topbar-actions {
        flex: 0 0 auto;
        gap: .35rem;
    }

    .admin-site-exit {
        width: var(--admin-final-touch);
        min-width: var(--admin-final-touch);
        padding: 0;
    }

    .admin-site-exit span:last-child,
    .admin-theme-label {
        display: none;
    }

    .admin-theme-control {
        gap: .15rem;
        padding: .2rem;
        border-radius: 12px;
    }

    .admin-theme-options {
        gap: .12rem;
    }

    body.admin-body .admin-theme-options button {
        width: 36px;
        min-width: 36px;
        min-height: 36px !important;
        justify-content: center;
        padding: 0;
        overflow: hidden;
        font-size: 0;
    }

    body.admin-body .admin-theme-options button span {
        font-size: .85rem;
    }

    .admin-mobile-launcher:not([hidden]) {
        position: fixed;
        inset: calc(4.25rem + env(safe-area-inset-top)) 0 calc(4.55rem + env(safe-area-inset-bottom));
        z-index: 115;
        display: block;
        width: 100%;
        padding: clamp(1rem, 5vw, 1.5rem);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--admin-bg);
        color: var(--admin-text);
    }

    .admin-mobile-launcher > header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .admin-mobile-launcher > header :is(.eyebrow, h1) {
        color: var(--admin-text);
    }

    .admin-mobile-launcher > header h1 {
        margin: 0;
        font-size: clamp(1.85rem, 9vw, 2.65rem);
    }

    .admin-mobile-launcher > header a {
        min-height: var(--admin-final-touch);
        padding: .6rem .75rem;
        border: 1px solid var(--admin-border);
        border-radius: 12px;
        background: var(--admin-card-bg);
        color: var(--admin-text);
        font-size: .62rem;
        font-weight: 800;
    }

    .admin-mobile-launcher-copy {
        margin: .4rem 0 1.15rem;
        color: var(--admin-text-muted);
        font-size: .78rem;
    }

    .admin-mobile-edit-mode {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin: 0 0 1rem;
        padding: .8rem .9rem;
        border: 1px solid var(--admin-card-border);
        border-radius: 17px;
        background: var(--admin-card-bg);
        color: var(--admin-text);
    }

    .admin-mobile-edit-mode > span {
        display: grid;
        gap: .15rem;
    }

    .admin-mobile-edit-mode strong {
        color: var(--admin-text);
        font-size: .68rem;
    }

    .admin-mobile-edit-mode small {
        color: var(--admin-text-muted);
        font-size: .52rem;
    }

    body.admin-body .admin-mobile-edit-mode input {
        position: relative;
        appearance: none;
        width: 48px;
        height: 28px;
        flex: 0 0 48px;
        padding: 0;
        border: 1px solid var(--admin-border);
        border-radius: 999px;
        background: var(--admin-surface-soft);
        cursor: pointer;
        transition: background .18s ease, border-color .18s ease;
    }

    body.admin-body .admin-mobile-edit-mode input::before {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--admin-text-muted);
        box-shadow: 0 3px 8px rgba(15, 23, 42, .22);
        content: "";
        transition: transform .18s ease, background .18s ease;
    }

    body.admin-body .admin-mobile-edit-mode input:checked {
        border-color: var(--admin-primary);
        background: color-mix(in srgb, var(--admin-primary) 28%, var(--admin-card-bg));
    }

    body.admin-body .admin-mobile-edit-mode input:checked::before {
        background: var(--admin-primary);
        transform: translateX(20px);
    }

    .admin-mobile-app-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .8rem;
    }

    body.admin-body .admin-mobile-app {
        display: grid;
        min-width: 0;
        min-height: 132px !important;
        align-content: center;
        justify-items: start;
        gap: .55rem;
        padding: .9rem;
        border: 1px solid var(--admin-card-border);
        border-radius: 22px;
        background: var(--admin-card-bg);
        color: var(--admin-text);
        text-align: left;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .1);
    }

    .admin-mobile-app > span:first-child {
        display: grid;
        width: 48px;
        height: 48px;
        place-items: center;
        border-radius: 15px;
        background: linear-gradient(145deg, var(--admin-primary), color-mix(in srgb, var(--admin-primary) 62%, #22b8cf));
        color: var(--admin-on-primary);
        box-shadow: 0 10px 22px color-mix(in srgb, var(--admin-primary) 24%, transparent);
    }

    .admin-mobile-app svg {
        width: 25px;
        height: 25px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
    }

    .admin-mobile-app-copy {
        display: grid;
        gap: .15rem;
        min-width: 0;
    }

    .admin-mobile-app-copy strong {
        color: var(--admin-text);
        font-size: .72rem;
    }

    .admin-mobile-app-copy small {
        color: var(--admin-text-muted);
        font-size: .55rem;
        line-height: 1.35;
    }

    body.admin-body .admin-mobile-app[data-active="true"] {
        border-color: var(--admin-primary);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--admin-primary) 16%, transparent), 0 16px 36px rgba(15, 23, 42, .12);
    }

    body.admin-body .admin-bottom-nav {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        grid-auto-rows: 52px;
        width: 100%;
        min-width: 0;
        min-height: calc(4.55rem + env(safe-area-inset-bottom));
        padding: .38rem .4rem calc(.38rem + env(safe-area-inset-bottom));
        border-top-color: var(--admin-border);
        background: color-mix(in srgb, var(--admin-card-bg) 94%, transparent);
        backdrop-filter: blur(18px) saturate(135%);
    }

    body.admin-body .admin-bottom-nav :is(button, a) {
        display: grid;
        min-width: 0;
        width: 100%;
        min-height: 52px;
        place-items: center;
        align-content: center;
        gap: .18rem;
        padding: .3rem .15rem;
        border: 0;
        border-radius: 13px;
        background: transparent;
        color: var(--admin-text-muted);
        text-align: center;
        white-space: normal;
        box-shadow: none;
    }

    .admin-bottom-nav :is(button, a) svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
    }

    .admin-bottom-nav :is(button, a) small {
        color: inherit;
        font-size: .55rem;
        font-weight: 800;
    }

    body.admin-body .admin-bottom-nav .admin-tab.active,
    body.admin-body .admin-bottom-nav [data-mobile-action="home"][aria-pressed="true"] {
        background: color-mix(in srgb, var(--admin-primary) 14%, transparent);
        color: var(--admin-primary);
    }

    body.admin-body .admin-context-appbar {
        display: none;
    }
}

@media (max-width: 420px) {
    .admin-topbar-identity > div {
        display: none;
    }

    .admin-mobile-app-grid {
        gap: .6rem;
    }

    body.admin-body .admin-mobile-app {
        min-height: 120px !important;
        padding: .75rem;
        border-radius: 18px;
    }
}
