:root{--mi-ink:#122033;--mi-text:#344457;--mi-muted:#667484;--mi-navy:#101d2d;--mi-navy-2:#17283b;--mi-green-900:#064e4b;--mi-green-800:#087f78;--mi-green-700:#0b9189;--mi-green-600:#14a39a;--mi-green-500:#2bb9af;--mi-green-100:#e5f5f3;--mi-green-50:#f2faf9;--mi-canvas:#f3f5f7;--mi-border:#d5dce3;--mi-border-strong:#b9c4cf;--mi-radius-sm:3px;--mi-radius:4px;--mi-radius-lg:6px;--mi-radius-xl:8px;--mi-shadow-sm:0 1px 2px rgba(18,32,51,.04);--mi-shadow:0 8px 24px rgba(18,32,51,.07);--mi-focus:0 0 0 3px rgba(11,145,137,.2);--mi-content:1440px}
html{font-size:15px}body{background:#f4f6f8;color:var(--mi-text)}h1,h2,h3,h4{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mi-ink);letter-spacing:-.035em}p,li,dd,td{line-height:1.5}.lead{line-height:1.45}.eyebrow{color:#087f78;letter-spacing:.12em}
.topbar{height:62px;border-bottom:1px solid #dfe4e9;box-shadow:none}.topbar-logo img{max-width:190px!important}.app-body{min-height:calc(100vh - 62px)}.sidebar{top:62px;width:214px;height:calc(100vh - 62px);padding:1rem .65rem;background:#101d2d}.content{max-width:none!important;padding:clamp(1rem,2.1vw,2rem);margin-left:214px}.sidebar .nav-label{padding:.8rem .7rem .3rem;color:#8291a2}.sidebar .side-nav a{min-height:38px;padding:.52rem .65rem;border-radius:3px;font-size:.86rem;font-weight:650}.sidebar .side-nav a[aria-current=page]{background:#087f78;box-shadow:none}.sidebar .side-nav a:hover{background:#1b2f45}.sidebar-help{display:none!important}
.page-head{margin-bottom:1rem}.page-head h1,.workspace-header h1,.content h1{font-size:clamp(1.9rem,2.7vw,2.7rem);font-weight:760}.content h2{font-size:clamp(1.2rem,1.6vw,1.65rem)}
.card,section,.workspace-panel,.analysis-section,.guided-task-card,.guided-next,.guided-context,.guided-ready-card,.intake-path-card,.campaign-heartbeat-card{border-radius:6px!important;box-shadow:none!important}.workspace-panel,.guided-task-card{padding:clamp(.9rem,1.6vw,1.35rem)!important}.btn,button{min-height:40px;padding:.56rem .85rem;border-radius:4px!important;background:#087f78;box-shadow:none!important;font-weight:700}.btn:hover,button:hover{background:#066c67;transform:none}.btn-secondary,button.secondary{background:#fff}.status-pill,.badge,.journey-status{border-radius:4px!important}
.campaign-lifecycle{top:0;max-width:720px;margin:0 0 1rem;padding:0;border:0;border-bottom:1px solid #d5dce3;border-radius:0;box-shadow:none;background:#fff}.campaign-lifecycle a{min-height:38px;border-radius:0;border-bottom:3px solid transparent}.campaign-lifecycle a b{border-radius:3px}.campaign-lifecycle a[aria-current=step]{background:transparent;border-bottom-color:#087f78}.campaign-lifecycle a[aria-current=step] b{background:#087f78}
.journey-page-head{align-items:center}.journey-campaign-list{gap:10px}.journey-campaign-card{grid-template-columns:250px minmax(0,1fr) 150px;gap:18px;padding:12px 14px;border-radius:6px!important;border-color:#d4dce3;box-shadow:none}.journey-campaign-card:hover{border-color:#98a8b8;background:#fff}.campaign-artwork-pair{gap:4px}.campaign-artwork-pair :where(span,a){border-radius:2px!important}.journey-campaign-copy h2{font-size:1.25rem}.journey-campaign-copy p{margin:.25rem 0}.journey-next{min-width:0}.journey-next .btn{width:100%}.campaign-card-menu{margin-top:.35rem}.campaign-list-open-note{display:block;margin-top:.35rem;color:#718091;font-size:.72rem;text-align:center}
.campaign-identity-panel{grid-template-columns:minmax(420px,1.25fr) minmax(280px,.75fr);gap:24px;padding:16px!important;border-top:2px solid #087f78!important}.campaign-artwork-pair-large{max-height:52vh}.campaign-artwork-pair-large :where(span,a){max-height:52vh}.campaign-path-grid{gap:10px}.campaign-path-card{border-radius:5px!important;padding:1rem!important}.campaign-path-card h2{margin:.2rem 0}.campaign-path-card p{font-size:.9rem}.campaign-follow-up-summary{background:#fff!important;border-color:#d5dce3!important}
.guided-workflow{width:100%;max-width:none!important}.guided-workflow>.guided-header{margin-bottom:.7rem}.guided-workflow>.guided-header p{max-width:780px}.guided-task-card{margin-bottom:.75rem}.qr-save-test-intro{padding:.65rem .8rem!important}.qr-workspace-tabs{display:flex;gap:0;margin:.65rem 0;border-bottom:1px solid #cbd4dc}.qr-workspace-tabs button{min-width:150px;border:0;border-bottom:3px solid transparent;background:transparent;color:#5a6877}.qr-workspace-tabs button[aria-selected=true]{border-bottom-color:#087f78;color:#122033;background:#eef7f6}.qr-surface-designer{width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) 330px!important;grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important;gap:.45rem .9rem!important;padding:.75rem!important;overflow:visible;background:#fff!important}.qr-surface-designer[hidden]{display:none!important}.qr-surface-designer>:not(.qr-surface-controls){min-width:0;grid-column:1!important}.qr-surface-designer>.qr-surface-controls{position:relative!important;inset:auto!important;z-index:1!important;grid-column:2!important;grid-row:1/7!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:calc(100vh - 150px)!important;overflow:auto!important;padding:.75rem!important;border:1px solid #d5dce3!important;border-radius:4px!important;background:#f8fafb!important;box-shadow:none!important}.qr-placement-instruction,.qr-boundary-disclosure{margin:.1rem 0;font-size:.75rem}.qr-boundary-key{margin:.15rem 0}.qr-design-canvas{grid-row:5!important;width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100vh - 285px)!important;aspect-ratio:var(--qr-art-ratio,1.48/1)!important;border-radius:2px!important}.qr-design-artwork{width:100%;height:100%;object-fit:contain}.qr-surface-controls label{font-size:.82rem}.qr-surface-controls input,.qr-surface-controls select,.qr-surface-controls textarea{min-height:38px;font-size:.88rem}.qr-surface-save-control{position:sticky;top:0;z-index:3;margin:-.75rem -.75rem .75rem;padding:.7rem;background:#fff;border-bottom:1px solid #d5dce3}.qr-surface-save-control p{margin:.15rem 0 .45rem;font-size:.78rem}.qr-treatment-designer{padding:.85rem!important;border-radius:4px!important}
.is-planning-map>.notice,.is-planning-map>.analytics-decision-layer,.is-planning-map>.visual-audience-summary{margin-bottom:.65rem}.is-planning-map>.notice p,.is-planning-map .visual-audience-summary p{margin:.25rem 0}.is-planning-map .visual-audience-summary .cards{grid-template-columns:repeat(4,1fr);gap:6px}.is-planning-map .visual-audience-summary .cards article{border-radius:4px;padding:.55rem .7rem}.is-planning-map .scan-map-panel{display:block!important;width:100%!important;padding:.75rem!important}.is-planning-map .scan-map-panel>.panel-heading{margin-bottom:.5rem}.is-planning-map .scan-map-panel>.production-map-toolbar{position:relative!important;top:auto!important;display:flex!important;margin:0 0 .5rem!important;padding:.45rem!important;border-radius:4px!important}.is-planning-map .privacy-scan-map{display:block!important;width:100%!important;min-width:0!important;height:calc(100vh - 270px)!important;min-height:520px!important;margin:0!important;border-radius:4px!important}.is-planning-map .scan-map-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}.is-planning-map .map-privacy-details{margin-top:.45rem}.is-planning-map .production-map-views button{border-radius:3px!important}.territory-drawer{border-radius:4px!important}.territory-drawer p{font-size:.82rem}
.response-now{border-radius:5px;box-shadow:none}.analytics-insight-grid{gap:.75rem}.qr-analytics-page .scan-map-panel{border-radius:5px!important}.qr-analytics-page .privacy-scan-map{border-radius:4px!important}
@media(max-width:1050px){.sidebar{width:190px}.content{margin-left:190px}.journey-campaign-card{grid-template-columns:210px 1fr}.journey-next{grid-column:2}.qr-surface-designer{grid-template-columns:1fr!important}.qr-surface-designer>.qr-surface-controls{grid-column:1!important;grid-row:auto!important;position:static!important;max-height:none!important}.qr-design-canvas{max-height:none!important}}
@media(max-width:760px){.sidebar{display:none}.content{margin-left:0}.journey-campaign-card{grid-template-columns:1fr}.journey-next{grid-column:1}.campaign-identity-panel{grid-template-columns:1fr}.is-planning-map .visual-audience-summary .cards{grid-template-columns:1fr 1fr}.is-planning-map .privacy-scan-map{height:65vh!important;min-height:420px!important}.campaign-lifecycle{grid-template-columns:repeat(4,1fr)}.campaign-lifecycle a span{font-size:.72rem}}

/* Customer shell: restrained dark navigation with typography replacing icons. */
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar{border-right:0!important;background:linear-gradient(180deg,#102a43 0%,#0a2033 100%)!important;box-shadow:5px 0 18px rgba(16,42,67,.12)!important;scrollbar-color:#456276 transparent!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .nav-label{color:#8fa8b9!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .nav-icon{display:none!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav{gap:3px!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a{min-height:36px!important;padding:.48rem .68rem!important;border:1px solid transparent!important;border-radius:4px!important;color:#dce8ee!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.01em!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a:hover{border-color:rgba(255,255,255,.1)!important;background:rgba(255,255,255,.075)!important;color:#fff!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a[aria-current="page"]{border-color:#0f948c!important;background:#0f948c!important;color:#fff!important;box-shadow:none!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo small{display:block!important;color:#52696b!important;font-size:.51rem!important;font-weight:700!important;letter-spacing:.115em!important;text-transform:uppercase!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo{box-sizing:border-box!important;flex:0 0 var(--mi-sidebar)!important;width:var(--mi-sidebar)!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo picture{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;padding:0!important}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo img{margin:0 auto!important}

/* Shell geometry correction: the base shell already reserves sidebar space. */
:root{--mi-sidebar:214px}.app-body{padding-left:214px}.content{margin:0 auto!important}
@media(max-width:1050px){:root{--mi-sidebar:190px}.app-body{padding-left:190px}}
@media(max-width:760px){.app-body{padding-left:0}.content{margin:0!important}}

/* Professional customer navigation rail. Keep stable wayfinding without competing with page tools. */
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo{gap:1px;justify-content:center}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo picture{padding:.27rem .55rem;box-shadow:none}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo img{max-width:176px!important;max-height:22px}
.app-shell:not(:has(.side-nav a[href="/admin"])) .topbar-logo small{display:block;color:#c7d5df;font-size:.5rem;font-weight:650;letter-spacing:.11em;line-height:1;text-transform:uppercase}
.app-shell:not(:has(.side-nav a[href="/admin"])) .app-body{background:var(--mi-canvas)}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar{padding:.72rem .55rem 1rem;border-right:1px solid #d6e0e3;background:#fff;box-shadow:5px 0 18px rgba(18,32,51,.035);scrollbar-color:#b7cfcd transparent}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .nav-label{padding:.62rem .58rem .25rem;color:#708582;font-size:.57rem;letter-spacing:.16em}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav{gap:3px}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a{min-height:36px;padding:.43rem .55rem;border:1px solid transparent;border-radius:4px;color:#20384b;font-size:.78rem;font-weight:700;box-shadow:none}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .nav-icon{flex-basis:1.25rem;width:1.25rem;height:1.25rem;color:#087f78;font-size:.82rem}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a:hover{border-color:#c6e2df;background:#eef8f7;color:#086b66}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a:hover .nav-icon{color:#087f78}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a[aria-current="page"]{border-color:#087f78;background:#087f78;color:#fff;box-shadow:none}
.app-shell:not(:has(.side-nav a[href="/admin"])) .sidebar .side-nav a[aria-current="page"] .nav-icon{color:#fff}
@media(max-width:760px){.topbar-logo small{display:none!important}}

/* Campaign index: compact production library with artwork kept prominent. */
.campaign-index-page{display:grid;gap:8px}
.campaign-index-page .journey-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0;padding:11px 13px;border:1px solid #d5dfe2;border-radius:5px;background:#fff}
.campaign-index-page .journey-page-head h1{margin:0;font-size:1.48rem!important;line-height:1.05}
.campaign-index-page .journey-page-head .lead{max-width:720px;margin:3px 0 0;color:#667b79;font-size:.76rem;line-height:1.35}
.campaign-index-page .header-actions{display:grid;grid-template-columns:180px;gap:5px}
.campaign-index-page .header-actions .btn{display:grid;place-items:center;min-height:42px;padding:7px 12px;font-size:.78rem}
.campaign-index-page .header-actions .btn{border:1px solid #087f78!important;background:#fff!important;color:#087f78!important}
.campaign-index-page .header-actions .btn:hover,.campaign-index-page .header-actions .btn:focus-visible{border-color:#066c67!important;background:#eef8f7!important;color:#066c67!important}
.campaign-index-page .journey-campaign-list{display:grid;gap:7px}
.campaign-index-page .journey-campaign-card{grid-template-columns:260px minmax(0,1fr) 138px!important;gap:14px;min-height:0;padding:9px 10px!important;border:1px solid #d5dfe2!important;border-radius:5px!important;background:#fff;box-shadow:none!important}
.campaign-index-page .journey-campaign-card:hover{border-color:#8fbeba!important;background:#fff!important}
.campaign-index-page .campaign-artwork-pair{gap:4px}
.campaign-index-page .campaign-artwork-pair :where(span,a){aspect-ratio:1.48/1;border:1px solid #cbd8dc!important;border-radius:2px!important;background:#f7f9fa}
.campaign-index-page .campaign-artwork-pair img{object-fit:contain!important;background:#fff}
.campaign-index-page .campaign-artwork-pair small{left:4px;bottom:4px;padding:2px 5px;border-radius:2px;background:#122b43;font-size:.52rem}
.campaign-index-page .journey-campaign-copy{min-width:0;align-self:center}
.campaign-index-page .journey-campaign-copy h2{margin:0 0 5px!important;font-size:1.08rem!important;line-height:1.15}
.campaign-index-page .journey-campaign-copy h2 a{color:#122b43}
.campaign-index-page .journey-campaign-copy>small{display:block;color:#6b7e7c;font-size:.69rem;line-height:1.35}
.campaign-index-page .journey-next{gap:4px!important;align-content:center!important}
.campaign-index-page .journey-next .btn{min-height:28px!important;padding:3px 7px!important;border-radius:3px!important;font-size:9px!important}
.campaign-index-page .campaign-delete-direct button{min-height:27px!important;padding:3px 7px!important;border-radius:3px!important;font-size:.61rem!important;font-weight:700!important}
.campaign-index-page .journey-next .btn{border-width:1px!important}
.campaign-index-page>.muted{margin:2px 0;font-size:.72rem}
@media(max-width:1050px){.campaign-index-page .journey-campaign-card{grid-template-columns:220px minmax(0,1fr) 138px!important}}
@media(max-width:820px){.campaign-index-page .journey-campaign-card{grid-template-columns:200px minmax(0,1fr)!important}.campaign-index-page .journey-next{grid-column:2!important;grid-template-columns:1fr 1fr}.campaign-index-page .journey-page-head{grid-template-columns:1fr}.campaign-index-page .header-actions{justify-self:start}}
@media(max-width:600px){.campaign-index-page .journey-campaign-card{grid-template-columns:1fr!important}.campaign-index-page .journey-next{grid-column:1!important}.campaign-index-page .header-actions{width:100%;grid-template-columns:1fr 1fr}}

/* Keep the Visual Audience Planner task-first and above the fold. */
.is-planning-map>.analytics-decision-layer,.is-planning-map>.proof-actions{display:none!important}.is-planning-map .visual-audience-summary{padding:.7rem .85rem!important}.is-planning-map .visual-audience-summary .panel-heading{margin-bottom:.45rem}.is-planning-map .visual-audience-summary .panel-heading h2{margin:.1rem 0;font-size:1.15rem}.is-planning-map .visual-audience-summary .panel-heading p{display:none}.is-planning-map .planning-export-guard{padding:.45rem .6rem;font-size:.76rem}.is-planning-map .visual-audience-summary>[data-planning-status]{margin:.35rem 0 0;font-size:.76rem}

/* Campaign index: artwork, identity, and one unambiguous action. */
.journey-campaign-card{grid-template-columns:290px minmax(0,1fr) 150px!important}.journey-campaign-card .journey-stage,.journey-campaign-card .journey-status,.journey-campaign-card .journey-campaign-copy>p,.journey-campaign-card .campaign-card-menu,.journey-campaign-card .campaign-list-open-note{display:none!important}.journey-campaign-card .campaign-title-row{display:block}.journey-campaign-card .journey-campaign-copy h2{margin:0 0 .4rem;font-size:1.35rem}.journey-campaign-card .journey-next .btn{background:#fff!important;color:#087f78!important;border:2px solid #087f78!important}.journey-campaign-card .journey-next .btn:hover{background:#087f78!important;color:#fff!important}
@media(max-width:1050px){.journey-campaign-card{grid-template-columns:240px minmax(0,1fr)!important}.journey-campaign-card .journey-next{grid-column:2}}
@media(max-width:760px){.journey-campaign-card{grid-template-columns:1fr!important}.journey-campaign-card .journey-next{grid-column:1}}

.journey-campaign-card .journey-next{display:grid!important;gap:4px;align-content:center}.journey-campaign-card .journey-next .btn{min-height:28px;padding:3px 7px;background:#087f78!important;color:#fff!important;border:1px solid #087f78!important;border-radius:3px!important;font-size:9px!important;font-weight:800!important}.journey-campaign-card .journey-next .btn:hover{background:#066c67!important;border-color:#066c67!important;color:#fff!important}.journey-campaign-card .campaign-delete-direct{display:block!important;margin:0}.journey-campaign-card .campaign-delete-direct button{width:100%;min-height:28px;padding:3px 7px;background:#fff!important;color:#087f78!important;border:1px solid #087f78!important;border-radius:3px!important;font-size:9px!important;font-weight:800!important}.journey-campaign-card .campaign-delete-direct button:hover{background:#eef8f7!important;color:#066c67!important;border-color:#066c67!important}
.journey-campaign-card .campaign-duplicate-direct,.journey-campaign-card .campaign-delete-direct{display:block!important;margin:0}.journey-campaign-card .campaign-duplicate-direct button,.journey-campaign-card .campaign-delete-direct button{width:100%;min-height:28px;padding:3px 7px;border:1px solid #087f78!important;border-radius:3px;background:#fff!important;color:#087f78!important;font-size:9px!important;font-weight:800}.journey-campaign-card .campaign-duplicate-direct button:hover,.journey-campaign-card .campaign-delete-direct button:hover{border-color:#066c67!important;background:#eef8f7!important;color:#066c67!important}
.campaign-index-page .journey-next .campaign-duplicate-direct,.campaign-index-page .journey-next .campaign-delete-direct{width:100%!important}.campaign-index-page .journey-next .campaign-duplicate-direct button,.campaign-index-page .journey-next .campaign-delete-direct button{display:block!important;width:100%!important;height:28px!important;min-height:28px!important;padding:3px 7px!important;font-size:9px!important;line-height:1!important;white-space:nowrap!important}
@media(max-width:600px){.campaign-index-page .journey-next .btn,.campaign-index-page .journey-next button,.campaign-index-page .journey-next .campaign-duplicate-direct button,.campaign-index-page .journey-next .campaign-delete-direct button{height:auto!important;min-height:44px!important;padding:8px 10px!important;font-size:.72rem!important}}
