@font-face{font-family:'Barlow Semi Condensed';src:url('/fonts/BarlowSemiCondensed-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Barlow Semi Condensed';src:url('/fonts/BarlowSemiCondensed-SemiBold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
:root{--font-ui:'Barlow Semi Condensed',Arial,sans-serif;--text-body:18px;--text-secondary:16px;--text-caption:14px;--title-page:36px;--title-section:26px}
body{font-family:var(--font-ui);font-size:var(--text-body);line-height:1.55}input,textarea,select,button,.button,.choices,.choices__inner,.choices__input{font-family:var(--font-ui);font-size:var(--text-body)}.content h1,.page-heading h1{font-size:var(--title-page);line-height:1.2;letter-spacing:-.4px}.content h2,.panel h2,.section-heading h2,.builder-workspace h2{font-size:var(--title-section);line-height:1.3;letter-spacing:0}.content h3{font-size:21px}.content p,.panel p,.muted,.media-intro p,.preset-card-copy p{font-size:var(--text-body)}.content label,.builder-properties label,.login-form-content label{font-size:17px}.hint,.content .hint,.panel .hint,.content small,.content .badge,.pagination,.app-tooltip,.snackbar p,.designer-credit{font-size:var(--text-secondary);line-height:1.55}.eyebrow,.nav-label,.builder-canvas-caption,.builder-tracking-note,.env-badge,.breadcrumbs,.login-private{font-size:var(--text-caption)}.sidebar nav a{font-size:18px}.sidebar .mode,.sidebar .mode small,.profile-summary-name small,.profile-summary-name{font-size:16px}.sidebar{padding-top:24px;padding-bottom:20px}.primary-navigation{min-height:0;overflow-y:auto}.primary-navigation a{padding-top:10px;padding-bottom:10px}.brand{font-family:var(--font-ui);font-size:32px}.button,.builder-actions .button,.builder-palette-grid button,.builder-column>button,.preset-actions .button,.preset-actions .text-button,.user-row-actions .button{font-size:17px;line-height:1.3}.builder-palette-grid button{min-height:86px}.builder-properties .choices__inner,.choices__inner{font-size:18px}.content th,.content td{font-size:17px}.preset-card-copy h3,.template-card strong{font-size:21px}.stat>span,.stat>small{font-size:16px}.stat>strong{font-size:38px}.login-intro,.login-form-content input,.story-intro,.story-features h3,.story-features p{font-size:18px}.story-pill,.story-edition,.story-footer,.login-form-footer{font-size:15px}.content .empty,.content .empty small{font-size:18px}.builder-report-issue{font-size:17px}.profile-popover a,.profile-popover button{font-size:17px}.connection-banner{display:flex;align-items:center;gap:16px;background:#fff1d7;border-bottom:1px solid #e3c88d;color:#614514;padding:16px 28px;position:sticky;top:0;z-index:1100}.connection-banner[hidden]{display:none}.connection-banner strong{font-size:19px}.connection-banner p{margin:2px 0;font-size:16px}.connection-banner button{margin-left:auto;background:#fff9ee;border:1px solid #be9a5c;border-radius:8px;padding:10px 14px;white-space:nowrap}.connection-banner .nav-icon{flex-basis:24px;width:24px;height:24px}.empty-state-illustration{display:block;width:min(250px,100%);height:160px;object-fit:contain;margin:12px auto 22px}.media-empty .empty-state-illustration{width:280px;height:190px}.media-intro .media-illustration{background:none;transform:none;width:130px;height:120px}.media-intro .media-illustration img{width:130px;height:120px}.media-intro{grid-template-columns:130px 1fr minmax(230px,320px)}
@media(max-width:700px){:root{--title-page:32px;--title-section:24px}.sidebar .brand{font-size:28px}.sidebar nav a{font-size:16px}.primary-navigation{overflow:visible}.connection-banner{flex-wrap:wrap;padding:12px 16px;gap:10px}.connection-banner>div{flex:1;min-width:200px}.connection-banner button{margin-left:34px}.content .eyebrow{font-size:14px}.builder-actions .button{font-size:16px}.media-intro{display:block}}
.builder-block{font-family:Arial,Helvetica,sans-serif}.builder-block p,.builder-block h2{font-size:inherit}.builder-preview-dialog .builder-device-tabs{display:flex;gap:8px;flex-wrap:wrap}.builder-device-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cbded2;border-radius:9px;padding:10px 14px;background:#fff;color:#365a47}.builder-device-tabs button[aria-pressed=true]{background:#174f3c;color:#fff;border-color:#174f3c}.builder-screen-label{font-size:16px;color:#607767;margin:12px 0}.builder-preview-stage{overflow:auto;min-width:0;background:#eaf0ec;border:1px solid #d8e3db;padding:20px;border-radius:15px;text-align:center}.builder-preview-grid iframe{display:block;width:600px;max-width:100%;border:8px solid #264c3b;border-radius:12px;box-sizing:content-box;box-shadow:0 8px 24px #173c2820}.builder-preview-grid iframe.mobile{width:360px;max-width:100%;border-width:10px;border-radius:28px}.builder-preview-dialog{width:min(1350px,96vw);max-width:1350px}.builder-preview-grid{grid-template-columns:minmax(0,2fr) minmax(250px,1fr)}@media(max-width:1000px){.builder-preview-grid{grid-template-columns:1fr}.builder-preview-dialog header{align-items:flex-start;flex-wrap:wrap}.builder-preview-stage{padding:12px}.builder-preview-grid iframe{box-sizing:border-box}}
.sidebar nav.primary-navigation a{padding:8px 12px;margin-bottom:3px;line-height:1.35}.file-picker-button,.file-picker-name{font-size:16px}.content .backup-last{font-size:30px}
.session-banner{display:flex;align-items:center;gap:18px;padding:18px 28px;background:#fff0d5;color:#624819;border-bottom:1px solid #dfc68f}.session-banner[hidden]{display:none}.session-banner strong{font-size:20px}.session-banner p{font-size:17px;margin:4px 0}.session-banner .button{margin-left:auto;white-space:nowrap}@media(max-width:700px){.session-banner{flex-wrap:wrap;padding:14px}.session-banner .button{margin-left:0}}
/* Common UI text scale: action links must remain as readable as buttons. */
.content .text-link,.content .text-button,.content .settings-anchors a,.content .quick-action,.content .template-card a{font-size:17px;line-height:1.4}
.content td strong,.content td small,.content th,.content td,.content .stat small,.content .stat>span,.content .hero p,.content .hero-tag,.content .profile-email{font-size:17px}
.content input,.content select,.content textarea,.content .choices__item,.content .choices__input,.content .choices__inner{font-size:18px}
.content .panel .text-link,.content .page-heading .text-link{font-size:18px}
#channels form{display:grid;gap:8px;margin-bottom:24px}#channels form .button{justify-self:start;margin-top:8px}#channels h3{margin-top:28px}

/* Secondary information uses 16px throughout, including legacy dashboard widgets. */
.dash-kicker,.dash-label,.dash-pill,.dash-calendar>span,.dash-calendar>div,.dash-caption,.dash-next-date small,.dash-next-name,.dash-metric-title,.dash-metric-foot,.dash-metric-foot>span:last-child,.dash-count,.dash-panel-note,.dash-panel-note>span,.dash-audience-total>span,.dash-legend>div,.dash-legend strong,.dash-audience-note,.dash-campaign-info small,.dash-campaign-meta small,.dash-step strong,.dash-step small,.dash-step>span:first-child,.dash-step b,.dash-welcome-art>span,.dashboard-page .env-badge,.dashboard-page .nav-label,.dashboard-page .mode,.dashboard-page .logout,.dashboard-page .topbar,.dashboard-page .designer-credit,.profile-popover-heading,.settings-remove summary,.template-version summary,.template-text,.import-history-item small,.import-history-item .badge,.import-errors,.breadcrumbs li,.breadcrumbs a,.ql-snow .ql-picker,.chart-data-table summary,.map-selection,.map-legend>span,.analytics-grid .hint,.analytics-section .hint,.readiness-report p,.readiness-report ul,.readiness-limits summary,.brevo-verification,.help-tooltip,.notice,.error,.art-chip,.story-visual-note,.feature-number{font-size:16px;line-height:1.5}
.dash-welcome .button,.dash-empty .button,.dash-create,.dash-next .text-link,.dash-audience .text-link,.dash-workspace .text-link,.run-actions .button,.login-submit .login-button-label,.dashboard-page .mobile-logout .text-button{font-size:18px;line-height:1.4}
.dash-campaign-info strong,.dash-launch-heading p,.dash-service-note p,.dash-heading p,.dash-welcome p,.dash-empty p{font-size:18px;line-height:1.5}

/* Keep the help glyph centered independently of surrounding form typography. */
button.help-tooltip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;flex:0 0 24px;padding:0;margin:0 0 0 5px;line-height:1;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;text-indent:0;letter-spacing:0;vertical-align:middle;box-sizing:border-box}
.phone-audience-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:24px;margin-top:24px}.phone-audience-grid form>label{display:block;margin-top:14px}.phone-audience-grid textarea{width:100%}.phone-audience-grid .permission-check{display:flex;gap:10px;align-items:flex-start}.phone-audience-grid .permission-check input{width:auto}.phone-audience-grid .button{margin-top:12px}@media(max-width:1000px){.phone-audience-grid{grid-template-columns:1fr}}
.phone-audience-grid form>label.label-with-help{display:inline-block}
/* Connection screen: size the composition to the viewport instead of stacking
   fixed vertical paddings. The green presentation never has its own scrollbar. */
.login-split{min-height:100svh;align-items:stretch}
.login-form-side{padding:clamp(18px,3vh,32px) clamp(24px,5vw,80px);min-height:0}
.login-form-content{padding:20px 0;margin:auto;width:100%}
.login-form-content h1{margin:12px 0}
.login-form-content .login-intro{margin-bottom:16px;line-height:1.5}
.login-form-content label{margin-top:16px}
.login-form-footer{padding-top:12px;flex-shrink:0}
.login-story{min-height:0;padding:24px clamp(24px,4vw,64px);overflow:clip}
.story-top,.story-footer{flex-shrink:0}
.story-content{min-height:0;padding:18px 0;margin:auto}
.login-story .story-content h2{font-size:clamp(28px,3vw,42px);line-height:1.15;margin:12px 0}
.login-story .story-intro{font-size:18px;line-height:1.5;margin:0 0 12px;max-width:480px}
.story-visual{height:clamp(90px,16vh,160px);margin:0 0 16px}
.story-visual>img{height:100%;width:auto;max-width:100%}
.story-ring{height:80%;width:65%}
.story-features{gap:12px}
.login-story .story-features h3{font-size:18px;line-height:1.3}
.login-story .story-features p{font-size:16px;line-height:1.4;max-width:420px}
.story-footer{padding-top:12px;font-size:15px}
@media(min-width:761px) and (max-height:850px){.story-visual{display:none}.story-content{padding:12px 0}.login-story .story-content h2{font-size:32px}.story-features{gap:10px}.story-top .story-pill{font-size:14px}.login-form-content{padding:12px 0}.login-form-side .brand-logo{height:40px}.login-form-content h1{font-size:32px}.login-private{margin-top:12px}.login-submit{margin-top:20px}}
@media(min-width:761px) and (max-height:650px){.story-features{display:none}.login-form-content .eyebrow{display:none}.login-form-content h1 br{display:none}.login-form-content .login-intro{font-size:16px;margin-bottom:8px}.login-form-content label{margin-top:10px}.login-form-content{padding:8px 0}.login-form-side{padding-top:12px;padding-bottom:12px}.login-form-footer{padding-top:6px}.login-private{margin-top:8px}.login-submit{margin-top:14px}}
@media(max-width:760px){.login-split{display:flex;flex-direction:column}.login-story{display:none}.login-form-side{min-height:100svh;padding:20px 24px}.login-form-content{padding:24px 0}.login-form-footer{text-align:center}}

@media (forced-colors:none){html,.primary-navigation,.table-wrap,.choices__list--dropdown,.ql-editor,textarea{scrollbar-width:thin;scrollbar-color:#8eb9a7 #edf4ef}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#edf4ef}::-webkit-scrollbar-thumb{background:#8eb9a7;border:2px solid #edf4ef;border-radius:12px}::-webkit-scrollbar-thumb:hover{background:#5f9a80}}
.app-footer{width:100%;background:#fff;border-top:1px solid #e2ebe5;padding:20px 38px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;flex-shrink:0}.app-footer .footer-copyright,.app-footer .designer-credit{font-size:16px;color:#63796e;line-height:1.5}.app-footer .designer-credit:before{content:'— ';}
@media(max-width:700px){.app-footer{padding:18px;justify-content:center;text-align:center;gap:6px}.app-footer .footer-copyright{width:100%}}
.empty-state-illustration.empty-state-compact{width:min(170px,100%);height:112px;object-fit:contain;margin:12px auto 16px}
.content td.empty{text-align:center;vertical-align:middle}
.empty-state-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;text-align:center}
.empty-state-content>.empty-state-illustration{flex:none;display:block;margin:0 auto 12px}
.empty-state-content>small,.empty-state-content>a{max-width:100%;text-align:center;margin:0}
