/* Campaign Core visual contract. Kept separate so the operational workspace
   always loads after the shared application stylesheet. */
.content.campaign-workspace-canvas{width:100%;max-width:none;min-width:0;margin:0;padding:0!important}.content.campaign-workspace-canvas>.page-heading{box-sizing:border-box;margin:0;padding:28px 30px 0}.campaign-workspace,.campaign-creation-workspace{display:grid;gap:20px;width:100%;max-width:none;min-width:0;margin:0;padding:0 30px 40px;box-sizing:border-box}.campaign-mode-selector{width:100%;max-width:none;margin:0;box-sizing:border-box}
.template-variable-samples{display:grid;gap:6px;margin-top:12px;color:#56476d;font-size:11px;font-weight:750}.template-variable-samples input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.template-variable-samples small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}
.template-cta-button-builder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.template-cta-button-builder button{display:grid;gap:3px;min-height:66px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.template-cta-button-builder button.is-selected{border-color:#a78bfa;background:#faf7ff;box-shadow:inset 0 0 0 1px #ddd6fe}.template-cta-button-builder strong{font-size:11px}.template-cta-button-builder small{color:var(--muted);font-size:10px;font-weight:500}@media(max-width:520px){.template-cta-button-builder{grid-template-columns:1fr}}
.campaign-primary-tabs{display:inline-flex;justify-self:start;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(40,20,70,.04)}.campaign-primary-tabs button{border:0;border-radius:9px;background:transparent;color:var(--muted);padding:9px 13px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.campaign-primary-tabs button.is-active{background:#f0eaff;color:#6327c9;box-shadow:inset 0 0 0 1px #ded0ff}
.campaign-creation-workspace{display:grid;gap:20px;width:100%;max-width:none;min-width:0;margin:0;padding:0 30px 40px;box-sizing:border-box}.campaign-creation-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:2px 0 18px;border-bottom:1px solid var(--line)}.campaign-creation-header .text-button{margin:0 0 9px;padding:0}.campaign-creation-header .eyebrow{margin:0 0 5px}.campaign-creation-header h1{margin:0;color:var(--ink);font-size:30px;letter-spacing:-1px}.campaign-creation-header p{max-width:760px;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.campaign-mode-creation{max-width:none}.campaign-mode-creation>.campaign-creation-header{border:0;padding-bottom:0}.campaign-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:0;background:transparent;box-shadow:none}.campaign-mode-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(40,20,70,.04)}.campaign-mode-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f1ebff;color:#6d28d9}.campaign-mode-card svg{width:20px;height:20px}.campaign-mode-card h2{margin:2px 0 5px;color:var(--ink);font-size:16px}.campaign-mode-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.campaign-mode-card .button{grid-column:2;justify-self:start;margin-top:2px}
.campaign-template-manager,.campaign-approved-next,.campaign-creation-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(40,20,70,.04)}.campaign-template-manager>header,.campaign-approved-next{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid var(--line)}.campaign-template-manager h2,.campaign-approved-next h2,.campaign-creation-card h2{margin:3px 0 0;color:var(--ink);font-size:19px;letter-spacing:-.5px}.campaign-template-manager p,.campaign-approved-next p,.campaign-creation-card header p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.campaign-template-table{display:grid;gap:0;margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.campaign-template-table>div,.campaign-template-table article{display:grid;grid-template-columns:1.4fr .8fr .55fr .9fr .75fr;gap:12px;align-items:center;padding:12px 14px}.campaign-template-table>div{background:#faf8fd;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.campaign-template-table article{border-top:1px solid var(--line);font-size:12px}.campaign-template-table article strong{color:var(--ink)}.campaign-template-table article span:last-child{color:#6d28d9;font-weight:800}.campaign-template-table>p{padding:16px;margin:0;color:var(--muted);font-size:12px}.campaign-approved-next{border-bottom:0;align-items:center}.campaign-approved-next p{max-width:720px}
.campaign-channel-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.campaign-channel-editor-main{display:grid;gap:14px}.campaign-creation-card{display:grid;gap:14px}.campaign-creation-card>header>span,.campaign-live-preview>span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.075em}.campaign-creation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-creation-card label{display:grid;gap:6px;color:#56476d;font-size:11px;font-weight:750}.campaign-creation-card input,.campaign-creation-card select,.campaign-creation-card textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.campaign-creation-card textarea{min-height:150px;resize:vertical;line-height:1.55}.campaign-field-wide{grid-column:1 / -1}.campaign-audience-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;border-radius:12px;background:#faf8fd}.campaign-audience-summary strong{color:var(--ink);font-size:14px}.campaign-audience-summary span,.campaign-readiness-copy{color:var(--muted);font-size:11px;line-height:1.45}.campaign-readiness-copy{margin:0;padding:11px;border-radius:10px;background:#faf7ff;color:#6043a1}.campaign-cta-panel{display:grid;gap:10px;padding:13px;border:1px solid #e3d9f4;border-radius:13px;background:#faf8ff}.campaign-cta-panel strong{color:var(--ink);font-size:13px}.campaign-cta-panel p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.campaign-cta-panel .campaign-creation-fields{margin-top:2px}.campaign-interval-fields{align-items:start}.campaign-field-help{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.45}.campaign-live-preview{position:sticky;top:18px;display:grid;gap:10px;min-height:330px;padding:20px;border:1px solid #d9c8ff;border-radius:22px;background:linear-gradient(180deg,#f7f3ff,#fff);box-shadow:0 12px 32px rgba(70,35,130,.08)}.campaign-live-preview strong{color:var(--ink);font-size:16px}.campaign-live-preview small,.campaign-live-preview p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.campaign-live-preview p{padding:14px;border-radius:14px;background:#dcf8c6;color:#31452f}.campaign-live-preview button{justify-self:start;border:0;border-radius:9px;background:#fff;color:#6d28d9;padding:9px 11px;font:inherit;font-size:11px;font-weight:800;box-shadow:0 2px 8px rgba(40,20,70,.08)}.campaign-preview-cta{border:1px solid #cdb8f3!important;background:#f2ecff!important;color:#5e34c6!important}.email-live-preview{background:linear-gradient(180deg,#fff,#f8fbff)}.email-live-preview p{background:#fff;border:1px solid var(--line);color:var(--ink)}.campaign-creation-footer{grid-column:1 / -1;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0 0;border-top:1px solid var(--line)}.campaign-creation-footer small{max-width:560px;color:var(--muted);font-size:11px;line-height:1.5}.campaign-creation-footer>div{display:flex;gap:8px;flex-wrap:wrap}
.campaign-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(40,20,70,.04)}.campaign-mode-grid>header{grid-column:1 / -1;padding-bottom:3px}.campaign-mode-grid h2{margin:5px 0;color:var(--ink);font-size:21px;letter-spacing:-.6px}.campaign-mode-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.campaign-mode-grid article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:15px;background:#faf8fd}.campaign-mode-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f1ebff;color:#6d28d9}.campaign-mode-grid svg{width:18px;height:18px}.campaign-mode-grid h3{margin:0 0 3px;color:var(--ink);font-size:14px}.campaign-mode-grid .button{white-space:nowrap}
.campaign-mode-selector{display:grid;gap:18px;width:100%;max-width:none;margin:0;padding:28px;box-sizing:border-box;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(40,20,70,.08)}.campaign-mode-selector h2{margin:5px 0;color:var(--ink);font-size:26px}.campaign-mode-selector p{margin:0;color:var(--muted);line-height:1.5}.campaign-mode-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-mode-selector>div button{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#faf8fd;color:var(--ink);text-align:left;cursor:pointer}.campaign-mode-selector>div button:hover{border-color:#a78bfa;background:#faf7ff}.campaign-mode-selector strong{font-size:15px}.campaign-mode-selector small{color:var(--muted);font-size:11px;line-height:1.45}.campaign-mode-selector span{color:#6d28d9;font-size:11px;font-weight:800}
.campaign-workspace-heading{display:flex;justify-content:flex-end;align-items:center;gap:16px}
.campaign-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.campaign-kpi{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:122px;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(40,20,70,.04)}
.campaign-kpi>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#f1ebff;color:#6d28d9}
.campaign-kpi svg{width:19px;height:19px}.campaign-kpi small,.campaign-kpi p{display:block;margin:0;color:var(--muted);font-size:11px}.campaign-kpi strong{display:block;margin:4px 0;color:var(--ink);font-size:27px;letter-spacing:-1px}
.campaign-readiness-note{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid #ded4ff;border-radius:15px;background:#faf7ff;color:#4c1d95}.campaign-readiness-note>span{display:grid;place-items:center}.campaign-readiness-note svg{width:18px;height:18px}.campaign-readiness-note p{margin:0;font-size:13px;line-height:1.45}
.campaign-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.campaign-list-panel,.campaign-detail-panel,.campaign-builder{min-width:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(40,20,70,.04)}
.campaign-list-panel>header,.campaign-detail-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.campaign-list-panel h2,.campaign-detail-panel h2{margin:0;color:var(--ink);font-size:19px;letter-spacing:-.55px}.campaign-list-panel p,.campaign-detail-panel header p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.campaign-list-panel>header>span{white-space:nowrap;color:#6d28d9;font-size:12px;font-weight:800}
.campaign-record-table{display:grid;margin-top:14px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.campaign-record-head,.campaign-record-row{display:grid;grid-template-columns:minmax(170px,1.45fr) minmax(86px,.82fr) minmax(120px,.9fr) minmax(96px,.72fr) minmax(112px,.86fr) minmax(112px,.85fr);gap:12px;align-items:center}.campaign-record-head{padding:11px 14px;background:#faf8fd;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.campaign-record-row{width:100%;padding:14px;border:0;border-top:1px solid var(--line);background:#fff;color:inherit;text-align:left;cursor:pointer}.campaign-record-row:hover,.campaign-record-row.is-selected{background:#faf7ff;box-shadow:inset 3px 0 0 #7c3aed}.campaign-record-row strong,.campaign-record-row small{display:block}.campaign-record-row strong{color:var(--ink);font-size:12px;line-height:1.35}.campaign-record-row small,.campaign-record-row time{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.campaign-record-name{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center}.campaign-record-name>i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f1ebff;color:#6d28d9}.campaign-record-name svg{width:15px;height:15px}.campaign-next-action{color:#6d28d9;font-size:11px;font-weight:750;line-height:1.35}
.campaign-detail-panel{display:grid;gap:16px}.campaign-detail-panel header{padding-bottom:14px}.campaign-detail-panel .eyebrow{margin-bottom:5px}.campaign-detail-panel dl,.campaign-builder-summary dl{display:grid;gap:0;margin:0}.campaign-detail-panel dl>div,.campaign-builder-summary dl>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.campaign-detail-panel dt,.campaign-builder-summary dt{color:var(--muted);font-size:11px}.campaign-detail-panel dd,.campaign-builder-summary dd{max-width:61%;margin:0;color:var(--ink);font-size:12px;font-weight:700;text-align:right;line-height:1.45}.campaign-detail-panel dd small,.campaign-builder-summary dd small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}.campaign-detail-content,.campaign-detail-people{display:grid;gap:7px;padding:13px;border-radius:14px;background:#faf8fd}.campaign-detail-content>span,.campaign-detail-people>span,.campaign-builder-summary>span,.campaign-content-preview>span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.075em}.campaign-detail-content p{margin:0;color:var(--ink);font-size:12px;line-height:1.55}.campaign-detail-people small{color:var(--muted);font-size:11px}.campaign-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.campaign-detail-actions .button{width:100%;justify-content:center}
.campaign-builder{display:grid;gap:20px}.campaign-builder-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:17px;border-bottom:1px solid var(--line)}.campaign-builder-top .eyebrow{margin:0 0 5px}.campaign-builder-top h2{margin:0;color:var(--ink);font-size:22px;letter-spacing:-.7px}.campaign-builder-top p{margin:6px 0 0;color:var(--muted);font-size:12px}.campaign-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.campaign-builder-stack{display:grid;gap:14px}.campaign-builder-section{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.campaign-builder-section>header{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:15px}.campaign-builder-section>header>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f1ebff;color:#6d28d9;font-size:11px;font-weight:850}.campaign-builder-section h3{margin:1px 0 0;color:var(--ink);font-size:14px}.campaign-builder-section header p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.campaign-builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-builder-fields label{display:grid;gap:6px;color:#56476d;font-size:11px;font-weight:750}.campaign-builder-fields input,.campaign-builder-fields select,.campaign-builder-fields textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.campaign-builder-fields textarea{min-height:112px;resize:vertical;line-height:1.5}.campaign-builder-full{grid-column:1 / -1}.campaign-builder-field-note{grid-column:1 / -1;padding:10px 11px;border-radius:10px;background:#faf7ff;color:#6d28d9;font-size:11px;line-height:1.45}.campaign-channel-options{display:grid;gap:9px}.campaign-channel-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.campaign-channel-option:has(input:checked),.campaign-channel-option.is-selected{border-color:#a78bfa;background:#faf7ff;box-shadow:inset 0 0 0 1px #ddd6fe}.campaign-channel-option input{width:16px;height:16px;margin:0;accent-color:#6d28d9}.campaign-channel-option strong,.campaign-channel-option small{display:block}.campaign-channel-option strong{color:var(--ink);font-size:12px}.campaign-channel-option small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.campaign-readiness{padding:4px 7px;border-radius:999px;background:#f1ebff;color:#6d28d9;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.campaign-readiness.ready{background:#e7f8ee;color:#187a46}.campaign-readiness.blocked{background:#fff0e8;color:#c05715}.campaign-audience-preview{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;padding:13px;border-radius:13px;background:#faf8fd}.campaign-audience-preview span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.065em}.campaign-audience-preview strong{display:block;margin-top:4px;color:var(--ink);font-size:14px}.campaign-audience-preview p{margin:3px 0 0;color:var(--muted);font-size:11px}.campaign-audience-people{display:grid;gap:8px;margin-top:10px}.campaign-audience-people article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px}.campaign-audience-people b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f1ebff;color:#6d28d9;font-size:10px}.campaign-audience-people strong,.campaign-audience-people small{display:block}.campaign-audience-people strong{color:var(--ink);font-size:11px}.campaign-audience-people small,.campaign-audience-people>p{color:var(--muted);font-size:10px}.campaign-audience-people article>span{color:#6d28d9;font-size:10px;font-weight:750}.campaign-content-preview{display:grid;gap:7px;margin-top:12px;padding:13px;border:1px solid #e9e2fb;border-radius:13px;background:#faf7ff}.campaign-content-preview strong{color:var(--ink);font-size:13px}.campaign-content-preview small,.campaign-content-preview p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.campaign-builder-summary{position:sticky;top:18px;display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#faf8fd}.campaign-builder-summary h3{margin:0;color:var(--ink);font-size:16px;line-height:1.35}.campaign-builder-actions{display:flex;justify-content:space-between;gap:14px;align-items:center}.campaign-builder-actions>small{max-width:300px;color:var(--muted);font-size:11px;line-height:1.45}.campaign-builder-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.campaign-builder-check{align-content:center;grid-template-columns:16px minmax(0,1fr);align-items:center}.campaign-builder-check input{width:16px!important;padding:0!important}
@media(max-width:1120px){.campaign-workspace-grid{grid-template-columns:1fr}.campaign-detail-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-detail-panel>header,.campaign-detail-actions{grid-column:1 / -1}.campaign-builder-layout{grid-template-columns:1fr}.campaign-builder-summary{position:static}.campaign-record-table{overflow:auto}.campaign-record-head,.campaign-record-row{min-width:820px}}
@media(max-width:720px){.campaign-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-builder-fields{grid-template-columns:1fr}.campaign-builder-full{grid-column:auto}.campaign-builder-top,.campaign-builder-actions,.campaign-audience-preview{align-items:stretch;flex-direction:column}.campaign-builder-top .text-button,.campaign-audience-preview .button{align-self:flex-start}.campaign-builder-actions>div{justify-content:flex-start}.campaign-detail-panel{grid-template-columns:1fr}.campaign-channel-option{grid-template-columns:18px minmax(0,1fr)}.campaign-readiness{grid-column:2}.campaign-workspace-heading .button{width:100%;justify-content:center}}
@media(max-width:620px){.campaign-mode-selector{margin:0;padding:18px}.campaign-mode-selector>div{grid-template-columns:1fr}}
@media(max-width:900px){.campaign-channel-editor{grid-template-columns:1fr}.campaign-live-preview{position:static;min-height:220px}.campaign-template-table{overflow:auto}.campaign-template-table>div,.campaign-template-table article{min-width:720px}}
@media(max-width:760px){.campaign-creation-header,.campaign-template-manager>header,.campaign-approved-next,.campaign-creation-footer{align-items:stretch;flex-direction:column}.campaign-creation-header .button,.campaign-template-manager .button{align-self:flex-start}.campaign-mode-grid{grid-template-columns:1fr}.campaign-mode-card{grid-template-columns:38px minmax(0,1fr)}.campaign-mode-card .button{grid-column:2;justify-self:start}.campaign-creation-fields{grid-template-columns:1fr}.campaign-field-wide{grid-column:auto}}
@media(max-width:460px){.campaign-kpis{grid-template-columns:1fr}.campaign-kpi{min-height:auto}.campaign-list-panel,.campaign-detail-panel,.campaign-builder{padding:15px}.campaign-builder-section{padding:14px}.campaign-detail-panel dl>div,.campaign-builder-summary dl>div{align-items:flex-start;flex-direction:column;gap:4px}.campaign-detail-panel dd,.campaign-builder-summary dd{max-width:none;text-align:left}}

/* Campaign media is one library of references, not repeated file fields. */
.campaign-media-section{display:grid;gap:12px;margin-top:4px;padding-top:15px;border-top:1px solid var(--line)}.campaign-media-section>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.campaign-media-section header>div:first-child>span,.campaign-execution-panel>div:first-child>span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.075em}.campaign-media-section h3,.campaign-execution-panel h3{margin:3px 0 0;color:var(--ink);font-size:14px}.campaign-media-section p,.campaign-execution-panel p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.campaign-media-actions{display:flex;flex-wrap:wrap;gap:7px}.campaign-media-actions .button{position:relative;display:inline-flex;align-items:center;gap:5px}.campaign-media-actions input,.campaign-media-selected .text-button input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0;cursor:pointer}.campaign-media-selected .text-button{position:relative;display:inline-flex;align-items:center}.campaign-media-selected{display:grid;gap:8px}.campaign-media-selected article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:#faf8fd}.campaign-media-thumb{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border-radius:10px;background:#f0eaff;color:#6d28d9}.campaign-media-thumb img{width:100%;height:100%;object-fit:cover}.campaign-media-selected strong,.campaign-media-selected small{display:block}.campaign-media-selected strong{color:var(--ink);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-media-selected small,.campaign-media-empty{margin:3px 0 0;color:var(--muted);font-size:10px}.campaign-media-selected .text-button{padding:0;font-size:11px}.campaign-media-library{display:grid;gap:11px;padding:12px;border:1px dashed #cbb8fc;border-radius:13px;background:#faf7ff}.campaign-media-library>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.campaign-media-library strong{color:var(--ink);font-size:12px}.campaign-media-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.campaign-media-library-grid button{display:grid;gap:5px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.campaign-media-library-grid img,.campaign-media-library-grid button>span{width:100%;height:76px;object-fit:cover;border-radius:7px;background:#f3edff}.campaign-media-library-grid button>span{display:grid;place-items:center;color:#6d28d9}.campaign-media-library-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.campaign-media-library-grid small{color:var(--muted);font-size:10px}.campaign-preview-media{width:100%;max-height:170px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.campaign-execution-panel{grid-column:1 / -1;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 16px;border:1px solid #ded4ff;border-radius:16px;background:#faf7ff}.campaign-execution-panel>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.campaign-execution-panel button:disabled{opacity:.6;cursor:not-allowed}.template-builder [data-template-campaign-media] .campaign-media-section{margin-top:10px}.template-builder [data-template-campaign-media] .campaign-media-actions{margin-top:7px}@media(max-width:720px){.campaign-media-section>header,.campaign-execution-panel{align-items:stretch;flex-direction:column}.campaign-media-actions .button{justify-content:center}.campaign-media-selected article{grid-template-columns:42px minmax(0,1fr)}.campaign-media-selected article .text-button{justify-self:start}.campaign-media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.campaign-template-facts{display:flex;flex-wrap:wrap;gap:8px}.campaign-template-facts span{display:inline-flex;gap:5px;align-items:center;padding:7px 9px;border-radius:999px;background:#f4efff;color:#7054a3;font-size:10px}.campaign-template-facts strong{color:#4b278d;font-size:10px}

/* Campaign operations keeps the list as the primary surface and the selected
   Campaign as a compact operational detail. Delivery values are intentionally
   styled only when a real worker/provider record supplies them. */
.campaign-control-actions{display:flex;justify-content:flex-end}.campaign-operation-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.campaign-operation-heading h1{margin:2px 0 0;color:var(--ink);font-size:28px;letter-spacing:-.8px}.campaign-operation-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.campaign-control-center .campaign-kpi{grid-template-columns:1fr;gap:5px;align-content:center}.campaign-control-center .campaign-kpi>span{display:block;width:auto;height:auto;background:transparent;color:var(--muted);font-size:11px;font-weight:800}.campaign-control-center .campaign-kpi strong{margin:0}.campaign-control-list .campaign-record-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px;align-items:center;padding:0}.campaign-record-select{display:grid;grid-template-columns:minmax(170px,1.45fr) minmax(86px,.82fr) minmax(120px,.9fr) minmax(96px,.72fr) minmax(112px,.86fr);gap:12px;align-items:center;width:100%;padding:14px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.campaign-control-list .campaign-next-action{padding-right:14px}.campaign-control-list .campaign-next-action .text-button{font-size:11px;white-space:normal;text-align:left}.campaign-control-center .campaign-detail-panel{align-content:start}.campaign-delivery-monitor{display:grid;gap:12px;padding:14px;border:1px solid #e6dcfb;border-radius:14px;background:#faf8fd}.campaign-delivery-monitor header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:0;border:0}.campaign-delivery-monitor header span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.075em}.campaign-delivery-monitor h3{margin:4px 0 0;color:var(--ink);font-size:14px}.campaign-delivery-monitor p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.campaign-delivery-empty{background:#fff}.campaign-delivery-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campaign-delivery-metrics article{display:grid;gap:4px;padding:10px;border-radius:10px;background:#fff}.campaign-delivery-metrics span,.campaign-delivery-recipients small{color:var(--muted);font-size:10px}.campaign-delivery-metrics strong{color:var(--ink);font-size:17px}.campaign-delivery-recipients{display:grid;gap:8px}.campaign-delivery-recipients>div,.campaign-delivery-recipients article{display:flex;justify-content:space-between;gap:12px;align-items:center}.campaign-delivery-recipients article{padding:9px 0;border-top:1px solid var(--line)}.campaign-delivery-recipients article strong,.campaign-delivery-recipients article small{display:block}.campaign-delivery-recipients article strong{color:var(--ink);font-size:11px}.campaign-operation-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.campaign-operation-main{display:grid;gap:16px}.campaign-operation-card{display:grid;gap:15px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(40,20,70,.04)}.campaign-operation-card>header span{color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.075em}.campaign-operation-card h2{margin:4px 0 0;color:var(--ink);font-size:18px}.campaign-operation-card header p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.campaign-operation-card dl{display:grid;gap:0;margin:0}.campaign-operation-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.campaign-operation-card dt,.campaign-operation-fields span{color:var(--muted);font-size:11px}.campaign-operation-card dd{margin:0;color:var(--ink);font-size:12px;font-weight:750;text-align:right}.campaign-operation-content{display:grid;gap:12px}.campaign-operation-content>p{margin:0;color:var(--ink);font-size:13px;line-height:1.6}.campaign-operation-content>div{display:grid;gap:5px;padding:12px;border-radius:12px;background:#faf8fd}.campaign-operation-content strong{color:#6d28d9;font-size:10px;letter-spacing:.07em}.campaign-operation-content small{color:var(--muted);font-size:11px}.campaign-operation-card footer{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:2px}.campaign-operation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-operation-fields>div{display:grid;gap:5px;padding:12px;border-radius:12px;background:#faf8fd}.campaign-operation-fields strong{color:var(--ink);font-size:12px}.campaign-operation-side .campaign-detail-panel{position:sticky;top:18px}.campaign-operation-side .campaign-delivery-monitor{display:none}
@media(max-width:1120px){.campaign-operation-layout{grid-template-columns:1fr}.campaign-operation-side .campaign-detail-panel{position:static}.campaign-control-list .campaign-record-row{grid-template-columns:minmax(820px,1fr) 108px;min-width:928px}.campaign-control-list{overflow:auto}.campaign-control-list .campaign-record-head{min-width:820px}.campaign-record-select{grid-template-columns:minmax(170px,1.45fr) minmax(86px,.82fr) minmax(120px,.9fr) minmax(96px,.72fr) minmax(112px,.86fr)}}
@media(max-width:720px){.campaign-control-heading,.campaign-operation-heading,.campaign-operation-card footer{align-items:stretch;flex-direction:column}.campaign-control-heading .button,.campaign-operation-heading .button,.campaign-operation-card footer .button{width:100%;justify-content:center}.campaign-operation-fields{grid-template-columns:1fr}.campaign-operation-side .campaign-detail-panel{display:none}.campaign-delivery-metrics{grid-template-columns:1fr}}

/* The Production adapter uses the same Campaign Core visual contract as the
   Demo renderer while keeping its records and actions behind /v1. */
.production-campaign-workspace .campaign-workspace-heading{justify-content:space-between}.production-campaign-workspace .campaign-workspace-heading h1{margin:0;color:var(--ink);font-size:28px;letter-spacing:-.8px}.production-campaign-workspace .campaign-workspace-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.production-campaign-workspace .campaign-kpis>article{display:grid;gap:5px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(40,20,70,.04)}.production-campaign-workspace .campaign-kpis span{color:var(--muted);font-size:11px;font-weight:750}.production-campaign-workspace .campaign-kpis strong{color:var(--ink);font-size:27px;letter-spacing:-1px}.production-campaign-workspace .campaign-kpis small{color:var(--muted);font-size:11px}.campaign-workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.campaign-panel-heading,.campaign-detail-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}.campaign-panel-heading h2,.campaign-detail-heading h2{margin:0;color:var(--ink);font-size:19px;letter-spacing:-.55px}.campaign-panel-heading p,.campaign-detail-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.campaign-status-badge{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#f1ebff;color:#6d28d9;font-size:10px;font-weight:800}.campaign-status-badge.is-ready{background:#fff3db;color:#9a5b00}.campaign-status-badge.is-approved{background:#e7f8ee;color:#187a46}.campaign-status-badge.is-scheduled{background:#e8f1ff;color:#255db8}.campaign-detail-copy,.campaign-safe-note{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.campaign-detail-empty{align-content:start;min-height:250px}.production-campaign-workspace .campaign-record-head,.production-campaign-workspace .campaign-record-row{grid-template-columns:minmax(180px,1.7fr) minmax(112px,.8fr) minmax(86px,.65fr) minmax(100px,.78fr)}.production-campaign-workspace .campaign-builder>header{display:flex;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid var(--line)}.production-campaign-workspace .campaign-builder>header p{margin:0 0 5px;color:#6d28d9;font-size:10px;font-weight:850;letter-spacing:.08em}.production-campaign-workspace .campaign-builder>header h2{margin:0;color:var(--ink);font-size:22px;letter-spacing:-.7px}.production-campaign-workspace .campaign-builder>header span{display:block;margin-top:6px;color:var(--muted);font-size:12px}.production-campaign-workspace .campaign-builder-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px}.production-campaign-workspace .campaign-builder-section>div:first-child{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-content:start}.production-campaign-workspace .campaign-builder-section>div:first-child>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f1ebff;color:#6d28d9;font-size:11px;font-weight:850}.production-campaign-workspace .campaign-builder-section h3{margin:7px 0 0}.production-campaign-workspace .campaign-builder-section>label{display:grid;gap:6px;color:#56476d;font-size:11px;font-weight:750}.production-campaign-workspace .campaign-builder-section input,.production-campaign-workspace .campaign-builder-section select,.production-campaign-workspace .campaign-builder-section textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.production-campaign-workspace .campaign-builder-section textarea{min-height:112px;resize:vertical;line-height:1.5}.production-campaign-workspace .campaign-builder-section>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.production-campaign-workspace .campaign-builder-section:has(>label:nth-of-type(2)){grid-template-columns:180px repeat(2,minmax(0,1fr))}.production-campaign-workspace .campaign-builder-section .production-button{justify-self:start;align-self:end}.production-campaign-workspace .campaign-builder-section:has(.campaign-channel-options){grid-template-columns:180px minmax(0,1fr)}.production-campaign-workspace .campaign-channel-options{grid-column:2}.production-campaign-workspace .campaign-channel-option.is-disabled{opacity:.62;cursor:not-allowed}.production-campaign-workspace .campaign-builder-wide{grid-column:2 / -1}.production-campaign-workspace .campaign-builder>footer{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:2px}.production-campaign-workspace .campaign-builder>footer p{margin:0;color:var(--muted);font-size:12px}.production-campaign-workspace .campaign-builder>footer .production-button{margin-left:auto}@media(max-width:1120px){.campaign-workbench-grid{grid-template-columns:1fr}.production-campaign-workspace .campaign-builder-section,.production-campaign-workspace .campaign-builder-section:has(>label:nth-of-type(2)),.production-campaign-workspace .campaign-builder-section:has(.campaign-channel-options){grid-template-columns:1fr}.production-campaign-workspace .campaign-channel-options,.production-campaign-workspace .campaign-builder-wide{grid-column:auto}}@media(max-width:720px){.production-campaign-workspace .campaign-workspace-heading{align-items:stretch;flex-direction:column}.production-campaign-workspace .campaign-workspace-heading .production-button{width:100%;justify-content:center}.production-campaign-workspace .campaign-builder>footer{align-items:stretch;flex-direction:column}.production-campaign-workspace .campaign-builder>footer .production-button{margin-left:0}.production-campaign-workspace .campaign-record-head,.production-campaign-workspace .campaign-record-row{min-width:620px}}

/* Restored canonical WhatsApp template builder */
.production-campaign-workspace .template-builder{--green:#0b8150;--ink:#1d2438}
.production-campaign-workspace .campaign-template-provider-state{padding:6px 9px;border-radius:999px;background:#f1ebff;color:#6d28d9;font-size:11px;font-weight:800;white-space:nowrap}.production-campaign-workspace .campaign-template-provider-state.is-ready{background:#e9f8ef;color:#14804a}.production-campaign-workspace .production-template-builder{width:100%;border:1px solid #e2e0eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(40,20,70,.04)}
.template-builder { background: #f8fbf9; }.template-builder-top { padding: 18px 19px 16px; display: grid; gap: 13px; border-bottom: 1px solid #e7ece9; background: #fff; }.template-builder-top > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }.template-builder-top h2 { margin: 0; color: var(--ink); font-size: 19px; letter-spacing: -.45px; }.template-builder-top .eyebrow { margin-bottom: 3px; color: #0b7c46; font-size: 9px; }.template-builder-top p:last-child { margin: 4px 0 0; color: #758395; font-size: 10.5px; }.template-builder-state { padding: 5px 7px; color: #647487; border-radius: 6px; background: #eef2f4; font-size: 9px; font-weight: 800; white-space: nowrap; }.template-builder-form { padding: 18px; }.template-builder-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(250px,.62fr); align-items: start; gap: 17px; }.template-builder-editor { display: grid; gap: 14px; }.template-builder-card { padding: 15px; border: 1px solid #e2e9e5; border-radius: 11px; background: #fff; }.template-builder-card-heading { margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.template-builder-card-heading h3 { margin: 0; color: #2d4055; font-size: 12.5px; }.template-builder-card-heading p { margin: 4px 0 0; color: #7b8898; font-size: 9.5px; line-height: 1.45; }.template-builder-card code, .template-auth-note code { padding: 1px 4px; color: #087b44; border-radius: 4px; background: #eaf7ee; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; font-weight: 800; }.template-identity-grid { display: grid; grid-template-columns: minmax(150px,1.15fr) minmax(135px,.85fr) minmax(135px,.85fr); gap: 11px; }.template-builder-card label { min-width: 0; display: grid; gap: 6px; color: #526276; font-size: 10px; font-weight: 750; }.template-builder-card input, .template-builder-card select, .template-builder-card textarea { width: 100%; min-width: 0; min-height: 39px; padding: 0 10px; outline: none; color: var(--ink); border: 1px solid #dce5e1; border-radius: 8px; background: #fff; font: inherit; font-size: 10.5px; }.template-builder-card textarea { min-height: 145px; padding: 10px; resize: vertical; line-height: 1.5; }.template-builder-card input:focus, .template-builder-card select:focus, .template-builder-card textarea:focus { border-color: #58b882; box-shadow: 0 0 0 3px rgba(23,156,83,.12); }.template-category-guidance { margin: 12px 0 0; padding: 9px 10px; display: flex; align-items: flex-start; gap: 7px; color: #5d7465; border-radius: 8px; background: #f0f9f3; font-size: 9.5px; line-height: 1.45; }.template-category-guidance strong { color: #0a7944; white-space: nowrap; }.template-toggle-row { padding: 12px 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid #edf1ef; }.template-toggle-row:first-of-type { border-top: 0; padding-top: 0; }.template-toggle-row strong { color: #3a4b60; font-size: 10.5px; }.template-toggle-row p { margin: 3px 0 0; color: #84909e; font-size: 9px; line-height: 1.4; }.builder-switch { position: relative; flex: 0 0 auto; cursor: pointer; }.builder-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }.builder-switch span { width: 37px; height: 21px; display: block; position: relative; border-radius: 999px; background: #d8dfe2; transition: .2s; }.builder-switch span:after { content: ''; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20,35,45,.22); transition: .2s; }.builder-switch input:checked + span { background: var(--green); }.builder-switch input:checked + span:after { transform: translateX(16px); }.template-optional-fields { margin: 0 0 12px; padding: 11px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; border: 1px solid #e3ede6; border-radius: 9px; background: #fbfdfc; }.template-optional-fields > label:only-child { grid-column: 1 / -1; }.template-body-field { margin-top: 2px; }.template-body-field > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.template-body-field button { color: #087b44; font-size: 9px; font-weight: 800; }.template-body-field button:hover { text-decoration: underline; }.template-body-field small { color: #8b97a3; font-size: 8.5px; font-weight: 650; }.template-cta-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }.template-auth-card { border-color: #dce5f2; background: #fbfdff; }.template-auth-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }.template-auth-grid .check-label { grid-column: 1 / -1; min-height: 32px; }.template-auth-note { margin: 12px 0 0; padding: 9px 10px; color: #536d88; border-radius: 8px; background: #edf5fb; font-size: 9.5px; line-height: 1.45; }.template-phone-preview { min-height: 455px; overflow: hidden; position: sticky; top: 16px; display: flex; flex-direction: column; border: 1px solid #dce7e1; border-radius: 22px; background: #edf0e7; box-shadow: 0 12px 26px rgba(34,57,45,.09); }.template-phone-top { min-height: 32px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: #087a46; font-size: 8px; font-weight: 800; }.template-phone-contact { min-height: 52px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; color: #fff; background: #0a8150; }.template-phone-contact > span { width: 30px; height: 30px; display: grid; place-items: center; color: #0c7a45; border-radius: 50%; background: #d6f2df; font-size: 9px; font-weight: 900; }.template-phone-contact > div { display: grid; gap: 2px; }.template-phone-contact strong { font-size: 10px; }.template-phone-contact small { color: #c8e8d5; font-size: 8px; }.template-phone-chat { min-height: 314px; padding: 16px 12px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 0; background: linear-gradient(135deg,rgba(244,241,225,.86),rgba(234,239,225,.96)), repeating-linear-gradient(45deg,transparent 0,transparent 17px,rgba(83,120,86,.025) 17px,rgba(83,120,86,.025) 18px); }.template-preview-bubble { max-width: 94%; padding: 9px 10px 7px; position: relative; border-radius: 8px 8px 8px 2px; background: #fff; box-shadow: 0 1px 2px rgba(20,41,30,.12); }.template-preview-bubble strong { display: block; margin-bottom: 6px; color: #314152; font-size: 10px; }.template-preview-bubble p { margin: 0; color: #3d4a59; font-size: 10px; line-height: 1.48; white-space: pre-wrap; }.template-preview-bubble small { display: block; margin-top: 7px; color: #7b8994; font-size: 8px; }.template-preview-bubble time { display: block; margin-top: 7px; color: #9ca6ae; font-size: 7.5px; text-align: right; }.template-preview-cta { width: min(94%,210px); min-height: 31px; padding: 6px; color: #087a9d; border-top: 1px solid #edf0f1; border-radius: 0 0 8px 8px; background: #fff; font-size: 9px; font-weight: 800; text-align: center; }.template-preview-cta.copy-code { margin-top: 4px; color: #087a9d; border-radius: 7px; }.template-phone-compose { min-height: 48px; padding: 0 11px; display: flex; align-items: center; gap: 8px; color: #2b86b1; background: #f9fbfb; font-size: 18px; }.template-phone-compose span { flex: 1; height: 27px; padding: 7px 9px; color: #a0abb1; border-radius: 999px; background: #fff; font-size: 8.5px; }.template-phone-compose b { color: #3e98be; font-size: 15px; }.template-builder-actions { margin-top: 17px; padding-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid #dfe8e2; }.template-builder-actions > small { max-width: 570px; color: #748294; font-size: 9.5px; line-height: 1.5; }.template-builder-actions > div { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }.template-builder-actions .button { white-space: nowrap; }

.contacts-panel-actions { display: flex; align-items: center; gap: 8px; }.contacts-panel-actions .button { min-height: 36px; padding: 0 11px; font-size: 10.5px; }.contacts-toolbar { padding: 12px 18px; display: grid; grid-template-columns: minmax(220px,1.45fr) repeat(3,minmax(130px,.72fr)); gap: 9px; border-top: 1px solid #edf0f2; border-bottom: 1px solid #edf0f2; background: #fbfdfc; }.contacts-toolbar > label { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 6px; color: #778596; font-size: 9px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }.contacts-toolbar select { width: 100%; min-width: 0; height: 35px; padding: 0 25px 0 8px; color: #425269; border: 1px solid #dce5e1; border-radius: 7px; outline: none; background: #fff; font: inherit; font-size: 10px; font-weight: 700; }.contacts-toolbar select:focus, .contacts-search-form input:focus { border-color: #58b882; box-shadow: 0 0 0 3px rgba(23,156,83,.12); }.contacts-search-form { position: relative; min-width: 0; }.contacts-search-form input { width: 100%; height: 35px; min-width: 0; padding: 0 57px 0 10px; color: var(--ink); border: 1px solid #dce5e1; border-radius: 7px; outline: none; background: #fff; font: inherit; font-size: 10px; }.contacts-search-form button { position: absolute; top: 0; right: 3px; width: 31px; height: 35px; display: grid; place-items: center; color: #718095; border-radius: 6px; }.contacts-search-form button:hover { color: #087b44; background: #eef8f2; }.contacts-search-form button svg { width: 15px; }.contacts-search-form .clear-contact-search { right: 28px; width: 25px; font-size: 17px; line-height: 1; }.contacts-table .data-head, .contacts-table .data-row { grid-template-columns: minmax(210px,1.65fr) 50px 84px 84px minmax(86px,.7fr) minmax(88px,.7fr) minmax(145px,1fr); gap: 10px; }.contacts-table .data-row { min-height: 68px; }.contacts-table .row-action { width: max-content; margin-top: 2px; }.contact-import-view { display: grid; }.contact-import-panel { overflow: hidden; }.contact-import-heading { padding-bottom: 14px; }.contact-import-heading h2 { margin-top: 8px; }.back-link { padding: 0; color: #087b44; font-size: 10px; font-weight: 800; }.back-link:hover { color: #056c3b; text-decoration: underline; }.contact-import-form { border-top: 1px solid #edf0f2; }.contact-upload-card { margin: 18px; padding: 16px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px dashed #aacdb8; border-radius: 11px; background: #f8fcf9; }.contact-upload-card > div { min-width: 0; display: flex; align-items: center; gap: 11px; }.contact-upload-card .connection-icon { flex: 0 0 auto; }.contact-upload-card strong { display: block; color: #314459; font-size: 12px; }.contact-upload-card p { max-width: 530px; margin: 4px 0 0; color: #748294; font-size: 10px; line-height: 1.45; }.contact-csv-picker { min-height: 36px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto; color: #087b44; border: 1px solid #a9d6ba; border-radius: 8px; background: #fff; cursor: pointer; font-size: 10px; font-weight: 800; }.contact-csv-picker:hover { color: #056c3b; border-color: #6dbc8b; background: #eef9f2; }.contact-csv-picker svg { width: 15px; }.contact-csv-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }.contact-column-guide { margin: -6px 18px 18px; padding: 11px 13px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; color: #647487; border-radius: 8px; background: #f2f6f4; font-size: 9.5px; line-height: 1.45; }.contact-column-guide strong { color: #3f5868; font-size: 10px; }.contact-column-guide .text-button { color: #087b44; font-size: 9.5px; font-weight: 800; white-space: nowrap; }.contact-import-file { margin: 0 18px 16px; padding: 11px 13px; display: flex; align-items: center; gap: 9px; border: 1px solid #d1eadb; border-radius: 9px; background: #effaf3; }.contact-import-file > span { width: 23px; height: 23px; display: grid; place-items: center; flex: 0 0 auto; color: #0c8148; border-radius: 7px; background: #d9f2e2; }.contact-import-file > span svg { width: 14px; }.contact-import-file > div { min-width: 0; flex: 1; display: grid; gap: 3px; }.contact-import-file strong { overflow: hidden; color: #315241; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }.contact-import-file p { margin: 0; color: #628171; font-size: 9.5px; }.contact-import-file .text-button { color: #087b44; font-size: 9.5px; font-weight: 800; }.contact-import-errors { margin: 0 18px 16px; padding: 10px 12px; color: #8a5d19; border: 1px solid #f0dfbc; border-radius: 8px; background: #fff7e8; }.contact-import-errors strong { font-size: 10px; }.contact-import-errors p { margin: 4px 0 0; font-size: 9.5px; line-height: 1.45; }.contact-import-defaults { margin: 0 18px 18px; padding: 14px; display: grid; grid-template-columns: minmax(175px,1.25fr) repeat(5,minmax(105px,.72fr)); align-items: end; gap: 10px; border: 1px solid #e2ebe5; border-radius: 10px; background: #fcfefd; }.contact-import-defaults > div { display: grid; gap: 4px; align-self: center; }.contact-import-defaults h3 { margin: 0; color: #35465a; font-size: 11px; }.contact-import-defaults p { margin: 0; color: #7a8899; font-size: 9px; line-height: 1.4; }.contact-import-defaults label { min-width: 0; display: grid; gap: 5px; color: #667589; font-size: 8.5px; font-weight: 800; }.contact-import-defaults input, .contact-import-defaults select { width: 100%; min-width: 0; min-height: 34px; padding: 0 8px; color: #405167; border: 1px solid #dce5e1; border-radius: 7px; outline: none; background: #fff; font: inherit; font-size: 9.5px; }.contact-import-defaults input:focus, .contact-import-defaults select:focus { border-color: #58b882; box-shadow: 0 0 0 3px rgba(23,156,83,.12); }.contact-import-preview { margin: 0 18px 18px; overflow: hidden; border: 1px solid #e1e9e5; border-radius: 10px; }.contact-import-preview-heading { padding: 12px 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: #fbfdfc; }.contact-import-preview-heading h3 { margin: 0; color: #35465a; font-size: 11px; }.contact-import-preview-heading p { margin: 4px 0 0; color: #7c8998; font-size: 9.5px; }.contact-import-preview-heading > span { padding: 4px 6px; color: #0b7743; border-radius: 5px; background: #e5f6eb; font-size: 8.5px; font-weight: 800; }.contact-import-table > div { min-height: 41px; padding: 8px 13px; display: grid; grid-template-columns: minmax(150px,1.35fr) minmax(130px,1.05fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(135px,1fr); align-items: center; gap: 9px; border-top: 1px solid #edf1ef; color: #5d6d80; font-size: 9.5px; }.contact-import-table > div:first-child { min-height: 34px; color: #8794a3; background: #f7faf8; font-size: 8.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }.contact-import-table strong { overflow: hidden; color: #34465b; text-overflow: ellipsis; white-space: nowrap; }.contact-import-empty { margin: 0 18px 18px; padding: 26px 16px; border: 1px dashed #d0dcd4; border-radius: 10px; color: #7d8998; text-align: center; }.contact-import-empty strong { display: block; color: #566779; font-size: 11px; }.contact-import-empty p { max-width: 470px; margin: 5px auto 0; font-size: 9.5px; line-height: 1.45; }.contact-import-footer { padding: 14px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; border-top: 1px solid #e7eeea; background: #fbfdfc; }.contact-import-footer .button { min-height: 37px; font-size: 10.5px; }.contact-import-footer .button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
@media (max-width: 1060px) { .contacts-toolbar { grid-template-columns: minmax(210px,1fr) repeat(2,minmax(140px,.7fr)); }.contacts-toolbar > label:last-child { grid-column: 2 / -1; }.contact-import-defaults { grid-template-columns: repeat(3,minmax(0,1fr)); }.contact-import-defaults > div { grid-column: 1 / -1; }.contact-import-table { overflow-x: auto; }.contact-import-table > div { min-width: 670px; } }
@media (max-width: 720px) { .contacts-panel .panel-heading, .contact-upload-card { align-items: flex-start; flex-direction: column; }.contacts-panel-actions { width: 100%; }.contacts-panel-actions .button { flex: 1; justify-content: center; }.contacts-toolbar { padding: 12px 14px; grid-template-columns: 1fr; }.contacts-toolbar > label, .contacts-toolbar > label:last-child { grid-column: auto; grid-template-columns: 58px minmax(0,1fr); }.contacts-table .data-head, .contacts-table .data-row { min-width: 925px; }.contact-import-heading { padding-left: 14px; padding-right: 14px; }.contact-upload-card, .contact-column-guide, .contact-import-file, .contact-import-errors, .contact-import-defaults, .contact-import-preview, .contact-import-empty { margin-left: 14px; margin-right: 14px; }.contact-column-guide { grid-template-columns: 1fr; gap: 4px; }.contact-import-defaults { grid-template-columns: 1fr; }.contact-import-defaults > div { grid-column: auto; }.contact-import-footer { padding-left: 14px; padding-right: 14px; }.contact-import-footer .button { flex: 1; justify-content: center; } }

@media (max-width: 1060px) { .template-builder-layout { grid-template-columns: 1fr; }.template-phone-preview { min-height: 365px; position: static; }.template-phone-chat { min-height: 230px; }.template-builder-actions { align-items: flex-start; flex-direction: column; }.template-builder-actions > div { width: 100%; justify-content: flex-start; } }
@media (max-width: 720px) { .template-builder-top, .template-builder-form { padding-left: 14px; padding-right: 14px; }.template-builder-top > div { align-items: flex-start; flex-direction: column; }.template-identity-grid, .template-optional-fields, .template-cta-fields, .template-auth-grid { grid-template-columns: 1fr; }.template-builder-actions > div { align-items: stretch; flex-direction: column; }.template-builder-actions .button { width: 100%; justify-content: center; }.template-phone-preview { min-height: 340px; }.template-phone-chat { min-height: 200px; } }

/* Compact campaign flow: keep the canonical template steps, reduce dead space. */
.production-campaign-workspace .campaign-creation-header .text-button,
.production-campaign-workspace .production-template-builder .text-button {
  appearance: none;
  display: block;
  width: max-content;
  border: 0;
  background: transparent;
  color: #6940c9;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
}
.production-campaign-workspace .campaign-creation-header .eyebrow {
  display: block;
  margin: 0 0 6px;
}
.production-campaign-workspace .campaign-creation-header .text-button:hover,
.production-campaign-workspace .production-template-builder .text-button:hover { color: #4f249e; text-decoration: underline; }
.production-campaign-workspace .campaign-mode-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.production-campaign-workspace .campaign-template-manager,
.production-campaign-workspace .campaign-approved-next,
.production-campaign-workspace .campaign-creation-card { padding: 16px; border-radius: 16px; }
.production-campaign-workspace .campaign-template-manager > header,
.production-campaign-workspace .campaign-approved-next { padding-bottom: 12px; }
.production-campaign-workspace .campaign-template-manager h2,
.production-campaign-workspace .campaign-approved-next h2,
.production-campaign-workspace .campaign-creation-card h2 { font-size: 17px; }
.production-campaign-workspace .campaign-template-manager p,
.production-campaign-workspace .campaign-approved-next p,
.production-campaign-workspace .campaign-creation-card header p { font-size: 11px; line-height: 1.4; }
.production-campaign-workspace .campaign-template-table { margin-top: 10px; border-radius: 11px; }
.production-campaign-workspace .campaign-template-table > div,
.production-campaign-workspace .campaign-template-table article { gap: 9px; padding: 9px 11px; font-size: 11px; }
.production-campaign-workspace .campaign-readiness-note { padding: 11px 13px; }
.production-campaign-workspace .campaign-readiness-note p { font-size: 11px; line-height: 1.4; }
.production-campaign-workspace .campaign-builder-channel-step,
.production-campaign-workspace .campaign-builder-review-step { display: none; }
.production-campaign-workspace .campaign-qr-simple-workspace { gap: 16px; }
.production-campaign-workspace .campaign-qr-simple-form { gap: 16px; }
.production-campaign-workspace .campaign-qr-simple-card { gap: 12px; }
.production-campaign-workspace .campaign-qr-simple-card header p { max-width: 650px; }
.production-campaign-workspace .campaign-qr-simple-card textarea { min-height: 116px; }
.production-campaign-workspace .campaign-file-field input[type="file"] { padding: 9px; border-style: dashed; background: #faf7ff; cursor: pointer; }
.production-campaign-workspace .campaign-file-field small,
.production-campaign-workspace .campaign-field-help { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.4; }
.production-campaign-workspace .campaign-creation-card .check-label { display: flex; align-items: center; gap: 8px; }
.production-campaign-workspace .campaign-creation-card .check-label input[type="checkbox"] { width: 16px; height: 16px; padding: 0; accent-color: #6d28d9; }
.production-campaign-workspace .campaign-qr-simple-card .campaign-audience-summary { margin-top: 2px; }
.production-campaign-workspace .campaign-qr-simple-card .production-button { width: max-content; }
.production-campaign-workspace .campaign-panel-state { color: #6d28d9; font-size: 11px; font-weight: 800; white-space: nowrap; }
@media (max-width: 1250px) {
  .production-campaign-workspace .campaign-mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .production-campaign-workspace .campaign-mode-grid { grid-template-columns: 1fr; }
  .production-campaign-workspace .campaign-mode-card { grid-template-columns: 34px minmax(0, 1fr); align-items: start; }
  .production-campaign-workspace .campaign-mode-card .production-button { grid-column: 2; justify-self: start; margin-top: 2px; }
  .production-campaign-workspace .production-template-builder .template-builder-form { padding: 12px; }
}
