/* Dura-Pak ERP — Marketing creative workspace */
#view-marketing { min-width:0; }
#view-marketing button,#view-marketing input,#view-marketing select,#view-marketing textarea { font:inherit; }
.marketing-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:0 0 12px; }
.marketing-heading h1 { margin:0 0 5px; font-size:clamp(28px,3vw,36px); line-height:1.08; letter-spacing:-.045em; }
.marketing-heading p { max-width:760px; margin:0; color:var(--ink-2); font-size:13px; }
.marketing-connection { display:grid; justify-items:end; gap:3px; flex:none; padding-top:5px; text-align:right; }
.marketing-connection b { display:flex; align-items:center; gap:8px; font-size:12px; }
.marketing-connection b > span:first-child { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent); }
.marketing-connection b #marketingConnectionStatus { width:auto; height:auto; border-radius:0; background:transparent; box-shadow:none; }
.marketing-connection small { color:var(--ink-3); font-size:11px; }
.marketing-connection[data-tone="loading"] b > span:first-child { background:var(--orange); box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 14%,transparent); }
.marketing-connection[data-tone="error"] b > span:first-child { background:var(--red); box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 14%,transparent); }
.marketing-connection[data-tone="restricted"] b > span:first-child { background:var(--ink-3); box-shadow:none; }

.marketing-tabs { display:flex; gap:24px; min-height:43px; margin:0 0 14px; overflow-x:auto; border-bottom:1px solid var(--line); scrollbar-width:thin; }
.marketing-tabs button { position:relative; flex:none; min-height:42px; padding:7px 1px 11px; border:0; background:transparent; color:var(--ink-2); font-weight:680; font-size:12px; cursor:pointer; white-space:nowrap; }
.marketing-tabs button:hover { color:var(--ink); }
.marketing-tabs button[aria-selected="true"] { color:var(--accent); }
.marketing-tabs button[aria-selected="true"]::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:2px; border-radius:2px 2px 0 0; background:var(--accent); }
.marketing-tabs button:focus-visible,.marketing-link-button:focus-visible,.marketing-asset-link:focus-visible,.marketing-recent-list button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.marketing-status { min-height:18px; margin:-7px 0 8px; color:var(--ink-3); font-size:11px; }
.marketing-status:empty { display:none; }
.marketing-status[data-tone="error"] { color:var(--red); }
.marketing-pane { min-width:0; }

.marketing-surface { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:0 1px 2px rgba(20,30,44,.035); }
.marketing-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:53px; padding:13px 16px; border-bottom:1px solid var(--line-2); }
.marketing-section-head h2 { margin:0; font-size:14px; letter-spacing:-.015em; }
.marketing-section-head p { margin:3px 0 0; color:var(--ink-3); font-size:11px; }
.marketing-link-button { min-height:34px; padding:6px 8px; border:0; background:transparent; color:var(--accent); font-weight:750; font-size:11px; cursor:pointer; }
.marketing-empty-row { display:grid; place-items:center; min-height:122px; padding:24px; color:var(--ink-3); text-align:center; }
.marketing-empty-row.is-large { min-height:240px; }
.marketing-empty-row strong { display:block; margin-bottom:4px; color:var(--ink); font-size:13px; }
.marketing-empty-row span { max-width:440px; font-size:11px; line-height:1.5; }
.marketing-no-access { display:grid; place-items:center; min-height:280px; padding:32px; text-align:center; }
.marketing-no-access h2 { margin:0 0 7px; }
.marketing-no-access p { max-width:520px; margin:0 0 15px; color:var(--ink-2); }

/* Creative Studio */
.marketing-studio-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:12px; }
.marketing-studio-heading h2 { margin:0 0 4px; font-size:20px; letter-spacing:-.025em; }
.marketing-studio-heading p { margin:0; color:var(--ink-2); font-size:12px; }
.marketing-studio-heading > div:last-child { display:flex; gap:8px; flex:none; }
.marketing-studio-layout { display:grid; grid-template-columns:minmax(360px,.75fr) minmax(520px,1.25fr); gap:12px; align-items:start; }
.marketing-studio-brief { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:calc(100vh - 205px); min-height:620px; }
.marketing-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:14px 14px 0; padding:4px; border-radius:9px; background:var(--panel-2); }
.marketing-mode-switch button { min-height:38px; border:0; border-radius:7px; background:transparent; color:var(--ink-2); font-weight:700; font-size:11px; cursor:pointer; }
.marketing-mode-switch button[aria-selected="true"] { color:var(--ink); background:var(--panel); box-shadow:0 1px 3px rgba(17,30,45,.09); }
.marketing-mode-switch button:disabled { opacity:.45; cursor:not-allowed; }
.marketing-mode-note { margin:7px 14px 0; color:var(--orange); font-size:10px; line-height:1.45; }
.marketing-brief-scroll { display:grid; align-content:start; gap:13px; min-height:0; padding:14px; overflow:auto; }
.marketing-brief-scroll fieldset { min-width:0; margin:0; padding:0; border:0; }
.marketing-brief-scroll legend,.marketing-brief-scroll label > span,.marketing-image-editor label > span,.marketing-copy-fields label > span,.marketing-social-fields label > span { display:block; margin-bottom:6px; color:var(--ink-2); font-size:11px; font-weight:760; letter-spacing:.01em; }
.marketing-brief-scroll label em { color:var(--ink-3); font-size:9px; font-style:normal; font-weight:520; }
.marketing-brief-scroll input,.marketing-brief-scroll select,.marketing-brief-scroll textarea,.marketing-image-editor textarea,.marketing-copy-fields input,.marketing-copy-fields textarea,.marketing-social-fields input,.marketing-social-fields textarea,.marketing-filterbar input,.marketing-filterbar select { width:100%; min-height:40px; padding:9px 10px; border:1px solid var(--line); border-radius:8px; outline:none; background:var(--panel); color:var(--ink); font-size:12px; line-height:1.45; }
.marketing-brief-scroll textarea,.marketing-image-editor textarea,.marketing-copy-fields textarea,.marketing-social-fields textarea { resize:vertical; }
.marketing-brief-scroll input:focus,.marketing-brief-scroll select:focus,.marketing-brief-scroll textarea:focus,.marketing-image-editor textarea:focus,.marketing-copy-fields input:focus,.marketing-copy-fields textarea:focus,.marketing-social-fields input:focus,.marketing-social-fields textarea:focus,.marketing-filterbar input:focus,.marketing-filterbar select:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.marketing-brief-scroll label > small,.marketing-upload small { display:block; margin-top:5px; color:var(--ink-3); font-size:10px; }
.marketing-brief-triple { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.marketing-brief-scroll details { padding:0; border:1px solid var(--line-2); border-radius:9px; color:var(--ink-2); font-size:11px; }
.marketing-brief-scroll details summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:42px; padding:9px 11px; color:var(--ink); font-weight:720; cursor:pointer; }
.marketing-brief-scroll details summary span { color:var(--ink-3); font-size:10px; font-weight:560; }
.marketing-brief-details-body { display:grid; gap:12px; padding:2px 11px 11px; border-top:1px solid var(--line-2); }
.marketing-brief-details-body > label:first-child { margin-top:10px; }
.marketing-upload { display:block; padding:11px; border:1px dashed var(--line); border-radius:9px; background:var(--panel-2); }
.marketing-upload input { padding:7px; background:transparent; }
.marketing-product-reference { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:10px; padding:9px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--accent) 5%,var(--panel)); }
.marketing-product-reference img,.marketing-product-reference > i { display:grid; place-items:center; width:52px; height:52px; overflow:hidden; border:1px solid var(--line-2); border-radius:8px; background:#fff; object-fit:contain; }
.marketing-product-reference svg { width:22px; height:22px; fill:none; stroke:var(--accent); stroke-width:1.6; }
.marketing-product-reference span,.marketing-product-reference b,.marketing-product-reference strong,.marketing-product-reference small { display:block; min-width:0; }
.marketing-product-reference b { margin-bottom:2px; color:var(--accent); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.marketing-product-reference strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.marketing-product-reference small { margin-top:3px; color:var(--ink-3); font-size:9.5px; line-height:1.4; }
.marketing-package-hint { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:9px; padding:9px 10px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--accent) 6%,var(--panel)); }
.marketing-package-hint svg { width:20px; height:20px; margin:auto; fill:none; stroke:var(--accent); stroke-width:1.6; }
.marketing-package-hint span,.marketing-package-hint strong,.marketing-package-hint small { display:block; min-width:0; }
.marketing-package-hint strong { font-size:10.5px; }
.marketing-package-hint small { margin-top:2px; color:var(--ink-3); font-size:9.5px; line-height:1.4; }
.marketing-public-safety-note { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:9px; padding:9px 10px; border:1px solid color-mix(in srgb,var(--green) 30%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--green) 6%,var(--panel)); }
.marketing-public-safety-note svg { width:18px; height:18px; margin:auto; fill:none; stroke:var(--green); stroke-width:1.8; }
.marketing-public-safety-note span,.marketing-public-safety-note strong,.marketing-public-safety-note small { display:block; min-width:0; }
.marketing-public-safety-note strong { font-size:10.5px; }
.marketing-public-safety-note small { margin-top:2px; color:var(--ink-2); font-size:10px; line-height:1.4; }
.marketing-studio-action { display:grid; gap:8px; padding:0 14px 14px; }
.marketing-studio-create { min-height:44px; margin:0; }
.marketing-quality-note,.marketing-grounding-note { display:grid; gap:3px; padding:9px 10px; border:1px solid color-mix(in srgb,var(--orange) 34%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--orange) 7%,var(--panel)); }
.marketing-quality-note strong,.marketing-grounding-note strong { color:var(--ink); font-size:10.5px; }
.marketing-quality-note span,.marketing-grounding-note span { color:var(--ink-2); font-size:9.5px; line-height:1.45; }
.marketing-generation-progress { display:grid; gap:3px; padding:10px 11px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); border-radius:9px; background:color-mix(in srgb,var(--accent) 6%,var(--panel)); }
.marketing-generation-progress strong { color:var(--ink); font-size:10.5px; }
.marketing-generation-progress span { color:var(--ink-2); font-size:9.5px; line-height:1.4; }
.marketing-generation-progress i { position:relative; display:block; height:3px; margin-top:5px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--accent) 14%,var(--panel-2)); }
.marketing-generation-progress i::after { position:absolute; inset:0 auto 0 -38%; width:38%; border-radius:inherit; background:var(--accent); content:""; animation:marketing-progress 1.35s ease-in-out infinite; }
@keyframes marketing-progress { to { left:100%; } }

.marketing-asset-category { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin-bottom:7px; padding:3px; border-radius:8px; background:var(--panel-2); }
.marketing-asset-category button { min-height:34px; padding:6px 8px; border:0; border-radius:6px; background:transparent; color:var(--ink-2); font-weight:720; font-size:10.5px; cursor:pointer; }
.marketing-asset-category button[aria-pressed="true"] { color:var(--ink); background:var(--panel); box-shadow:0 1px 3px rgba(17,30,45,.09); }
.marketing-asset-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.marketing-asset-types button { display:grid; grid-template-columns:24px minmax(0,1fr); place-items:center start; gap:8px; min-width:0; min-height:48px; padding:8px 10px; border:1px solid var(--line-2); border-radius:8px; background:var(--panel); color:var(--ink-2); cursor:pointer; }
.marketing-asset-types button:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); color:var(--ink); }
.marketing-asset-types button[aria-checked="true"] { border-color:var(--accent); color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--panel)); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent); }
.marketing-asset-types svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.marketing-asset-types span { max-width:100%; font-weight:690; font-size:11px; line-height:1.25; }

.marketing-studio-editor { position:sticky; top:68px; display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; min-height:620px; max-height:calc(100vh - 82px); }
.marketing-studio-editor > header { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:65px; padding:12px 16px; border-bottom:1px solid var(--line-2); }
.marketing-studio-editor > header > div:last-child { display:grid; justify-items:end; gap:3px; }
.marketing-studio-editor > header > div:last-child > small { color:var(--ink-3); font-size:10px; }
.marketing-editor-title { display:flex; flex:1 1 auto; align-items:center; min-width:0; gap:10px; }
.marketing-editor-title > div { min-width:0; }
.marketing-editor-title > i,.marketing-recent-list i,.marketing-asset-link i,.marketing-review-list i { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:8px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--panel-2)); }
.marketing-editor-title svg,.marketing-recent-list svg,.marketing-asset-link svg,.marketing-review-list svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.marketing-editor-title strong,.marketing-editor-title small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.marketing-editor-title strong { font-size:13px; }
.marketing-editor-title small { margin-top:3px; color:var(--ink-3); font-size:10px; }
.marketing-preview-tabs { display:flex; gap:4px; padding:9px 16px 0; }
.marketing-preview-tabs button { min-height:33px; padding:6px 12px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--ink-2); font-weight:700; font-size:10px; cursor:pointer; }
.marketing-preview-tabs button[aria-selected="true"] { border-color:var(--accent); color:var(--accent); }
.marketing-deliverable-status { display:flex; align-items:center; gap:7px; min-height:35px; padding:6px 16px; overflow-x:auto; border-bottom:1px solid var(--line-2); color:var(--ink-3); white-space:nowrap; }
.marketing-deliverable-status span { display:inline-flex; align-items:center; gap:5px; font-size:9.5px; }
.marketing-deliverable-status span i { width:6px; height:6px; border-radius:50%; background:var(--orange); }
.marketing-deliverable-status span.is-ready { color:var(--ink-2); }
.marketing-deliverable-status span.is-ready i { background:var(--green); }
.marketing-deliverable-status b { margin-left:auto; padding:3px 7px; border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--panel)); font-size:9px; font-weight:760; }
.marketing-text-editor { min-height:0; padding:16px; overflow:auto; background:var(--panel-2); }
.marketing-text-editor.is-preview .marketing-copy-fields { display:none; }
.marketing-text-editor.is-edit .marketing-copy-preview { display:none; }
.marketing-copy-fields { display:grid; gap:13px; }
.marketing-copy-fields textarea { min-height:365px; background:var(--panel); }
.marketing-copy-preview { min-height:455px; max-width:760px; margin:auto; padding:clamp(24px,5vw,58px); border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:0 12px 34px rgba(21,35,50,.07); }
.marketing-copy-preview > span { color:var(--accent); font-weight:780; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.marketing-copy-preview h3 { margin:15px 0 18px; font-size:clamp(24px,3vw,38px); line-height:1.12; letter-spacing:-.04em; }
.marketing-copy-preview div { color:var(--ink-2); font-size:14px; line-height:1.68; white-space:pre-wrap; }
.marketing-package-editor { min-height:0; padding:16px; overflow:auto; background:var(--panel-2); }
.marketing-package-editor.is-preview .marketing-package-fields { display:none; }
.marketing-package-editor.is-edit .marketing-package-preview { display:none; }
.marketing-package-fields { display:grid; gap:13px; }
.marketing-package-fields textarea[data-marketing-field="body"] { min-height:360px; background:var(--panel); }
.marketing-package-edit-image { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:11px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--panel); }
.marketing-package-edit-image img { width:72px; height:64px; border:1px solid var(--line-2); border-radius:7px; background:#fff; object-fit:contain; }
.marketing-package-edit-image span,.marketing-package-edit-image strong,.marketing-package-edit-image small { display:block; min-width:0; }
.marketing-package-edit-image strong { font-size:11px; }
.marketing-package-edit-image small { margin-top:3px; color:var(--ink-3); font-size:9.5px; }
.marketing-package-preview { max-width:760px; margin:auto; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--panel); box-shadow:0 16px 44px rgba(21,35,50,.09); }
.marketing-package-preview > header,.marketing-package-preview > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; }
.marketing-package-preview > header { border-bottom:1px solid var(--line-2); }
.marketing-package-preview > header div,.marketing-package-preview > header strong,.marketing-package-preview > header span { display:block; }
.marketing-package-preview > header strong { color:var(--ink); font-size:12px; letter-spacing:.01em; }
.marketing-package-preview > header span { margin-top:2px; color:var(--ink-3); font-size:9.5px; }
.marketing-package-preview > header b { padding:4px 8px; border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--panel)); font-size:9px; letter-spacing:.045em; text-transform:uppercase; }
.marketing-package-visual { display:grid; place-items:center; min-height:280px; overflow:hidden; border-bottom:1px solid var(--line-2); background:linear-gradient(145deg,#f4f7f9,#e8edf1); }
.marketing-package-visual img { display:block; width:100%; height:100%; min-height:0; max-height:100%; object-fit:contain; }
.marketing-package-visual > div { display:grid; place-items:center; max-width:330px; padding:28px; color:var(--ink-3); text-align:center; }
.marketing-package-visual svg { width:36px; height:36px; margin-bottom:9px; fill:none; stroke:var(--accent); stroke-width:1.4; }
.marketing-package-visual strong { color:var(--ink); font-size:13px; }
.marketing-package-visual span { margin-top:5px; font-size:10.5px; line-height:1.45; }
.marketing-package-copy { padding:26px clamp(22px,5vw,48px) 30px; }
.marketing-package-copy > span:first-child { color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.marketing-package-copy h3 { margin:10px 0 17px; color:var(--ink); font-size:clamp(25px,3vw,38px); line-height:1.08; letter-spacing:-.04em; }
.marketing-package-copy #marketingLiveBody { color:var(--ink-2); font-size:13px; line-height:1.65; }
.marketing-package-copy p { margin:0 0 11px; }
.marketing-package-copy .marketing-copy-cta-line { margin-top:18px; color:var(--ink); font-weight:720; }
.marketing-package-copy h4 { margin:19px 0 7px; color:var(--ink); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.marketing-package-copy ul { display:grid; gap:6px; margin:8px 0 14px; padding-left:20px; }
.marketing-package-copy li::marker { color:var(--accent); }
.marketing-package-print .marketing-package-copy #marketingLiveBody > p:first-child { color:var(--ink); font-size:14px; line-height:1.55; }
.marketing-package-print .marketing-package-copy h4 { color:var(--accent); }
.marketing-package-print .marketing-package-copy ul { gap:8px; margin-bottom:18px; }
.marketing-package-placeholder { color:var(--ink-3); }
.marketing-package-cta { display:inline-flex; align-items:center; min-height:38px; margin-top:11px; padding:8px 14px; border-radius:8px; color:#fff; background:var(--accent); font-size:10.5px; font-weight:760; }
.marketing-package-preview > footer { border-top:1px solid var(--line-2); color:var(--ink-3); font-size:9.5px; }
.marketing-package-preview > footer strong { color:var(--ink-2); }
.marketing-package-email > header { border-top:4px solid var(--accent); }
.marketing-package-email .marketing-package-visual { min-height:220px; aspect-ratio:16/7; }
.marketing-package-feature .marketing-package-visual { aspect-ratio:16/8.5; }
.marketing-package-print { max-width:680px; }
.marketing-package-print .marketing-package-visual { min-height:340px; aspect-ratio:4/3; }
.marketing-package-document { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr); max-width:820px; }
.marketing-package-document > header,.marketing-package-document > footer { grid-column:1/-1; }
.marketing-package-document .marketing-package-visual { min-height:100%; border-right:1px solid var(--line-2); border-bottom:0; }
.marketing-package-document .marketing-package-visual img { min-height:100%; max-height:620px; object-fit:cover; }
.marketing-package-document .marketing-package-copy { padding:30px 32px; }
.marketing-package-document .marketing-package-copy h3 { font-size:29px; }
.marketing-social-editor { min-height:0; padding:16px; overflow:auto; background:var(--panel-2); }
.marketing-social-editor.is-preview .marketing-social-fields { display:none; }
.marketing-social-editor.is-edit .marketing-social-preview { display:none; }
.marketing-social-fields { display:grid; gap:13px; }
.marketing-social-fields textarea[data-marketing-field="body"] { min-height:260px; }
.marketing-social-edit-image { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:10px; padding:8px; border:1px solid var(--line); border-radius:9px; background:var(--panel); }
.marketing-social-edit-image img { width:64px; height:64px; border:1px solid var(--line-2); border-radius:7px; background:#fff; object-fit:contain; }
.marketing-social-edit-image span,.marketing-social-edit-image strong,.marketing-social-edit-image small { display:block; min-width:0; }
.marketing-social-edit-image strong { font-size:11px; }
.marketing-social-edit-image small { margin-top:3px; color:var(--ink-3); font-size:9.5px; }
.marketing-social-preview { max-width:620px; margin:auto; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:0 12px 34px rgba(21,35,50,.07); }
.marketing-social-preview > header,.marketing-social-preview > footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; }
.marketing-social-preview > header { border-bottom:1px solid var(--line-2); }
.marketing-social-preview > header div,.marketing-social-preview > header strong,.marketing-social-preview > header span { display:block; }
.marketing-social-preview > header strong { font-size:12px; }
.marketing-social-preview > header span { margin-top:2px; color:var(--ink-3); font-size:9.5px; }
.marketing-social-preview > header b { padding:4px 7px; border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--panel)); font-size:9px; letter-spacing:.04em; text-transform:uppercase; }
.marketing-social-visual { display:grid; place-items:center; aspect-ratio:1; max-height:560px; border-bottom:1px solid var(--line-2); background:#eef1f4; }
.marketing-social-visual img { display:block; width:100%; height:100%; max-height:560px; object-fit:contain; }
.marketing-social-visual > div { display:grid; place-items:center; max-width:330px; padding:26px; color:var(--ink-3); text-align:center; }
.marketing-social-visual svg { width:34px; height:34px; margin-bottom:8px; fill:none; stroke:var(--accent); stroke-width:1.4; }
.marketing-social-visual strong { color:var(--ink); font-size:13px; }
.marketing-social-visual span { margin-top:5px; font-size:10.5px; line-height:1.45; }
.marketing-social-copy { padding:15px 16px 17px; }
.marketing-social-copy h3 { margin:0 0 8px; font-size:17px; line-height:1.3; letter-spacing:-.015em; }
.marketing-social-copy div { color:var(--ink-2); font-size:12px; line-height:1.58; white-space:pre-wrap; }
.marketing-social-preview > footer { border-top:1px solid var(--line-2); color:var(--ink-3); font-size:9.5px; }
.marketing-social-preview > footer strong { color:var(--ink-2); }
.marketing-image-editor { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:12px; min-height:0; padding:16px; overflow:auto; background:var(--panel-2); }
.marketing-image-frame { display:grid; place-items:center; min-height:420px; overflow:hidden; border:1px dashed var(--line); border-radius:12px; background:var(--panel); }
.marketing-image-frame > div { display:grid; place-items:center; max-width:360px; padding:28px; color:var(--ink-3); text-align:center; }
.marketing-image-frame svg { width:36px; height:36px; margin-bottom:10px; fill:none; stroke:var(--accent); stroke-width:1.4; }
.marketing-image-frame strong { color:var(--ink); font-size:14px; }
.marketing-image-frame span { margin-top:5px; font-size:11px; line-height:1.5; }
.marketing-image-frame.has-image { border-style:solid; background:#eef1f4; }
.marketing-image-frame img { display:block; width:100%; height:100%; max-height:520px; object-fit:contain; }
.marketing-image-editor label { display:block; }
.marketing-studio-editor > footer { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:66px; padding:12px 16px; border-top:1px solid var(--line-2); background:var(--panel); }
.marketing-studio-editor > footer > span { max-width:430px; color:var(--ink-3); font-size:10px; line-height:1.45; }
.marketing-studio-editor > footer > span b { color:var(--ink-2); }
.marketing-studio-editor > footer > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; flex:none; }
.marketing-studio-editor .btn { min-height:40px; }
.marketing-recent-rail { margin-top:12px; }

/* Overview */
.marketing-overview-command { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; padding:22px 24px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:12px; background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel)); }
.marketing-overview-command h2 { margin:0 0 5px; font-size:20px; letter-spacing:-.025em; }
.marketing-overview-command p { margin:0; color:var(--ink-2); font-size:12px; }
.marketing-overview-command > div:last-child { display:flex; gap:8px; flex:none; }
.marketing-compact-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:12px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.marketing-compact-summary button { display:flex; align-items:baseline; justify-content:center; gap:8px; min-height:57px; border:0; border-right:1px solid var(--line-2); background:transparent; color:var(--ink); cursor:pointer; }
.marketing-compact-summary button:last-child { border-right:0; }
.marketing-compact-summary button:hover { background:var(--panel-2); }
.marketing-compact-summary strong { font-size:20px; }
.marketing-compact-summary span { color:var(--ink-2); font-size:11px; }
.marketing-overview-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr); gap:12px; }
.marketing-context-strip { margin-top:12px; }
.marketing-readiness { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.marketing-readiness-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; min-height:78px; padding:14px 16px; border-right:1px solid var(--line-2); }
.marketing-readiness-row:last-child { border-right:0; }
.marketing-readiness-row strong,.marketing-readiness-row small { display:block; }
.marketing-readiness-row strong { font-size:11px; }
.marketing-readiness-row small { margin-top:3px; color:var(--ink-3); font-size:10px; }
.marketing-readiness-state { display:flex; align-items:center; gap:6px; color:var(--ink-2); font-size:10px; }
.marketing-readiness-state i { width:7px; height:7px; border-radius:50%; background:var(--green); }
.marketing-readiness-state.is-stale i { background:var(--orange); }
.marketing-readiness-state.is-restricted i,.marketing-readiness-state.is-unavailable i { background:var(--ink-3); }
.marketing-readiness-row .marketing-link-button { justify-self:end; grid-column:2; grid-row:1 / 3; }

/* Marketing Intelligence & Execution Agent */
.marketing-agent-command { display:grid; grid-template-columns:minmax(280px,.84fr) minmax(440px,1.16fr); gap:18px 28px; margin-bottom:12px; padding:24px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); border-radius:14px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel) 54%,color-mix(in srgb,var(--green) 5%,var(--panel))); box-shadow:0 8px 28px rgba(20,38,55,.06); }
.marketing-agent-command-copy > span { color:var(--accent); font-size:9.5px; font-weight:820; letter-spacing:.11em; }
.marketing-agent-command-copy h2 { max-width:560px; margin:9px 0 8px; color:var(--ink); font-size:clamp(24px,3vw,34px); line-height:1.08; letter-spacing:-.045em; }
.marketing-agent-command-copy p { max-width:650px; margin:0; color:var(--ink-2); font-size:12.5px; line-height:1.6; }
.marketing-agent-ask { align-self:center; padding:14px; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--panel) 92%,transparent); box-shadow:0 4px 14px rgba(21,35,50,.04); }
.marketing-agent-ask label { display:block; margin-bottom:7px; color:var(--ink); font-size:10.5px; font-weight:760; }
.marketing-agent-ask label em { color:var(--ink-3); font-style:normal; font-weight:520; }
.marketing-agent-ask > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.marketing-agent-ask input { width:100%; min-height:43px; padding:9px 11px; border:1px solid var(--line); border-radius:8px; outline:none; background:var(--panel); color:var(--ink); font-size:12px; }
.marketing-agent-ask input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.marketing-agent-ask .btn { min-height:43px; white-space:nowrap; }
.marketing-agent-ask > small { display:block; margin-top:7px; color:var(--ink-3); font-size:9.5px; line-height:1.45; }
.marketing-agent-presets { display:grid; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.marketing-agent-presets button { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:9px; min-width:0; min-height:58px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--panel); color:var(--ink); text-align:left; cursor:pointer; }
.marketing-agent-presets button:hover:not(:disabled) { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); background:color-mix(in srgb,var(--accent) 4%,var(--panel)); }
.marketing-agent-presets button:disabled { opacity:.5; cursor:not-allowed; }
.marketing-agent-presets svg { width:22px; height:22px; margin:auto; fill:none; stroke:var(--accent); stroke-width:1.55; }
.marketing-agent-presets span,.marketing-agent-presets strong,.marketing-agent-presets small { display:block; min-width:0; }
.marketing-agent-presets strong { font-size:11px; }
.marketing-agent-presets small { margin-top:2px; overflow:hidden; color:var(--ink-3); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
.marketing-agent-warning { grid-column:1/-1; padding:9px 11px; border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line)); border-radius:8px; color:var(--ink-2); background:color-mix(in srgb,var(--orange) 7%,var(--panel)); font-size:10.5px; line-height:1.5; }
.marketing-agent-run { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; margin-bottom:12px; padding:11px 13px; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.marketing-agent-run.is-running { border-color:color-mix(in srgb,var(--accent) 30%,var(--line)); background:color-mix(in srgb,var(--accent) 5%,var(--panel)); }
.marketing-agent-run-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; color:var(--accent); background:color-mix(in srgb,var(--accent) 11%,var(--panel-2)); }
.marketing-agent-run-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; }
.marketing-agent-run span,.marketing-agent-run strong,.marketing-agent-run small { display:block; }
.marketing-agent-run span { color:var(--accent); font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.marketing-agent-run strong { margin-top:2px; font-size:11.5px; }
.marketing-agent-run small { margin-top:3px; color:var(--ink-3); font-size:9.5px; }
.marketing-agent-run .btn { min-height:36px; }
.marketing-agent-run.is-running .marketing-agent-run-icon svg { animation:marketing-agent-pulse 1.7s ease-in-out infinite; }
@keyframes marketing-agent-pulse { 50% { opacity:.42; transform:scale(.9); } }
.marketing-agent-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:12px; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.marketing-agent-metrics > button,.marketing-agent-metrics > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; min-height:72px; padding:13px 15px; border:0; border-right:1px solid var(--line-2); background:transparent; color:var(--ink); text-align:left; }
.marketing-agent-metrics > button { cursor:pointer; }
.marketing-agent-metrics > button:hover { background:var(--panel-2); }
.marketing-agent-metrics > :last-child { border-right:0; }
.marketing-agent-metrics span { align-self:end; color:var(--ink-2); font-size:10.5px; font-weight:700; }
.marketing-agent-metrics strong { grid-column:2; grid-row:1 / 3; align-self:center; color:var(--ink); font-size:23px; }
.marketing-agent-metrics small { color:var(--ink-3); font-size:9.5px; }
.marketing-agent-results { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.marketing-agent-opportunity-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; background:var(--panel-2); }
.marketing-agent-opportunity { display:grid; align-content:start; min-width:0; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--panel); box-shadow:0 1px 2px rgba(20,30,44,.025); }
.marketing-agent-opportunity > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.marketing-agent-opportunity > header > div { display:flex; align-items:flex-start; min-width:0; gap:10px; }
.marketing-agent-score { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:9px; color:var(--ink-2); background:var(--grey-bg); font-size:13px; font-weight:820; }
.marketing-agent-score.is-high { color:var(--green); background:var(--green-bg); }
.marketing-agent-score.is-medium { color:var(--orange); background:var(--orange-bg); }
.marketing-agent-opportunity h3 { margin:3px 0 0; font-size:14px; line-height:1.3; letter-spacing:-.018em; }
.marketing-agent-opportunity header small { color:var(--ink-3); font-size:9px; }
.marketing-agent-confidence { flex:none; padding:4px 7px; border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--panel-2)); font-size:9px; font-weight:720; white-space:nowrap; }
.marketing-agent-opportunity > p { margin:13px 0; color:var(--ink-2); font-size:11px; line-height:1.55; }
.marketing-agent-opportunity dl { display:grid; gap:8px; margin:0 0 13px; }
.marketing-agent-opportunity dl div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; }
.marketing-agent-opportunity dt { color:var(--ink-3); font-size:9.5px; font-weight:700; }
.marketing-agent-opportunity dd { margin:0; color:var(--ink); font-size:10.5px; line-height:1.45; }
.marketing-agent-opportunity details { margin:0 0 13px; padding:9px 10px; border:1px solid var(--line-2); border-radius:8px; background:var(--panel-2); }
.marketing-agent-opportunity summary { color:var(--accent); font-size:10px; font-weight:720; cursor:pointer; }
.marketing-agent-evidence { display:grid; gap:8px; padding-top:9px; }
.marketing-agent-evidence div { padding-top:8px; border-top:1px solid var(--line-2); }
.marketing-agent-evidence strong,.marketing-agent-evidence span,.marketing-agent-evidence small { display:block; }
.marketing-agent-evidence strong { font-size:10px; }
.marketing-agent-evidence strong b { display:inline-block; margin-right:6px; padding:2px 5px; border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--panel)); font-size:8px; letter-spacing:.04em; }
.marketing-agent-evidence span { margin-top:3px; color:var(--ink-2); font-size:10px; line-height:1.45; }
.marketing-agent-evidence small { margin-top:4px; color:var(--ink-3); font-size:9px; }
.marketing-agent-evidence section { padding-top:8px; border-top:1px solid var(--line-2); }
.marketing-agent-evidence section.is-gap { color:var(--orange); }
.marketing-agent-evidence section ul { margin:5px 0 0; padding-left:17px; color:var(--ink-2); font-size:9.5px; line-height:1.5; }
.marketing-agent-opportunity > footer { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line-2); }
.marketing-agent-opportunity > footer > div { display:flex; flex-wrap:wrap; gap:5px; }
.marketing-agent-opportunity > footer > div:first-child span { padding:4px 6px; border-radius:999px; color:var(--ink-2); background:var(--panel-2); font-size:9px; }
.marketing-agent-opportunity > footer > div:first-child small { align-self:center; color:var(--ink-3); font-size:9px; }
.marketing-agent-opportunity > footer .btn { min-height:35px; padding:6px 9px; font-size:10px; }
.marketing-agent-context { margin-top:12px; }
.marketing-agent-automation { margin-top:12px; }
.marketing-agent-schedule { display:grid; grid-template-columns:minmax(210px,1.25fr) 120px 130px 110px minmax(150px,.8fr) auto; align-items:end; gap:10px; padding:14px 16px; }
.marketing-agent-schedule label > span { display:block; margin-bottom:6px; color:var(--ink-2); font-size:9.5px; font-weight:750; }
.marketing-agent-schedule label em { color:var(--ink-3); font-style:normal; font-weight:520; }
.marketing-agent-schedule input,.marketing-agent-schedule select { width:100%; min-height:39px; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); font-size:11px; }
.marketing-agent-schedule input:focus,.marketing-agent-schedule select:focus { outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent); border-color:var(--accent); }
.marketing-agent-toggle { display:flex; align-items:center; min-height:39px; gap:9px; }
.marketing-agent-toggle > input { flex:none; width:17px; min-height:17px; height:17px; }
.marketing-agent-toggle span,.marketing-agent-toggle strong,.marketing-agent-toggle small { display:block; }
.marketing-agent-toggle span { margin:0 !important; }
.marketing-agent-toggle strong { color:var(--ink); font-size:10.5px; }
.marketing-agent-toggle small { margin-top:2px; color:var(--ink-3); font-size:9px; }
.marketing-agent-schedule-focus { grid-column:1/-2; }
.marketing-agent-schedule > .btn { min-height:39px; white-space:nowrap; }
.marketing-agent-automation > .marketing-agent-warning { margin:0 16px 14px; }

/* Lists, library and review */
.marketing-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }
.marketing-toolbar h2 { margin:0 0 3px; font-size:20px; letter-spacing:-.025em; }
.marketing-toolbar p { margin:0; color:var(--ink-2); font-size:12px; }
.marketing-toolbar .btn { flex:none; min-height:40px; }
.marketing-queue-count { padding:7px 10px; border-radius:999px; color:var(--ink-2); background:var(--panel-2); font-size:11px; font-weight:700; }
.marketing-filterbar { display:grid; grid-template-columns:minmax(260px,1fr) 150px 170px auto; align-items:center; gap:8px; margin-bottom:10px; }
.marketing-filterbar > span { color:var(--ink-3); font-size:11px; text-align:right; }
.marketing-list-wrap { overflow:auto; }
.marketing-record-table { width:100%; min-width:870px; border-collapse:collapse; font-size:11px; }
.marketing-record-table th { padding:9px 12px; border-bottom:1px solid var(--line); background:var(--panel-2); color:var(--ink-2); text-align:left; font-size:9.5px; letter-spacing:.045em; text-transform:uppercase; }
.marketing-record-table td { padding:11px 12px; border-bottom:1px solid var(--line-2); vertical-align:middle; }
.marketing-record-table tr:last-child td { border-bottom:0; }
.marketing-record-table tr:hover td { background:color-mix(in srgb,var(--panel-2) 60%,transparent); }
.marketing-record-table td strong,.marketing-record-table td small { display:block; }
.marketing-record-table td small { max-width:360px; margin-top:3px; overflow:hidden; color:var(--ink-3); text-overflow:ellipsis; white-space:nowrap; }
.marketing-asset-link { display:flex; align-items:center; min-width:230px; max-width:430px; gap:10px; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.marketing-asset-link > span { min-width:0; }
.marketing-status-badge { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; color:var(--ink-2); background:var(--grey-bg); font-size:9.5px; font-weight:740; white-space:nowrap; }
.marketing-status-badge.is-review { color:var(--orange); background:var(--orange-bg); }
.marketing-status-badge.is-approved { color:var(--green); background:var(--green-bg); }
.marketing-priority-high { color:var(--red); font-weight:760; }
.marketing-row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.marketing-row-actions button,.marketing-row-actions select { min-height:34px; padding:5px 8px; border:1px solid var(--line); border-radius:7px; background:var(--panel); color:var(--ink); font-weight:680; font-size:10px; }
.marketing-row-actions button { cursor:pointer; }
.marketing-row-actions button:hover { border-color:var(--accent); color:var(--accent); }
.marketing-recent-list { display:grid; }
.marketing-recent-list > button { display:grid; grid-template-columns:34px minmax(0,1fr) auto 68px; align-items:center; gap:10px; min-height:58px; padding:10px 14px; border:0; border-bottom:1px solid var(--line-2); background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.marketing-recent-list > button:last-child { border-bottom:0; }
.marketing-recent-list > button:hover { background:var(--panel-2); }
.marketing-recent-list span:not(.marketing-status-badge),.marketing-review-list article > button span { min-width:0; }
.marketing-recent-list strong,.marketing-recent-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.marketing-recent-list strong { font-size:11px; }
.marketing-recent-list small { margin-top:3px; color:var(--ink-3); font-size:10px; }
.marketing-recent-list time { color:var(--ink-3); font-size:9.5px; text-align:right; }
.marketing-review-compact { display:grid; }
.marketing-review-compact button { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:49px; padding:10px 14px; border:0; border-bottom:1px solid var(--line-2); background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.marketing-review-compact button:last-child { border-bottom:0; }
.marketing-review-compact span { color:var(--ink-3); font-size:10px; }
.marketing-review-list { display:grid; }
.marketing-review-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:70px; padding:11px 14px; border-bottom:1px solid var(--line-2); }
.marketing-review-list article:last-child { border-bottom:0; }
.marketing-review-list article > button,.marketing-review-list article > div:first-child { display:flex; align-items:center; min-width:0; gap:10px; padding:0; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.marketing-review-list strong,.marketing-review-list small { display:block; }
.marketing-review-list small { margin-top:3px; color:var(--ink-3); font-size:10px; }

/* Existing opportunity and campaign dialogs */
.marketing-dialog { width:min(720px,calc(100vw - 28px)); max-height:min(860px,calc(100vh - 28px)); padding:0; overflow:auto; border:1px solid var(--line); border-radius:14px; background:var(--panel); color:var(--ink); box-shadow:0 24px 70px rgba(12,24,38,.26); }
.marketing-dialog::backdrop { background:rgba(8,17,26,.45); backdrop-filter:blur(2px); }
.marketing-dialog header { position:sticky; z-index:2; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px 15px; border-bottom:1px solid var(--line); background:var(--panel); }
.marketing-dialog header h2 { margin:0 0 3px; font-size:19px; }
.marketing-dialog header p { margin:0; color:var(--ink-2); font-size:11px; }
.marketing-dialog header button { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); color:var(--ink-2); cursor:pointer; }
.marketing-dialog header button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; }
.marketing-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px 20px; }
.marketing-form-grid label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.marketing-form-grid label > span { color:var(--ink-2); font-size:10px; font-weight:750; }
.marketing-form-grid label em { color:var(--ink-3); font-size:9px; font-style:normal; font-weight:500; }
.marketing-form-wide { grid-column:1/-1; }
.marketing-form-grid input,.marketing-form-grid select,.marketing-form-grid textarea { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); font-size:12px; line-height:1.4; }
.marketing-form-grid textarea { resize:vertical; }
.marketing-form-grid input:focus,.marketing-form-grid select:focus,.marketing-form-grid textarea:focus { outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent); border-color:var(--accent); }
.marketing-dialog footer { position:sticky; bottom:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:13px 20px; border-top:1px solid var(--line); background:var(--panel); }
.marketing-dialog footer [role="alert"] { margin-right:auto; color:var(--red); font-size:11px; }
.marketing-dialog footer .btn { min-height:40px; }

@media (max-width:1180px) {
  .marketing-agent-command { grid-template-columns:1fr; }
  .marketing-agent-presets { grid-column:auto; }
  .marketing-agent-schedule { grid-template-columns:1.2fr 1fr 1fr 1fr; }
  .marketing-agent-schedule-focus { grid-column:1/-2; }
  .marketing-studio-layout { grid-template-columns:minmax(320px,.78fr) minmax(440px,1.22fr); }
  .marketing-asset-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .marketing-brief-triple { grid-template-columns:1fr 1fr; }
  .marketing-brief-triple label:last-child { grid-column:1/-1; }
  .marketing-overview-grid { grid-template-columns:1fr; }
}

@media (max-width:880px) {
  .marketing-agent-opportunity-list { grid-template-columns:1fr; }
  .marketing-agent-presets { grid-template-columns:1fr 1fr; }
  .marketing-agent-schedule { grid-template-columns:1fr 1fr; }
  .marketing-agent-schedule-focus { grid-column:1/-1; }
  .marketing-agent-schedule > .btn { width:100%; }
  .marketing-studio-layout { grid-template-columns:1fr; }
  .marketing-studio-brief { max-height:none; min-height:0; }
  .marketing-brief-scroll { overflow:visible; }
  .marketing-studio-editor { position:static; min-height:620px; max-height:none; }
  .marketing-readiness { grid-template-columns:1fr; }
  .marketing-readiness-row { border-right:0; border-bottom:1px solid var(--line-2); }
  .marketing-readiness-row:last-child { border-bottom:0; }
}

@media (max-width:700px) {
  .marketing-agent-command { gap:15px; padding:17px 14px; }
  .marketing-agent-command-copy h2 { font-size:27px; }
  .marketing-agent-ask > div { grid-template-columns:1fr; }
  .marketing-agent-ask input,.marketing-agent-ask .btn { min-height:46px; font-size:16px; }
  .marketing-agent-presets { grid-template-columns:1fr 1fr; gap:6px; }
  .marketing-agent-presets button { min-height:62px; }
  .marketing-agent-run { grid-template-columns:38px minmax(0,1fr); }
  .marketing-agent-run .btn { grid-column:1/-1; min-height:44px; }
  .marketing-agent-metrics { grid-template-columns:1fr; }
  .marketing-agent-metrics > button,.marketing-agent-metrics > div { min-height:63px; border-right:0; border-bottom:1px solid var(--line-2); }
  .marketing-agent-metrics > :last-child { border-bottom:0; }
  .marketing-agent-opportunity-list { padding:8px; }
  .marketing-agent-opportunity { padding:13px; }
  .marketing-agent-confidence { display:none; }
  .marketing-agent-opportunity dl div { grid-template-columns:1fr; gap:2px; }
  .marketing-agent-opportunity > footer { display:grid; }
  .marketing-agent-opportunity > footer > div:last-child { display:grid; grid-template-columns:1fr; width:100%; }
  .marketing-agent-opportunity > footer .btn { min-height:44px; }
  .marketing-agent-schedule { grid-template-columns:1fr; padding:13px; }
  .marketing-agent-schedule-focus { grid-column:auto; }
  .marketing-agent-schedule input,.marketing-agent-schedule select,.marketing-agent-schedule > .btn { min-height:44px; font-size:16px; }
  .marketing-heading { display:grid; gap:8px; margin-bottom:7px; }
  .marketing-heading h1 { font-size:29px; }
  .marketing-heading p { font-size:12px; line-height:1.45; }
  .marketing-connection { display:flex; align-items:center; gap:8px; padding:0; text-align:left; }
  .marketing-connection small { white-space:nowrap; }
  .marketing-tabs { gap:22px; margin-right:-4px; }
  .marketing-tabs button { min-height:44px; font-size:12px; }
  .marketing-studio-heading { display:grid; gap:10px; }
  .marketing-studio-heading > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
  .marketing-studio-heading .btn { min-height:44px; padding-inline:10px; }
  .marketing-studio-layout { gap:10px; }
  .marketing-mode-switch { margin:10px 10px 0; }
  .marketing-mode-switch button { min-height:44px; }
  .marketing-brief-scroll { padding:10px; }
  .marketing-studio-action { padding:0 10px 10px; }
  .marketing-studio-create { min-height:48px; }
  .marketing-asset-category button { min-height:40px; font-size:10px; }
  .marketing-asset-types { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
  .marketing-asset-types button { min-height:58px; padding:7px 8px; }
  .marketing-asset-types svg { width:18px; height:18px; }
  .marketing-asset-types span { font-size:10.5px; }
  .marketing-brief-triple { grid-template-columns:1fr; }
  .marketing-brief-triple label:last-child { grid-column:auto; }
  .marketing-brief-scroll input,.marketing-brief-scroll select,.marketing-brief-scroll textarea,.marketing-image-editor textarea,.marketing-copy-fields input,.marketing-copy-fields textarea,.marketing-social-fields input,.marketing-social-fields textarea,.marketing-package-fields input,.marketing-package-fields textarea,.marketing-filterbar input,.marketing-filterbar select { min-height:44px; font-size:16px; }
  .marketing-studio-editor { min-height:560px; overflow:visible; }
  .marketing-studio-editor > header { align-items:flex-start; min-width:0; padding:11px 12px; }
  .marketing-studio-editor > header > div:last-child { flex:none; max-width:88px; justify-items:end; }
  .marketing-preview-tabs { padding-inline:12px; }
  .marketing-preview-tabs button { min-height:44px; }
  .marketing-text-editor,.marketing-image-editor,.marketing-social-editor,.marketing-package-editor { padding:10px; }
  .marketing-copy-preview { min-height:390px; padding:28px 20px; }
  .marketing-copy-preview h3 { font-size:27px; }
  .marketing-image-frame { min-height:340px; }
  .marketing-studio-editor > footer { position:sticky; z-index:3; bottom:74px; display:grid; gap:9px; margin:0 8px 8px; padding:10px; border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 32px rgba(15,30,45,.14); }
  .marketing-studio-editor > footer > div { display:grid; grid-template-columns:1fr 1fr; }
  .marketing-studio-editor > footer .marketing-regenerate { grid-column:1/-1; }
  .marketing-studio-editor > footer .btn { min-height:44px; }
  .marketing-social-preview { width:100%; }
  .marketing-social-copy { padding:13px; }
  .marketing-package-preview { width:100%; }
  .marketing-package-document { display:block; }
  .marketing-package-document .marketing-package-visual { min-height:240px; aspect-ratio:16/9; border-right:0; border-bottom:1px solid var(--line-2); }
  .marketing-package-copy { padding:22px 18px 24px; }
  .marketing-package-copy h3,.marketing-package-document .marketing-package-copy h3 { font-size:27px; }
  .marketing-overview-command { display:grid; padding:18px; }
  .marketing-overview-command > div:last-child { display:grid; grid-template-columns:1fr 1fr; }
  .marketing-overview-command .btn { min-height:44px; padding-inline:10px; }
  .marketing-compact-summary { grid-template-columns:1fr; }
  .marketing-compact-summary button { justify-content:space-between; min-height:52px; padding:0 15px; border-right:0; border-bottom:1px solid var(--line-2); }
  .marketing-compact-summary button:last-child { border-bottom:0; }
  .marketing-toolbar { display:grid; align-items:start; }
  .marketing-toolbar .btn { width:100%; min-height:44px; }
  .marketing-filterbar { grid-template-columns:1fr 1fr; }
  .marketing-filterbar label { grid-column:1/-1; }
  .marketing-filterbar > span { grid-column:1/-1; text-align:left; }
  .marketing-recent-list > button { grid-template-columns:34px minmax(0,1fr) auto; min-height:66px; padding:9px 10px; }
  .marketing-recent-list time { display:none; }
  .marketing-recent-list .marketing-status-badge { font-size:9px; }
  .marketing-review-list article { display:grid; }
  .marketing-review-list .marketing-row-actions { justify-content:flex-start; }
  .marketing-row-actions button,.marketing-row-actions select { min-height:44px; }
  .marketing-form-grid { grid-template-columns:1fr; padding:16px; }
  .marketing-form-wide { grid-column:auto; }
  .marketing-dialog { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .marketing-dialog header,.marketing-dialog footer { padding-right:16px; padding-left:16px; }
  .marketing-dialog footer { flex-wrap:wrap; }
  .marketing-dialog footer [role="alert"] { flex-basis:100%; }
  .marketing-dialog footer .btn { flex:1; min-width:120px; min-height:44px; }
}

@media (prefers-reduced-motion:reduce) {
  .marketing-dialog::backdrop { backdrop-filter:none; }
  .marketing-generation-progress i::after { animation:none; left:0; width:100%; }
  .marketing-agent-run.is-running .marketing-agent-run-icon svg { animation:none; }
}
