.marketing-toolbar {
    align-items: center
}

.marketing-toolbar .eyebrow {
    margin: 0 0 .25rem
}

.marketing-tabs {
    margin-bottom: 1rem
}

.marketing-tabs .is-coming {
    opacity: .55;
    cursor: default
}

.marketing-tabs small {
    margin-left: .35rem;
    font-size: .65rem;
    text-transform: uppercase
}

.marketing-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 1rem
}

.marketing-summary-grid article {
    display: grid;
    gap: .2rem;
    padding: .8rem 1rem
}

.marketing-summary-grid span,
.marketing-summary-grid small {
    color: var(--muted)
}

.marketing-summary-grid strong {
    font-family: var(--font-heading);
    font-size: 1.3rem
}

.marketing-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem
}

.marketing-preview-panel,
.marketing-campaigns-panel {
    padding: 1.35rem
}

.marketing-create-panel {
    margin-bottom: 1rem
}

.marketing-inactive-notice {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem
}

.marketing-inactive-notice p,
.marketing-inactive-notice form {
    margin: 0
}

.marketing-inactive-notice p {
    line-height: 1.5
}

.marketing-accordion-content {
    padding: 1rem 1.15rem 1.15rem
}

.marketing-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem
}

.marketing-section-heading h2 {
    margin: .1rem 0;
    font-size: 1.35rem
}

.marketing-section-heading p {
    margin: .25rem 0;
    color: var(--muted)
}

.marketing-campaigns-panel {
    margin: 0 0 1rem
}

.marketing-create-form,
.marketing-edit-form {
    display: grid;
    gap: 1rem;
    margin: 0;
    max-width: 920px
}

.marketing-create-fields {
    border: 0;
    display: grid;
    gap: 1rem;
    margin: 0;
    min-width: 0;
    padding: 0
}

.marketing-demo-form-note {
    align-items: center;
    background: rgba(39, 200, 193, .08);
    border: 1px solid rgba(39, 200, 193, .28);
    border-radius: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .65rem;
    padding: .7rem .8rem
}

.marketing-demo-form-note strong {
    color: #32d6b0
}

.marketing-demo-form-note span {
    color: var(--muted);
    font-size: .85rem
}

.marketing-create-fields:disabled .marketing-preset,
.marketing-create-fields:disabled input,
.marketing-create-fields:disabled button {
    cursor: not-allowed
}

.marketing-create-form label:not(.switch-label)>span,
.marketing-edit-form label:not(.switch-label)>span,
.marketing-download-controls label:not(.switch-label)>span {
    display: block;
    margin-bottom: .35rem;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.marketing-create-form input,
.marketing-edit-form input,
.marketing-download-controls select {
    width: 100%;
    min-height: 44px
}

.marketing-create-form small,
.marketing-edit-form small {
    display: block;
    margin-top: .35rem;
    color: var(--muted)
}

.marketing-destination-presets {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem
}

.marketing-preset {
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--panel-2);
    color: var(--muted);
    font: inherit;
    font-size: .82rem;
    font-weight: 750;
    cursor: pointer
}

.marketing-preset.active {
    border-color: var(--accent);
    background: rgba(241, 57, 85, .13);
    color: var(--text)
}

.marketing-brand-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .9rem
}

.marketing-brand-controls legend {
    padding: 0 .35rem;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase
}

.marketing-brand-controls input[type=color] {
    padding: .25rem
}

.marketing-palette-check {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .65rem .7rem;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--panel-2);
    color: var(--muted);
    font-size: .82rem
}

.marketing-contrast-control {
    grid-column: 1/-1;
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.marketing-contrast-control legend {
    padding: 0;
    margin-bottom: .5rem;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--muted);
}

.marketing-toggle-field {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0
}

.marketing-toggle-field > label {
    margin: 0;
    font-size: .85rem;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0
}

.marketing-contrast-control small {
    display: block;
    margin-top: .45rem;
    color: var(--muted);
    font-size: .78rem;
}

.marketing-palette-check.is-safe {
    border-color: rgba(13, 148, 136, .35);
    color: var(--success-text)
}

.marketing-palette-check.is-warning {
    border-color: rgba(245, 158, 11, .45);
    color: var(--warning-text, #b45309)
}

.marketing-palette-check.is-safe [data-qr-safe-palette] {
    display: none
}

.marketing-limit-note {
    margin: 0;
    color: #fbbf24;
    font-size: .88rem
}

.marketing-preview-body {
    display: grid;
    grid-template-columns: minmax(230px, 320px) minmax(280px, 1fr);
    gap: 1.5rem;
    align-items: start
}

.marketing-preview-column {
    display: grid;
    gap: .8rem;
    min-width: 0;
    position: sticky;
    top: 1rem
}

.marketing-edit-form.marketing-qr-editor {
    min-width: 0;
    width: 100%;
    max-width: none;
    align-items: start;
    gap: 1.5rem
}

.marketing-editor-fields {
    display: grid;
    gap: 1rem;
    min-width: 0
}

.marketing-export-panel {
    display: grid;
    gap: 1rem;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel-2);
    padding: 1.15rem
}

.marketing-export-panel h3 {
    font-size: 1.05rem;
    margin: 0
}

.marketing-export-note {
    font-size: .82rem;
    color: var(--muted);
    margin: 0;
    line-height: 1.5
}

.marketing-editor-group.marketing-export-options {
    border: 0;
    padding: 0
}

.marketing-export-panel .marketing-download-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border-top: 1px solid var(--line);
    padding-top: 1rem
}

@media(min-width:1440px) {
    .marketing-edit-form.marketing-qr-editor {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 320px)
    }

    .marketing-export-panel .marketing-studio-row-2 {
        grid-template-columns: minmax(0, 1fr)
    }
}

.marketing-editor-group {
    display: grid;
    gap: .8rem;
    border: 0;
    border-top: 1px solid var(--line);
    min-width: 0;
    margin: 0;
    padding: .9rem 0 0
}

.marketing-editor-group legend {
    font-size: .95rem;
    font-weight: 800;
    padding: 0 .6rem 0 0
}

.marketing-editor-save {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    padding-top: .85rem;
    border-top: 1px solid var(--line)
}

[data-qr-save-status] {
    font-size: .82rem;
    color: var(--muted)
}

[data-qr-save-status][data-state="saved"] {
    color: var(--success-text)
}

[data-qr-save-status][data-state="error"] {
    color: var(--danger-text)
}

.qr-preview-wrap {
    aspect-ratio: 1;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
    width: 100%
}

.qr-preview-wrap canvas {
    display: block;
    width: 100%;
    height: 100%
}

.marketing-download-controls {
    display: grid;
    gap: .8rem
}

.marketing-selected-destination {
    background: var(--panel-2);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .25rem;
    padding: .75rem .9rem
}

.marketing-selected-destination span {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.marketing-selected-destination strong {
    font-size: .88rem;
    overflow-wrap: anywhere
}

.marketing-studio-options {
    border-left-color: var(--accent)
}

.marketing-studio-options-body {
    display: grid;
    gap: .75rem;
    padding: .9rem
}

.marketing-editor-group.marketing-studio-options-body {
    padding: .9rem 0 0
}

.marketing-demo-download-note {
    background: rgba(39, 200, 193, .08);
    border: 1px solid rgba(39, 200, 193, .28);
    border-radius: 9px;
    color: var(--muted);
    font-size: .82rem;
    margin: 0;
    padding: .7rem .8rem
}

.marketing-demo-download-note strong {
    color: #32d6b0
}

.marketing-studio-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem
}

.marketing-studio-row-2 input[type=color] {
    width: 100%;
    min-height: 42px;
    padding: .25rem;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--panel-2);
    cursor: pointer
}

.marketing-transparent-toggle {
    display: flex;
    align-items: center;
    gap: .55rem;
    cursor: pointer;
    margin-top: 1.4rem
}

.marketing-transparent-toggle input {
    width: 18px;
    min-height: 18px;
    cursor: pointer
}

.marketing-transparent-toggle span {
    margin: 0;
    color: var(--text);
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none
}

.marketing-download-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.marketing-download-actions .btn:disabled {
    cursor: not-allowed;
    opacity: .48
}

.marketing-render-status {
    min-height: 1.2rem;
    margin: 0;
    color: var(--muted);
    font-size: .82rem
}

.marketing-download-controls details code {
    display: block;
    margin-top: .5rem;
    overflow-wrap: anywhere;
    color: var(--text)
}

.qr-status-active {
    color: #32d6b0
}

.qr-status-inactive {
    color: #fb7185
}

.marketing-bulk-panel,
.marketing-edit-panel {
    margin-top: 1rem
}

.marketing-bulk-panel form,
.marketing-edit-panel form {
    margin-top: 0
}

.marketing-campaign-main[aria-busy="true"] {
    opacity: .58;
    pointer-events: none
}

.marketing-preview-panel[aria-busy="true"] {
    opacity: .64;
    transition: opacity .18s ease
}

.marketing-gig-choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin: 1rem 0
}

.marketing-gig-choices label {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: .8rem
}

.marketing-gig-choices span {
    display: grid
}

.marketing-gig-choices small {
    color: var(--muted)
}

.marketing-view-switch {
    display: flex;
    gap: .35rem;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: .25rem
}

.marketing-view-switch a {
    padding: .45rem .7rem;
    border-radius: 7px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 750;
    text-decoration: none
}

.marketing-view-switch a.active {
    background: var(--accent);
    color: #fff
}

.marketing-campaign-list {
    display: grid;
    gap: .55rem
}

.marketing-campaign-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: .85rem 1rem
}

.marketing-campaign-card.is-selected {
    border-color: #27c8c1;
    box-shadow: inset 3px 0 #27c8c1
}

.marketing-campaign-main {
    display: grid;
    gap: .15rem;
    min-width: 0;
    color: var(--text);
    text-decoration: none
}

.marketing-campaign-main small {
    overflow: hidden;
    color: var(--muted);
    text-overflow: ellipsis;
    white-space: nowrap
}

.marketing-campaign-type {
    color: var(--accent);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase
}

.marketing-campaign-stats {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--muted);
    font-size: .76rem
}

.marketing-campaign-stats span {
    display: grid
}

.marketing-campaign-stats strong {
    color: var(--text);
    font-size: 1rem
}

.marketing-card-menu {
    position: relative
}

.marketing-card-menu>summary {
    cursor: pointer;
    list-style: none;
    padding: .4rem;
    color: var(--muted);
    font-weight: 900
}

.marketing-card-menu>div {
    position: absolute;
    right: 0;
    z-index: 10;
    min-width: 145px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--panel);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .4);
    padding: .35rem
}

.marketing-card-menu a,
.marketing-card-menu button {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text);
    padding: .55rem .65rem;
    text-align: left;
    text-decoration: none;
    font: inherit;
    font-size: .82rem;
    cursor: pointer
}

.marketing-card-menu .danger {
    color: #fb7185
}

.marketing-empty {
    padding: 2rem;
    text-align: center;
    color: var(--muted)
}

.marketing-empty strong {
    display: block;
    color: var(--text);
    font-size: 1.1rem
}

.marketing-empty p {
    margin: .35rem 0
}

.marketing-pagination {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1rem
}

.marketing-pagination span {
    color: var(--muted, #9ca3af);
    font-size: .85rem;
    font-weight: 700
}

.marketing-limit-note+* {
    margin-top: 0
}

@media(max-width:900px) {

    .marketing-summary-grid,
    .marketing-workspace {
        grid-template-columns: 1fr
    }

    .marketing-preview-body {
        grid-template-columns: minmax(180px, 260px) minmax(0, 1fr)
    }

    .marketing-campaign-card {
        grid-template-columns: 1fr auto
    }

    .marketing-campaign-stats {
        grid-row: 2
    }

    .marketing-gig-choices {
        grid-template-columns: 1fr
    }
}

@media(max-width:620px) {
    .marketing-summary-grid {
        grid-template-columns: 1fr
    }

    .marketing-preview-body {
        grid-template-columns: 1fr
    }

    .marketing-preview-column {
        position: static
    }

    .marketing-studio-row-2 {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)
    }

    .marketing-qr-editor label,
    .marketing-qr-editor input,
    .marketing-qr-editor select {
        min-width: 0
    }

    .qr-preview-wrap {
        max-width: 300px;
        margin: auto
    }

    .marketing-campaign-card {
        grid-template-columns: 1fr auto
    }

    .marketing-campaign-stats {
        grid-column: 1/-1;
        justify-content: flex-start
    }

    .marketing-section-heading {
        display: grid
    }

    .marketing-view-switch {
        overflow-x: auto
    }

    .marketing-destination-presets,
    .marketing-brand-controls {
        grid-template-columns: 1fr
    }

    .marketing-palette-check {
        grid-column: 1;
        align-items: flex-start;
        flex-direction: column
    }

    .marketing-toolbar {
        align-items: flex-start
    }

    .marketing-pagination {
        justify-content: space-between
    }
}
