/* One compact workspace across narrow phones, landscape screens and desktops. */
[hidden] { display:none !important; }
.main { min-width:0; }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.35;min-height:44px;white-space:normal; }
.app-shell .btn-primary { box-shadow:0 4px 12px #075e5415!important; }
.app-shell .mobile-tab > span { font-size:12px!important;line-height:1.2!important;letter-spacing:0!important;white-space:nowrap; }
.app-shell .admin-workspace .admin-banner { background:transparent!important;border:0!important;color:#526b62!important; }
.input,.select,.textarea { min-width:0;max-width:100%; }
button:focus-visible,summary:focus-visible,[role="tabpanel"]:focus-visible { outline:3px solid #078567;outline-offset:4px; }
.is-marketing .main.landing-page { box-sizing:border-box;width:min(1200px,100%);margin-inline:auto;padding:clamp(12px,2vw,24px) clamp(12px,2.5vw,30px) 16px; }
.presentation-controls { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px; }
.presentation-tabs { display:flex;gap:5px;padding:5px;background:#e9f2ee;border:1px solid #dce8e2;border-radius:18px; }
.presentation-tabs button { display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:0;border-radius:13px;background:transparent;color:#4a655b;font:600 13px 'DM Sans',sans-serif;cursor:pointer; }
.presentation-tabs button[aria-selected="true"] { background:#fff;color:#075e54;box-shadow:0 3px 12px #164e3410; }
.presentation-number { font-size:12px;opacity:.65; }
.presentation-arrows { display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;color:#537064; }
.presentation-arrows button { width:44px;height:44px;border:1px solid #cddfd5;border-radius:50%;background:white;color:#075e54;font-size:22px;cursor:pointer; }
.presentation-arrows button:disabled { opacity:.35;cursor:default; }
.presentation-panel { box-sizing:border-box;width:100%;min-width:0;min-height:min(570px,calc(100svh - 190px));border:1px solid #d8e7df;border-radius:28px;padding:clamp(20px,3vw,38px);background:linear-gradient(135deg,#fff,#eff8f2);box-shadow:0 16px 50px #164e3408; }
.presentation-panel .lp-hero { padding:0;margin:0;gap:28px;min-height:0; }
.presentation-panel .lp-copy h1 { font-size:clamp(34px,4.1vw,56px);line-height:1.08;margin:16px 0;letter-spacing:-.04em; }
.presentation-panel .lp-copy > p { font-size:15px;line-height:1.65;max-width:460px; }
.presentation-panel .lp-actions { margin:20px 0;gap:12px; }
.presentation-panel .lp-assurance { margin:18px 0 0; }
.presentation-panel .lp-availability { font-size:12px; }
.presentation-panel .lp-visual { padding:0;min-height:0; }
.presentation-panel .lp-phone { max-width:260px;margin:auto; }
.presentation-panel .lp-visual-note,.presentation-panel .lp-visual-label { display:none; }
.presentation-panel .lp-conversation { min-height:0;padding:12px; }
.presentation-panel .lp-campaign-image { min-height:100px;padding:18px; }
.presentation-panel .lp-chat-input { padding:10px; }
.presentation-panel .lp-how,.presentation-panel .lp-budget,.presentation-panel .lp-faq { margin:0;padding:0;border:0;background:none;box-shadow:none; }
.presentation-panel .lp-section-top h2,.presentation-panel .lp-budget h2,.presentation-panel .lp-faq h2 { font-size:clamp(28px,3.2vw,44px);line-height:1.12; }
.presentation-panel .lp-how { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.presentation-panel .lp-steps { display:grid;gap:12px; }
.presentation-panel .lp-steps article { padding:14px; }
.presentation-panel .lp-benefits { margin:24px 0 0;padding:16px 0 0;border-top:1px solid #dce8e2;gap:12px; }
.presentation-panel .lp-benefits h2 { font-size:14px; }
.presentation-panel .lp-benefits p { font-size:12px; }
.presentation-panel .lp-budget { min-height:360px;align-items:center; }
.presentation-panel .lp-faq details { padding:14px 0; }
.presentation-panel .lp-faq summary { font-size:15px;line-height:1.5; }
.presentation-panel .lp-faq p { font-size:14px;line-height:1.6; }
.is-marketing footer { padding-block:12px!important;margin-top:0!important; }
.workspace-tabs { display:flex;gap:8px;padding:5px;background:#eaf2ed;border-radius:14px;margin:20px 0; }
.workspace-tabs button { flex:1;min-height:44px;border:0;background:none;border-radius:10px;color:#4a655b;font-weight:700; }
.workspace-tabs button[aria-selected="true"] { background:white;color:#075e54;box-shadow:0 2px 8px #164e3410; }
.admin-workspace { max-width:1160px; }
@media(min-width:981px){
 .main.admin-workspace { width:calc(100% - 224px);margin-left:max(224px,calc(224px + (100vw - 224px - 1160px)/2));margin-right:auto; }
}
.admin-workspace .admin-banner { background:none;border:0;padding:0;margin:0 0 20px;color:#5a7066;font-size:13px; }
.admin-workspace > .card-grid { gap:12px; }
.admin-workspace .card-grid .card { padding:18px; }
.admin-workspace .metric { font-size:30px; }
.admin-workspace .campaign-list { margin-top:0; }
.admin-workspace .admin-order { padding:20px;border:1px solid #d8e7df;border-radius:18px;background:white;margin-bottom:16px; }
.admin-workspace .admin-order-head { gap:12px;align-items:flex-start; }
.admin-workspace .admin-order-head > div { min-width:0; }
.admin-workspace .admin-order h3 { font-size:18px;overflow-wrap:anywhere; }
.admin-workspace .message-excerpt { overflow-wrap:anywhere; }
.admin-workspace .admin-tools { display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px; }
.admin-workspace .admin-tools > .input,.admin-workspace .admin-tools > .select { flex:1 1 180px; }
.admin-workspace .admin-tools > label { display:flex;align-items:center;gap:8px; }
.admin-workspace .list-row { grid-template-columns:minmax(150px,2fr) minmax(90px,1fr) minmax(80px,1fr) 70px minmax(170px,1.3fr);gap:12px;align-items:center; }
.admin-workspace .list-row > * { min-width:0;overflow-wrap:anywhere; }
.admin-workspace .list-row > span:last-child { display:flex;align-items:center;gap:8px; }
.admin-cell-label { display:none; }
.guide-backdrop .guide-close { min-height:44px;width:44px;height:44px; }
.main .intro strong { overflow-wrap:anywhere; }
.dashboard-page .next-step-section { margin-top:20px; }
@media(max-width:700px){
 .is-marketing .main.landing-page { width:100%;padding:10px 12px 16px; }
 .presentation-controls { display:grid;gap:8px;margin-bottom:10px; }
 .presentation-tabs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:4px; }
 .presentation-tabs button { flex-direction:column;gap:2px;padding:7px 3px;font-size:12px;line-height:1.2; }
 .presentation-number { display:none; }
 .presentation-arrows { display:none; }
 .presentation-arrows button { height:36px;width:44px;border-radius:12px; }
 .presentation-panel { padding:20px 16px;border-radius:22px;min-height:0; }
 .presentation-panel .lp-hero { display:grid;grid-template-columns:minmax(0,1fr);gap:14px; }
 .presentation-panel .lp-copy h1 { font-size:clamp(30px,8.7vw,40px);margin:12px 0; }
 .presentation-panel .lp-copy > p { font-size:14px!important;line-height:1.5!important;margin:12px 0; }
 .presentation-panel .lp-kicker { font-size:12px; }
 .presentation-panel .lp-actions { display:grid;grid-template-columns:1fr;margin:14px 0;gap:6px; }
 .presentation-panel .lp-actions .btn { min-height:46px;padding:12px!important;font-size:14px!important; }
 .presentation-panel .lp-actions .lp-text-link { min-height:36px;justify-content:center; }
 .presentation-panel .lp-assurance { font-size:12px;margin-top:10px; }
 .presentation-panel .lp-assurance br { display:block; }
 .presentation-panel .lp-copy > .lp-availability { font-size:12px!important;line-height:1.5!important;margin-bottom:0; }
 .presentation-panel .lp-visual { display:none; }
 .presentation-panel .lp-how,.presentation-panel .lp-faq,.presentation-panel .lp-budget { display:grid;grid-template-columns:1fr;gap:16px;min-height:0; }
 .presentation-panel .lp-section-top h2,.presentation-panel .lp-budget h2,.presentation-panel .lp-faq h2 { font-size:28px;margin:10px 0; }
 .presentation-panel .lp-section-top p,.presentation-panel .lp-steps p { font-size:14px;line-height:1.5; }
 .presentation-panel .lp-steps article { padding:10px 0;gap:12px; }
 .presentation-panel .lp-steps h3 { font-size:16px;margin-bottom:5px; }
 .presentation-panel .lp-benefits { display:none; }
 .presentation-panel .lp-budget-price { padding:22px;border-radius:18px; }
 .presentation-panel .lp-budget-price > strong { font-size:60px; }
 .presentation-panel .lp-faq details { padding:12px 0; }
 .presentation-panel .lp-faq summary { font-size:14px; }
 .main.admin-workspace { padding:16px 12px 90px; }
 .admin-workspace > .section-head { align-items:flex-start;gap:12px; }
 .admin-workspace > .section-head h2 { font-size:25px; }
 .admin-workspace > .card-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px; }
 .admin-workspace .card-grid .card { padding:12px 8px;border-radius:12px; }
 .admin-workspace .metric { font-size:20px;overflow-wrap:anywhere; }
 .admin-workspace .metric-label,.admin-workspace .metric-sub { font-size:12px; }
 .admin-workspace .admin-order { padding:14px; }
 .admin-workspace .admin-order-head { flex-direction:column; }
 .admin-workspace .admin-tools { display:grid;grid-template-columns:minmax(0,1fr); }
 .admin-workspace .admin-tools > label { flex-wrap:wrap; }
 .admin-workspace .admin-tools .btn { width:100%;font-size:13px; }
 .admin-workspace .list-head { display:none; }
 .admin-workspace .list-row:not(.list-head) { display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:12px; }
 .admin-workspace .list-row > strong,.admin-workspace .list-row > span:last-child { grid-column:1 / -1; }
 .admin-workspace .list-row > span:last-child .input { flex:1;max-width:none!important; }
 .app-shell.is-wizard .main.compose-page { padding:14px 12px 0; }
 .compose-heading { margin-bottom:12px; }
 .compose-heading h1 { font-size:25px; }
 .compose-panel[aria-label="Écrire le message"] > .compose-intro { display:none; }
 .compose-panel .field { margin:10px 0; }
 .compose-examples { margin:4px 0; }
 .compose-panel .field > label { margin-bottom:6px; }
 .compose-page .toolbar { padding:6px; }
 .compose-steps { margin-bottom:12px;gap:5px; }
 .compose-steps li { flex-direction:row;gap:5px;align-items:center; }
 .compose-steps li > span { width:22px;height:22px;flex-shrink:0;font-size:12px; }
 .compose-steps li > b { font-size:12px; }
 .compose-page .compose-panel { padding:16px 12px; }
 .compose-editor .textarea { min-height:140px;height:clamp(140px,25svh,220px); }
 .compose-panel .counter { display:flex;flex-wrap:wrap;gap:5px; }
 .compose-panel .counter > span { flex:1 1 170px; }
 .compose-upload { padding:16px 12px; }
 .compose-upload > small { display:none; }
 .compose-page .wizard-actions { gap:8px; }
 .compose-command-bar .wizard-actions .btn { min-height:44px;font-size:13px;padding:10px; }
 .app-shell.is-wizard .compose-command-bar .wizard-actions { padding-block:8px; }
 .app-shell.is-wizard .compose-command-bar .wizard-live-estimate { padding-top:8px; }
 .compose-command-bar .final-action p { display:none; }
 .compose-page .contact-text { min-height:130px;height:150px; }
 .dashboard-page .welcome-art { display:none; }
 .dashboard-page .welcome-banner { padding:20px 16px;min-height:0; }
 .dashboard-page .welcome-banner h1 { font-size:28px; }
 .dashboard-page .card-grid { gap:8px; }
 .dashboard-page .card { padding:16px; }
}
@media(max-width:360px){ .compose-steps li { flex-direction:column;align-items:flex-start; } .presentation-panel { padding:16px 12px; } }
.credit-mobile-picker { display:none; }
@media(max-width:600px){
 .credits-page .credits-hero { padding:18px 16px;gap:12px;margin-bottom:16px; }
 .credits-page .credits-hero h1 { font-size:27px;line-height:1.15;margin-block:8px; }
 .credits-page .credits-hero p { font-size:14px;line-height:1.5;margin-bottom:0; }
 .credits-page .credits-balance { display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:12px;min-width:0; }
 .credits-page .credits-balance strong { font-size:24px;line-height:1.2;margin:0; }
 .credits-page .credits-balance span { flex-basis:100%;font-size:12px; }
 .credits-page .credits-balance small { font-size:12px; }
 /* Keep the actual pack buttons visible: the retired dropdown has no markup. */
 .credits-page .credit-mobile-picker { display:none; }
 .credits-page .credit-pack-grid { display:grid; }
 .credits-page .credits-section { padding:18px 16px; }
 .credits-page .section-head { margin-bottom:12px; }
 .credits-page .section-head h2 { font-size:22px; }
 .credits-page .credit-checkout { padding:16px 12px; }
}
@media(max-width:1100px){
 .admin-workspace .list-head { display:none; }
 .admin-workspace .list-row:not(.list-head) { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px;gap:12px; }
 .admin-workspace .list-row:not(.list-head) > * { grid-row:auto;grid-column:auto; }
 .admin-workspace .list-row:not(.list-head) > strong,.admin-workspace .list-row:not(.list-head) > span:last-child { grid-column:1 / -1; }
 .admin-workspace .list-row:not(.list-head) > span:last-child { flex-wrap:wrap; }
 .admin-workspace .admin-cell-label { display:block;flex-basis:100%;color:#64796c;font-size:12px;line-height:1.4;margin-bottom:3px;font-weight:500; }
 .admin-workspace .list-row > span:last-child .input { flex:1;max-width:none!important; }
}
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }
/* Private library and local-time campaign scheduling, including small phones. */
.library-dialog{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cce0d7;border-radius:22px;padding:24px;background:#fff;color:#123d34;box-shadow:0 24px 100px #002e2940}
.library-dialog::backdrop{background:#052e2870;backdrop-filter:blur(4px)}
.library-form{display:grid;gap:16px;min-width:0}.library-form header,.library-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.library-form h2{font-size:22px;margin:0}.library-form [data-fields]{display:grid;gap:16px}.library-form p{font-size:14px;line-height:1.5;margin:0}.library-form .textarea{min-height:150px;width:100%;box-sizing:border-box}.library-form .field{margin:0}.library-file-button{position:relative;white-space:normal;text-align:center}.library-form [data-files]{padding:0 0 0 20px;margin:0;overflow-wrap:anywhere;font-size:13px}
.library-quick-save{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:16px;border:1px solid #cee7db;border-radius:14px;background:#f2faf6}.library-quick-save label{display:grid;gap:6px;flex:1;min-width:min(220px,100%);font-size:13px}.library-quick-save small{font-size:12px;color:#426358;width:100%}.library-hub{margin:20px 0;padding:24px}.library-hub-actions{display:flex;gap:12px;flex-wrap:wrap}.library-hub h3{margin-top:24px}.library-message-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.campaign-schedule{border:1px solid #cce4d7;border-radius:16px;margin:20px 0;padding:16px;min-width:0}.campaign-schedule legend{font-size:16px;font-weight:700;padding:0 8px}.campaign-schedule [data-schedule-date]{display:grid;gap:10px;margin-top:12px}.campaign-schedule [data-schedule-date][hidden]{display:none}.campaign-schedule input[type=datetime-local]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.library-scheduled-label{display:block;font-size:12px;line-height:1.5;color:#426358;margin-top:5px;font-weight:500}
@media(max-width:480px){.library-dialog{padding:18px}.library-form footer .btn{flex:1;min-height:44px}.library-hub{padding:18px}.library-hub-actions .btn,.library-quick-save>.btn{width:100%;white-space:normal}.library-quick-save{padding:12px}.library-dialog .input,.library-dialog .textarea,.library-dialog .select{font-size:16px}.campaign-schedule .check-line{font-size:14px}.library-quick-save label{width:100%}}
.library-dialog{overflow:hidden}.library-form{display:flex;flex-direction:column;max-height:calc(100dvh - 76px)}.library-form>header,.library-form>footer,.library-form>[data-error]{flex-shrink:0}.library-form [data-fields]{overflow:auto;min-height:0;padding:4px}.library-form>footer{border-top:1px solid #e0eae4;padding-top:14px}
