.footer-top {
    grid-template-columns: 1.35fr .8fr .8fr 1fr;
    gap: 48px
}
.footer-subscribe {
    display: flex;
    border-bottom: 1px solid #39424d
}
    .footer-subscribe input {
        min-width: 0;
        width: 100%;
        border: 0;
        background: transparent;
        color: #eef1f4;
        padding: 10px 0;
        padding-left: .3rem;
    }
    .footer-subscribe button {
        border: 0;
        background: transparent;
        color: var(--cyan);
        white-space: nowrap
    }
.newsletter-status {
    color: var(--green) !important;
    font-size: 12px !important;
    margin: 4px 0 0
}
.admin-request-list article small {
    display: block;
    color: #6c7e79;
    margin-top: 5px
}
.admin-content-section .admin-content-form {
    max-width: 900px
}
.subscriber-count {
    color: #7f8995;
    font: 500 12px var(--mono)
}
.subscriber-toolbar {
    --subscriber-control-height: 2.65rem;
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(10rem, .35fr) minmax(10rem, .35fr) auto auto;
    align-items: end;
    gap: .75rem;
    margin: 0 0 1rem
}
    .subscriber-toolbar label {
        display: grid;
        gap: .4rem;
        color: #aab3bd;
        font: 500 10px var(--mono);
        letter-spacing: .04em;
        text-transform: uppercase
    }
    .subscriber-toolbar input,
    .subscriber-toolbar select {
        width: 100%;
        height: var(--subscriber-control-height);
        min-height: var(--subscriber-control-height);
        padding: .55rem .7rem;
        border: 1px solid #3a4552;
        background: #080b0f;
        color: #eef1f4;
        font: 400 13px var(--sans)
    }
    .subscriber-toolbar input:focus,
    .subscriber-toolbar select:focus {
        border-color: var(--cyan);
        outline: 1px solid var(--cyan)
    }
    .subscriber-toolbar .button {
        height: var(--subscriber-control-height);
        min-height: var(--subscriber-control-height);
        padding: 0 20px;
        justify-content: center;
        margin: 0;
        white-space: nowrap
    }
.subscriber-table-wrap {
    overflow-x: auto
}
.admin-data-table.subscriber-table {
    min-width: 760px
}
    .subscriber-table th,
    .subscriber-table td {
        padding: 9px 12px
    }
    .subscriber-table th:nth-child(2),
    .subscriber-table td:nth-child(2) {
        width: 190px
    }
    .subscriber-table th:last-child,
    .subscriber-table td:last-child {
        width: 290px
    }
    .subscriber-table td strong {
        font-size: 13px;
        font-weight: 500
    }
    .subscriber-table time {
        color: #929ca7;
        font: 500 10px var(--mono);
        white-space: nowrap
    }
.subscriber-row-actions {
    gap: 6px
}
.subscriber-action {
    min-height: 32px;
    margin: 0;
    padding: 6px 9px;
    font: 500 9px var(--mono);
    letter-spacing: .03em;
    white-space: nowrap
}
[data-subscriber-empty] td {
    padding: 20px 12px;
    color: #929ca7;
    text-align: center
}
@media(max-width:980px) {
    .footer-top {
        grid-template-columns: 1fr 1fr
    }

    .footer-brand {
        grid-column: 1/3
    }
    .subscriber-toolbar {
        grid-template-columns: 1fr 1fr
    }
    .subscriber-search {
        grid-column: 1/-1
    }
}
@media(max-width:680px) {
    .footer-top {
        grid-template-columns: 1fr
    }

    .footer-brand {
        grid-column: auto
    }
    .subscriber-toolbar {
        grid-template-columns: 1fr
    }
    .subscriber-search {
        grid-column: auto
    }
}
.mailing-rich-edit {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: none !important;
    height: 32rem;
    max-height: 70vh
}
    .mailing-rich-edit > div {
        width: 100% !important;
        max-width: none !important
    }
.mailing-composer-frame {
    display: block;
    width: 100%;
    height: 68rem;
    border: 0;
    background: transparent
}
.mailing-composer-document {
    margin: 0;
    padding: .25rem;
    background: transparent !important;
    overflow: auto
}
.mailing-composer-youhealth {
    --composer-label: #102c27;
    --composer-muted: #52736f;
    --composer-surface: rgba(255,255,255,.58);
    --composer-toolbar: rgba(232,248,242,.82);
    --composer-border: rgba(23,104,95,.28);
    --composer-accent: #31a98c;
    --composer-label-font: 'DM Sans',sans-serif;
    --composer-label-font-size: 13px;
    --composer-label-font-weight: 600;
    --composer-label-text-transform: unset;
}

.mailing-composer-rhominds {
    --composer-label: #aab3bd;
    --composer-muted: #9ab8b2;
    --composer-surface: rgba(255,255,255,.10);
    --composer-toolbar: rgba(20,48,44,.88);
    --composer-border: rgba(112,217,189,.34);
    --composer-accent: #70d9bd;
    --composer-label-font: 'IBM Plex Mono',monospace;
    --composer-label-font-size: 13px;
    --composer-label-font-weight: 500;
    --composer-label-text-transform: uppercase;
}

.mailing-composer-field > span, .mailing-composer-field > label, .mailing-composer-label {
    color: var(--composer-label);
    font: var(--composer-label-font-weight) var(--composer-label-font-size) var(--composer-label-font);
    text-transform: var(--composer-label-text-transform);
    letter-spacing: .02em
}

.mailing-attachments small {
    color: var(--composer-muted)
}
.mailing-composer .dxbl-text-edit, .mailing-attachments input[type=file] {
    background: var(--composer-surface) !important;
    border-color: var(--composer-border) !important;
    color: inherit
}
.mailing-composer select,
.mailing-composer input[type=email] {
    width: 100%;
    min-height: 2.6rem;
    padding: .55rem .7rem;
    border: 1px solid var(--composer-border);
    border-radius: .3rem;
    background: var(--composer-surface);
    color: var(--composer-text)
}
.mailing-composer option { color: #11161e; background: #fff }
.mailing-composer-field small { color: var(--composer-muted); font-weight: 400 }
.mailing-account-selector,
.mailing-recipient-tagbox { width: 100% }
.mailing-recipient-tagbox.dxbl-text-edit {
    min-height: 3rem;
    padding: .18rem .25rem;
    border-radius: .35rem !important;
    background: rgba(0,0,0,.16) !important
}
.mailing-recipient-tagbox .dxbl-tag-tmpl {
    margin: .14rem;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: inherit !important
}
.mailing-recipient-tag {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 1.95rem;
    padding: .25rem .35rem .25rem .48rem;
    border: 1px solid color-mix(in srgb,var(--composer-accent) 58%,transparent);
    border-radius: 999px;
    background: color-mix(in srgb,var(--composer-accent) 16%,transparent);
    color: var(--composer-text);
    font: 500 12px 'IBM Plex Mono',monospace;
    white-space: nowrap
}
.mailing-recipient-tag-list {
    border-color: #ff9f5a;
    background: rgba(255,122,26,.18);
    color: #ffd8bd
}
.mailing-recipient-tag-icon {
    display: inline-grid;
    place-items: center;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    font-size: .72rem;
    font-weight: 700
}
.mailing-recipient-tag-remove {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font: 700 1rem/1 sans-serif;
    opacity: .7;
    cursor: pointer
}
.mailing-recipient-tag-remove:hover,
.mailing-recipient-tag-remove:focus-visible { background: rgba(255,255,255,.13); opacity: 1; outline: none }
.mailing-recipient-tag-remove:disabled { cursor: default; opacity: .35 }
.mailing-recipient-tagbox input { min-width: 15rem }
.mailing-delivery-privacy { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .7rem; align-items: baseline; padding: .75rem .9rem; border-left: 3px solid var(--composer-accent); background: color-mix(in srgb,var(--composer-accent) 10%,transparent); color: var(--composer-muted); font-size: .85rem }
.mailing-delivery-privacy strong { color: var(--composer-label); font-family: 'IBM Plex Mono',monospace; text-transform: uppercase }
.mailing-empty { padding: 1rem; border: 1px solid #b7791f; background: #fff4d6; color: #664d03 }
    .mailing-composer .dxbl-text-edit:focus-within, .mailing-attachments input[type=file]:focus {
        border-color: var(--composer-accent) !important;
        box-shadow: 0 0 0 .15rem color-mix(in srgb,var(--composer-accent) 22%,transparent)
    }
.mailing-rich-edit {
    overflow: visible;
    background: #fff !important;
    color: #212529 !important;
    border: 1px solid var(--composer-border) !important;
    border-radius: .35rem
}
    .mailing-rich-edit .dxbl-toolbar,
    .mailing-rich-edit .dxbl-widget-container,
    .mailing-rich-edit .dx-htmleditor,
    .mailing-rich-edit .dx-htmleditor-content,
    .mailing-rich-edit .dxbl-text-edit {
        --bs-body-bg: #fff;
        --bs-body-color: #212529;
        --dxbl-toolbar-bg: #fff;
        --dxbl-toolbar-color: #212529;
        --dxbl-toolbar-btn-bg: #fff;
        --dxbl-toolbar-btn-color: #212529;
        background: #fff !important;
        color: #212529 !important;
        border-color: var(--composer-border) !important;
        backdrop-filter: none
    }
    .mailing-rich-edit .dxbl-widget-container {
        flex: 1 1 auto;
        height: auto;
        min-height: 0
    }
    .mailing-rich-edit .dx-htmleditor {
        height: 100%
    }
    .mailing-rich-edit .dx-htmleditor-content {
        padding: 24px !important
    }
    .mailing-rich-edit .dx-htmleditor-content > table {
        width: min(100%, 640px) !important;
        max-width: 640px;
        margin: 0 auto 24px !important;
        box-shadow: 0 10px 30px rgba(17,22,30,.10)
    }
    .mailing-composer-rhominds .mailing-rich-edit .dx-htmleditor-content a {
        color: #a84500 !important
    }
.mailing-composer {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: 100%;
    padding: .25rem
}
.mailing-composer-field {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    width: 100%;
    font-weight: 600
}
.mailing-composer-label {
    font-weight: 600;
    margin-bottom: -.35rem
}
.mailing-composer-message-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem
}
.mailing-composer-message-head .mailing-composer-label {
    margin-bottom: 0
}
.mailing-composer-message-head .mailing-template-button {
    flex: 0 0 auto;
    border-color: var(--composer-border) !important;
    background: var(--composer-surface) !important;
    color: var(--composer-label) !important
}
.mailing-composer-message-head .mailing-template-button:hover {
    border-color: var(--composer-accent) !important
}
.mailing-attachments input[type=file] {
    width: 100%;
    padding: .55rem;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    background: #fff;
    font-weight: 400
}
.mailing-attachments small {
    font-weight: 400;
    color: #667
}
.mailing-composer-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: .25rem
}
    .mailing-composer-actions .dxbl-btn {
        min-width: 9rem
    }
.mailing-composer-rhominds {
    --composer-text: #dff9f1;
    --composer-toolbar: rgba(255,255,255,.90)
}
.mailing-composer-youhealth {
    --composer-text: #082f2b
}
.mailing-composer .dxbl-text-edit, .mailing-attachments input[type=file] {
    color: var(--composer-text) !important
}
.mailing-composer .mailing-rich-edit .dxbl-text-edit {
    background: #fff !important;
    color: #212529 !important
}
.mailing-toast {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 10000;
    width: min(30rem, calc(100% - 2rem));
    display: grid;
    grid-template-columns: 2rem minmax(0,1fr) 1.5rem;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1rem;
    border: 1px solid currentColor;
    border-left-width: .35rem;
    border-radius: .4rem;
    box-shadow: 0 .75rem 2rem rgba(0,0,0,.28);
    font: 600 14px/1.4 system-ui,sans-serif;
    animation: mailing-toast-in .2s ease-out
}
.mailing-toast-success { background: #e8f7ee; border-color: #198754; color: #0f5132 }
.mailing-toast-error { background: #fce8e8; border-color: #c92a2a; color: #842029 }
.mailing-toast-warning { background: #fff4d6; border-color: #b7791f; color: #664d03 }
.mailing-toast-progress { background: #e7f1ff; border-color: #0d6efd; color: #084298 }
.mailing-toast-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 1.05rem;
    font-weight: 800
}
.mailing-toast > button {
    align-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer
}
@keyframes mailing-toast-in {
    from { opacity: 0; transform: translateY(-.5rem) }
    to { opacity: 1; transform: translateY(0) }
}
@media (prefers-reduced-motion: reduce) {
    .mailing-toast { animation: none }
}
@media (max-width: 520px) {
    .mailing-composer-message-head { align-items: stretch; flex-direction: column }
    .mailing-composer-message-head .mailing-template-button { width: 100% }
    .mailing-rich-edit .dx-htmleditor-content { padding: 12px !important }
    .mailing-recipient-tagbox input { min-width: 9rem }
    .mailing-delivery-privacy { grid-template-columns: 1fr }
}
.mailing-composer-panel {
    margin: 2rem 0;
    background: #0c1016;
    border: 1px solid #303946;
    padding: 1rem;
}
    .mailing-composer-panel > summary {
        cursor: pointer;
        font-size: 1.55rem;
        font-weight: 700;
        line-height: 1.2;
        list-style-position: outside
    }
.mailing-composer-panel-body {
    margin-top: 2rem
}
.mailing-composer-panel > summary {
    padding-left: .75rem
}
.mailing-composer-panel > summary {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding-left: .85rem;
    list-style: none
}
    .mailing-composer-panel > summary::-webkit-details-marker {
        display: none
    }
    .mailing-composer-panel > summary::before {
        content: "▶";
        flex: 0 0 auto;
        font-size: .72em;
        line-height: 1;
        transition: transform .15s ease
    }
.mailing-composer-panel[open] > summary::before {
    transform: rotate(90deg)
}
.mailing-composer-panel > summary {
    padding-left: .425rem
}
