/* ============================================================
   KIIWIS — Campaigns Page Styles
   Requires: css/site.css loaded first
   ============================================================ */

:root{--bg:#f8fafc;--panel:#fff;--panel-2:#f1f5f9; --line:#e2e8f0;--line-strong:#cbd5e1; --text:#0f172a;--text-2:#334155;--muted:#556070;--muted-2:#5f6b7f; --green:var(--k-green, #23812e);--green-deep:var(--k-green, #23812e);--green-soft:#e4fadf;--green-border:#b2e976; --amber:#d97706;--amber-soft:#fef3c7;--amber-border:#fbbf24; --blue:#2563eb;--blue-soft:#dbeafe;--blue-border:#60a5fa; --red:#c25550;--red-soft:#f5eae9;--red-border:#e0bcba; --purple:#7c3aed;--purple-soft:#f3f0ff; --shadow:0 1px 3px rgba(0,0,0,.02); --shadow-md:0 4px 12px rgba(0,0,0,.04); --shadow-lg:0 8px 24px rgba(0,0,0,.08); --shadow-green:0 6px 24px rgba(53, 167, 66,.18); --radius:14px;--radius-sm:9px;--radius-lg:20px;}
.mode-card p{margin:0 0 10px;color:var(--text-2);font-size:.78rem;line-height:1.5}
.mode-switch a{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);font-weight:600;font-size:.79rem;color:var(--text-2);transition:.15s}
.mobile-topbar{display:none}
.overlay{display:none;position:fixed;inset:0;background:rgba(17,24,39,.28);z-index:10}
.overlay.visible{display:block}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none!important}
.btn-sm{padding:6px 13px;font-size:.82rem}
.btn-ghost{background:none;border:1px solid var(--line);color:var(--text-2)}
.btn-ghost:hover{background:var(--bg);color:var(--text-2)}
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid transparent;white-space:nowrap}
.badge-green{background:var(--green-soft);color:var(--green-deep);border-color:var(--green-border)}
.badge-amber{background:var(--amber-soft);color:#b45309;border-color:var(--amber-border)}
.badge-blue{background:var(--blue-soft);color:var(--k-ai-ink);border-color:var(--blue-border)}
.badge-gray{background:var(--bg);color:var(--text-2);border-color:var(--line)}
.badge-purple{background:var(--purple-soft);color:#7c3aed;border-color:#c4b5fd}
.input,.select{background:var(--panel);border:1.5px solid var(--line);color:var(--text);padding:8px 12px;border-radius:var(--radius-sm);outline:none;font-size:.88rem;transition:.15s;width:100%;-webkit-appearance:none}
.input:focus,.select:focus{border-color:#1c1917;box-shadow:0 0 0 3px rgba(17,24,39,.06)}
.input::placeholder,.select::placeholder,textarea.input::placeholder{color:#b0b0b0;font-style:italic;font-weight:400}
.icon-btn{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);cursor:pointer;display:grid;place-items:center}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px}
.campaigns-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:20px;align-items:start}
.wizard-wrap{padding:18px 20px 0}
.wizard-phases{display:flex;gap:0;margin-bottom:8px}
.wizard-phase{flex:1;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);padding-bottom:6px;border-bottom:2px solid var(--line);transition:all .2s}
.wizard-phase.strategy{color:var(--k-ai-ink);border-color:var(--k-ai-line)}
.wizard-phase.creative{color:var(--green-deep);border-color:var(--green-border)}
.wizard-steps{display:flex;align-items:center}
.wsn{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative}
.wsn::after{content:'';position:absolute;top:13px;left:50%;width:100%;height:2px;background:var(--line);z-index:0}
.wsn:last-child::after{display:none}
.wsn.done::after{background:var(--green-border)}
.wsn-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;border:2px solid var(--line);background:var(--panel);color:var(--text-2);position:relative;z-index:1;transition:all .2s}
.wsn.done .wsn-dot{background:var(--panel-2);border-color:var(--line-strong);color:var(--muted)}
.wsn.active .wsn-dot{background:#1c1917;border-color:#1c1917;color:#fff;box-shadow:0 0 0 4px rgba(17,24,39,.12)}
.wsn.strategy-active .wsn-dot{background:#1c1917;border-color:#1c1917;color:#fff;box-shadow:0 0 0 4px rgba(17,24,39,.12)}
.wsn-label{font-size:.64rem;font-weight:600;color:var(--muted-2);text-align:center;white-space:nowrap}
.wsn.active .wsn-label,.wsn.strategy-active .wsn-label{font-weight:700}
.wsn.active .wsn-label{color:var(--text)}
.wsn.strategy-active .wsn-label{color:var(--text)}
.wsn.done .wsn-label{color:var(--text-2)}
.builder-body{padding:6px 20px 20px}
.step-card{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-bottom:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.step-card.active{border-color:var(--line-strong);background:#fff;box-shadow:0 2px 14px rgba(17,24,39,.05)}
.step-card.strategy-active{border-color:var(--line-strong);background:#fff;box-shadow:0 2px 14px rgba(17,24,39,.05)}
.step-card.done{border-color:var(--line);background:var(--panel-2)}
.step-card.locked{opacity:.42;pointer-events:none}
.step-head{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer}
.step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;border:1.5px solid var(--line);background:var(--bg);color:var(--text-2);flex:0 0 auto}
.step-card.active .step-num{background:#1c1917;border-color:#1c1917;color:#fff}
.step-card.strategy-active .step-num{background:#1c1917;border-color:#1c1917;color:#fff}
.step-card.done .step-num{background:var(--panel-2);border-color:var(--line-strong);color:var(--muted)}
.step-title{font-size:.88rem;font-weight:700;color:var(--text);margin:0 0 1px}
.step-sub{font-size:.78rem;color:var(--text-2);margin:0}
.step-badge{margin-left:auto;flex-shrink:0}
.step-body{padding:0 16px 16px}
.step-body.hidden{display:none}
.step-continue{margin:16px auto 0;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;max-width:420px}

/* ── Wizard hint card (amber + lightbulb) ── */
.wiz-hint{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;margin-bottom:16px}
.wiz-hint svg{flex-shrink:0;margin-top:1px}
.wiz-hint-text{font-size:.78rem;color:#92400e;line-height:1.4}
/* Unified wizard inputs */
.wiz-content .input,.wiz-content textarea:not(.cf-bubble),.wiz-content select{
  border:1px solid var(--line-strong) !important;border-radius:8px !important;background:#fff !important;
  padding:12px 16px !important;font-size:14px !important;font-family:inherit !important;
  color:var(--text) !important;line-height:1.5 !important;width:100%;box-sizing:border-box;
  outline:none;transition:border-color .15s,box-shadow .15s;
}
.wiz-content .input:focus,.wiz-content textarea:not(.cf-bubble):focus,.wiz-content select:focus{
  border-color:var(--k-green, #23812e) !important;box-shadow:0 0 0 1px var(--k-green, #23812e) !important;
}
.wiz-content .input::placeholder,.wiz-content textarea:not(.cf-bubble)::placeholder{color:var(--muted);font-style:normal;font-weight:400}
.wiz-content .sched-input{font-size:.82rem !important;padding:10px 12px !important}
.phase-divider{display:flex;align-items:center;gap:10px;margin:6px 0 10px;padding:0 0 10px;border-bottom:1.5px solid var(--line)}
.phase-divider-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:999px}
.phase-divider-label.strategy{background:var(--green-soft);color:var(--green-deep);border:1px solid var(--green-border)}
.phase-divider-label.creative{background:var(--green-soft);color:var(--green-deep);border:1px solid var(--green-border)}
.phase-divider-line{flex:1;height:1px;background:var(--line)}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;padding-top:4px}
.goal-btn{-webkit-tap-highlight-color:transparent;border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:all .15s ease;position:relative;display:flex;flex-direction:column;gap:4px}
@media(hover:hover){.goal-btn:hover{border-color:var(--line-strong);background:#fafafa}}
.goal-btn.selected{border-color:#1c1917;box-shadow:0 0 0 1px #1c1917}
.goal-btn.recommended::after{content:'★ Popular';position:absolute;top:8px;right:8px;font-size:10px;font-weight:600;color:#fff;background:#b45309;border:none;border-radius:999px;padding:2px 8px}
.goal-icon{display:flex;align-items:center;margin-bottom:4px;height:20px}
.goal-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}
.goal-desc{font-size:13px;color:var(--muted);line-height:1.3}
.goal-use{font-size:13px;color:var(--k-ai-ink);font-weight:600;margin-top:2px}
.goal-strategy-note{margin-top:12px;padding:16px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--text-2);font-size:13px;line-height:1.4;display:none;gap:8px;align-items:flex-start}
.goal-strategy-note.visible{display:flex}
.audience-section{margin-top:2px}
.aud-main-label{display:none}
.aud-hint{font-size:13px;color:var(--text-2);margin:0 0 12px;line-height:1.4;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;align-items:flex-start;gap:8px;font-weight:500}
.segment-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seg-btn{-webkit-tap-highlight-color:transparent;border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:4px;position:relative}
@media(hover:hover){.seg-btn:hover{border-color:var(--line-strong);background:#fafafa}}
.seg-btn.selected{border-color:#1c1917;box-shadow:0 0 0 1px #1c1917}
.seg-icon{display:flex;align-items:center;margin-bottom:3px;height:20px}
.seg-name{font-size:14px;font-weight:600;color:var(--text)}
.seg-desc{font-size:13px;color:var(--muted);line-height:1.3}
.seg-count{font-size:13px;font-weight:600;color:var(--k-ai-ink);margin-top:3px}
.seg-count.amber{color:#c0503a}
.seg-count.blue{color:var(--k-ai-ink)}
.offer-config{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);animation:fadeUp .2s ease}
.offer-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.offer-config-grid .full{grid-column:1/-1}
.form-row{display:grid;gap:6px}
.form-row label{font-size:.78rem;font-weight:600;color:var(--text-2)}
.form-row .field-note{font-size:13px;color:var(--muted);line-height:1.4;margin-top:4px}
.schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.urgency-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.urgency-pill{border:1px solid var(--line);background:#fff;border-radius:9999px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .1s ease}
.urgency-pill:hover{border-color:var(--line-strong);color:var(--text-2)}
.urgency-pill.selected{background:#1c1917;border-color:#1c1917;color:#fff}
.picker-intro{font-size:13px;color:var(--muted);line-height:1.4;margin:0 0 12px}
.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cards-grid.three-col{grid-template-columns:repeat(3,1fr);gap:12px}
.card-wrap{cursor:pointer;border-radius:10px;border:1px solid var(--line);overflow:hidden;transition:all .15s ease;background:#fff;position:relative;width:100%}
@media(hover:hover){.card-wrap:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06)}}
.card-wrap.selected{border-color:#1c1917;box-shadow:none}
.card-wrap .rec-badge{display:none !important}
.card-wrap .sel-badge{display:none;position:absolute;top:6px;right:6px;z-index:5;font-size:.57rem;font-weight:700;padding:2px 6px;border-radius:999px;background:#1c1917;color:#fff}
.card-wrap.recommended .rec-badge{display:block}
.card-wrap.selected .sel-badge{display:block}
.card-shell{overflow:hidden;border-radius:12px}
.card-shell .pp-card{display:none}
.card-shell .pp-hdr{padding:7px 10px 6px;gap:6px}
.card-shell .pp-avatar{width:22px;height:22px;font-size:.52rem}
.card-shell .pp-biz-name{font-size:.62rem}
.card-shell .pp-biz-sub{font-size:.54rem}
.card-shell .pp-badge{font-size:.52rem;padding:2px 6px}
.card-shell .pp-vi-expiry{font-size:.5rem;padding:2px 6px;bottom:7px;left:8px}
.card-shell .pp-body{padding:9px 10px 3px}
.card-shell .pp-title{font-size:13px;margin-bottom:3px}
.card-shell .pp-msg{font-size:11px;margin-bottom:6px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.card-shell .pp-actions{padding:2px 10px 10px;gap:5px}
.card-shell .pp-cta{padding:8px;font-size:.72rem;border-radius:10px}
.card-info{padding:7px 9px;background:var(--panel);border-top:1px solid var(--line)}
.card-info-name{font-size:.78rem;font-weight:700;color:var(--text);display:block;margin-bottom:1px}
.card-info-sub{font-size:.78rem;color:var(--text-2);display:block}
.copy-editor{display:none;margin-top:13px;border:1.5px solid var(--green-border);border-radius:var(--radius);background:#e4fadf;overflow:hidden;animation:fadeUp .22s ease}
.copy-editor.open{display:block}
.copy-editor-head{padding:9px 14px;background:var(--green-soft);border-bottom:1px solid var(--green-border);display:flex;align-items:center;justify-content:space-between}
.copy-editor-title{font-size:.78rem;font-weight:700;color:var(--green-deep);display:flex;align-items:center;gap:5px}
.copy-variants{padding:0;display:flex;flex-direction:column;gap:5px}
.cv-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:2px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:all .14s;text-align:left;width:100%}
.cv-item .cv-tone-tag{margin-top:2px}
@media(hover:hover){.cv-item:hover{border-color:#94a3b8;background:#fafafa}}
.cv-item.selected{border-color:#1c1917;background:#fafafa}
.cv-radio{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-strong);flex:0 0 auto;margin-top:2px;display:grid;place-items:center;transition:.14s}
.cv-item.selected .cv-radio{border-color:#1c1917;background:#1c1917}
.cv-item.selected .cv-radio::after{content:'';width:4px;height:4px;border-radius:50%;background:#fff}
.cf-row{display:grid;gap:6px}
.cf-label{font-size:.88rem;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:6px}
.cf-input{font-size:.88rem;padding:12px 16px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent;font-family:inherit;color:var(--text)}
.cf-input:focus{border-color:#1c1917;outline:none;box-shadow:0 0 0 1px #1c1917}
.cf-input.cf-filled{border-color:#1c1917;box-shadow:0 0 0 1px #1c1917}
.cf-input::placeholder{color:#b0b0b0;font-style:italic;font-weight:400}
/* Chat bubble textarea */
.cf-bubble{display:block;width:100%;box-sizing:border-box;font-size:.82rem;font-family:inherit;color:var(--text);line-height:1.5;padding:12px 16px;background:#ecfbe9;border:1.5px solid var(--k-green, #23812e);border-radius:16px;outline:none;resize:none;overflow:hidden;min-height:44px;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent;-webkit-appearance:none}
.cf-bubble:focus{background:#ecfbe9;border-color:var(--k-green, #23812e);box-shadow:0 0 0 3px rgba(53, 167, 66,.12)}
.cf-bubble::placeholder{color:var(--muted);font-style:normal;font-weight:400}
#copyTA{min-height:90px}
/* Suggestion chips (same as the reward wizard) */
.rproduct-examples{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.rproduct-ex{border:1.5px solid var(--line-strong);background:var(--panel);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;color:var(--text-2);cursor:pointer;transition:.14s;font-family:inherit}
.rproduct-ex:hover{border-color:#94a3b8;color:var(--text);background:#fafafa}
.rproduct-ex.active{background:#1c1917;border-color:#1c1917;color:#fff}
/* Long texts (terms): room to write */
.cf-bubble.cf-area{min-height:120px}
.cf-header{display:flex;align-items:center;gap:6px}
.cf-header-title{font-size:.78rem;font-weight:700;color:var(--text)}
.cf-header-sub{font-size:.78rem;color:var(--text-2);margin-top:3px;line-height:1.4}
.copy-preview-box{font-size:.82rem;line-height:1.5;color:var(--text);padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);min-height:48px}
.copy-preview-box .cp-placeholder{color:#c2410c;background:#fef3c7;padding:1px 5px;border-radius:4px;border:1px dashed #fbbf24;font-weight:600;font-size:.78rem}
.copy-preview-box .cp-filled{color:var(--k-green-ink, #23812e);background:#e4fadf;padding:1px 5px;border-radius:4px;border:1px solid #b2e976;font-weight:600;font-size:.78rem}
.cf-write-own{display:block;background:none;border:1.5px dashed var(--line);border-radius:var(--radius-sm);width:100%;padding:9px;margin-top:6px;font-size:.78rem;color:var(--text-2);font-weight:600;cursor:pointer;transition:all .14s;text-align:center}
.cf-write-own:hover{border-color:var(--green-border);color:var(--green-deep);background:var(--green-soft)}
.cv-meta{display:flex;align-items:center;gap:5px;margin-bottom:3px}
.cv-tone-tag{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 0;border-radius:999px;flex-shrink:0;white-space:nowrap;width:74px;text-align:center;box-sizing:border-box}
.cv-tone-tag.warm,.cv-tone-tag.direct,.cv-tone-tag.playful,.cv-tone-tag.urgent,.cv-tone-tag.elegant,.cv-tone-tag.bold,.cv-tone-tag.casual{background:var(--panel-2);color:var(--text-2);border:1px solid var(--line-strong)}
.cv-chars{font-size:.59rem;color:var(--muted-2);font-weight:600}
.cv-text{font-size:.82rem;color:var(--text);line-height:1.4;margin:0;flex:1;font-weight:500}
.cv-item.selected .cv-text{color:var(--text);font-weight:600}
.copy-free{padding:0 0 12px;margin-top:14px;padding-top:0}
.copy-free-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.copy-free-lbl{font-size:.88rem;font-weight:600;color:var(--text-2)}
.char-count,.copy-char-count{font-size:.78rem;font-weight:500;color:var(--muted)}
.char-count.warn,.copy-char-count.warn{color:#b45309}

.len-bar{height:3px;background:var(--line);border-radius:999px;margin:5px 0 2px;overflow:hidden}
.len-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--green-deep));width:0;transition:width .2s,background .2s}
.len-fill.warn{background:linear-gradient(90deg,var(--amber),#b45309)}
.confirm-zone{padding:14px;background:var(--green-soft);border:1px solid var(--green-border);border-radius:var(--radius)}
.confirm-zone h4{margin:0 0 4px;font-size:.9rem;color:var(--green-deep);font-weight:700}
.confirm-zone p{margin:0 0 12px;font-size:.8rem;color:var(--k-green-ink, #23812e);line-height:1.5}
.confirm-actions{display:flex;gap:8px}
.confirm-actions .btn{flex:1;justify-content:center}
.confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.confirm-box{background:var(--panel);border-radius:var(--radius);padding:20px 22px;max-width:360px;width:100%;box-shadow:0 16px 48px rgba(0,0,0,.18)}
.confirm-box-label{font-size:.63rem;font-weight:700;color:var(--green-deep);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.confirm-box-value{font-size:.82rem;font-weight:700;color:var(--k-green-ink, #23812e)}
.right-panel{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}
.pp-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #edf2f7;box-shadow:0 2px 8px rgba(0,0,0,.04);margin-bottom:1px}
.pp-hdr{display:flex;align-items:center;gap:10px;padding:8px 14px 6px}
.pp-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff;flex:0 0 auto}
.pp-biz-name{font-family:-apple-system,system-ui,'SF Pro Text','Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;color:#1D1D1F;line-height:1.2;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-biz-sub{font-size:11px;color:#86868B;font-weight:700;margin-top:0}
.pp-badge{flex-shrink:0;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.01em;border:none;white-space:nowrap}
.pp-badge-green{background:#E4FADF;color:var(--k-green-text, #1e6a27)}
.pp-badge-amber{background:#FFF7ED;color:#9A3412}
.pp-badge-rose{background:#FFE4E6;color:#9F1239}
.pp-badge-purple{background:#F5F3FF;color:#5B21B6}
.pp-badge-promo{background:#FFF7ED;color:#9A3412}
.pp-visual{aspect-ratio:4/5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e8e8e0}
.pp-vi-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pp-vi-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 68%,rgba(0,0,0,.4) 100%)}
.pp-vi-expiry{position:absolute;bottom:8px;left:9px;z-index:5;font-size:.51rem;font-weight:700;color:rgba(255,255,255,.92);background:rgba(0,0,0,.5);backdrop-filter:blur(4px);padding:2px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.pp-vi-pattern{position:absolute;inset:0}
.pp-vi-pattern::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 15% 15%,rgba(255,255,255,.14),transparent 60%),radial-gradient(ellipse 60% 80% at 85% 85%,rgba(255,255,255,.09),transparent 55%)}
.pp-vi-pattern::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-55deg,transparent 0,transparent 14px,rgba(255,255,255,.025) 14px,rgba(255,255,255,.025) 15px)}
.pp-vi-initial{position:relative;z-index:1;font-family:'Inter',sans-serif;font-size:clamp(60px,35vw,160px);font-weight:700;line-height:.9;color:rgba(255,255,255,.1);user-select:none;letter-spacing:-.04em}
.pp-vi-icon{position:absolute;z-index:2;font-size:clamp(28px,9vw,48px);line-height:1;filter:drop-shadow(0 0 16px rgba(255,255,255,.3));animation:pp-float 5s ease-in-out infinite}
.pp-vi-label{position:absolute;z-index:4;bottom:28px;left:50%;transform:translateX(-50%);font-size:.47rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);white-space:nowrap}
.pp-vi-bscrim{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.32))}
.pp-vi-lottie{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pp-vi-lottie-wrap{width:65%;aspect-ratio:1;position:relative;z-index:2;max-width:180px}
.pp-vi-lottie-wrap lottie-player{width:100%;height:100%}
.pp-body{padding:6px 14px 3px;background:#fff}
.pp-title{font-family:-apple-system,system-ui,'SF Pro Text','Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:700;color:#1D1D1F;margin:0 0 3px;line-height:1.22;letter-spacing:-.3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pp-msg{font-family:-apple-system,system-ui,'SF Pro Text','Plus Jakarta Sans',sans-serif;font-size:14px;color:#050505;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pp-footer{display:flex;align-items:center;justify-content:space-between;padding:3px 14px 6px}
.pp-ft-actions{display:flex;align-items:center;gap:14px}
.pp-ft-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--muted);cursor:default}
.pp-prog-head{display:flex;justify-content:space-between;font-size:.64rem;font-weight:700;color:#999;margin-bottom:4px}
.pp-prog-track{height:4px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden;margin-bottom:8px}
.pp-prog-fill{height:100%;border-radius:999px;background:#7ebe10}
.pp-actions{display:flex;align-items:center;gap:6px;padding:3px 12px 13px;background:#fff}
.pp-cta{flex:1;padding:10px;border-radius:12px;font-size:.72rem;font-weight:700;border:none;cursor:default;text-align:center}
.pp-cta-green{background:#7ebe10;color:#fff}
.pp-cta-expiring{background:#d97706;color:#fff}
.pp-cta-promo{background:#1c1c19;color:#fff}
.pp-cta-redeemed{background:rgba(0,0,0,.07);color:rgba(0,0,0,.3)}
.pp-share{width:36px;height:36px;border-radius:10px;border:1.5px solid rgba(0,0,0,.1);background:transparent;display:grid;place-items:center;flex-shrink:0}
.pp-share svg{width:13px;height:13px;fill:none;stroke:#aaa;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.toggle-wrap{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}
.toggle-wrap input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:.2s}
.toggle-slider::before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}
.toggle-wrap input:checked + .toggle-slider{background:var(--green-deep)}
.toggle-wrap input:checked + .toggle-slider::before{transform:translateX(18px)}
.reach-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.reach-panel-head{padding:12px 14px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.reach-panel-title{font-size:.82rem;font-weight:700;color:var(--text)}
.reach-panel-sub{font-size:.78rem;color:var(--text-2)}
.reach-panel-body{padding:12px 14px}
.reach-number{font-size:2rem;font-weight:700;letter-spacing:-.04em;color:var(--text);line-height:1;margin-bottom:3px;transition:all .3s ease}
.reach-number.loading{opacity:.4}
.reach-sublabel{font-size:.78rem;color:var(--text-2);margin-bottom:12px}
.reach-bars{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.reach-bar-row{display:grid;grid-template-columns:90px 1fr 36px;gap:8px;align-items:center;font-size:.78rem}
.reach-bar-label{color:var(--text-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reach-bar-track{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.reach-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}
.reach-bar-fill.green{background:linear-gradient(90deg,var(--green),var(--green-deep))}
.reach-bar-fill.blue{background:linear-gradient(90deg,var(--k-ai),var(--k-ai))}
.reach-bar-fill.amber{background:linear-gradient(90deg,var(--amber),#b45309)}
.reach-bar-fill.purple{background:linear-gradient(90deg,var(--purple),#6d28d9)}
.reach-bar-pct{font-size:.78rem;font-weight:700;color:var(--text-2);text-align:right}
.reach-tip{padding:9px 10px;background:var(--blue-soft);border:1px solid var(--blue-border);border-radius:var(--radius-sm);font-size:.78rem;color:var(--k-ai-ink);line-height:1.45;display:flex;gap:6px;align-items:flex-start}
.reach-tip::before{content:'💡';font-size:.8rem;flex:0 0 auto;margin-top:1px}
.best-time-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow)}
.best-time-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.best-time-title{font-size:.8rem;font-weight:700;color:var(--text)}
.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.time-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;text-align:center}
.time-box-val{font-size:.9rem;font-weight:700;color:var(--text);display:block;margin-bottom:1px}
.time-box-lbl{font-size:.63rem;color:var(--text-2);font-weight:600}
.time-box.highlight{background:var(--green-soft);border-color:var(--green-border)}
.time-box.highlight .time-box-val{color:var(--green-deep)}
.sched-section{margin-bottom:16px;padding:18px 16px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);animation:fadeUp .2s ease}
.sched-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.sched-main-label{font-size:.82rem;font-weight:700;color:var(--text);display:block;margin-bottom:2px}
.sched-req{color:var(--red);font-weight:700}
.sched-hint{font-size:.78rem;color:var(--text-2);margin:0;line-height:1.4}
.sched-suggested-badge{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--blue-soft);color:var(--k-ai-ink);border:1px solid var(--blue-border);white-space:nowrap;align-self:flex-start}
.sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sched-input{font-size:.82rem!important}
.sched-duration-row{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.sched-dur-label{font-size:.78rem;font-weight:700;color:var(--text-2);white-space:nowrap}
.sched-dur-pills{display:flex;gap:5px;flex-wrap:wrap}
.sched-dur-pill{border:1px solid var(--line-strong);background:var(--panel);border-radius:999px;padding:4px 12px;font-size:.73rem;font-weight:700;color:var(--text-2);cursor:pointer;transition:all .14s}
.sched-dur-pill:hover{border-color:#94a3b8;color:var(--text-2);background:#fafafa}
.sched-dur-pill.selected{background:#1c1917;border-color:#1c1917;color:#fff;font-weight:700}
.sched-preview{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;background:#ecfbe9;border:1px solid #e4fadf;border-left:3px solid var(--k-green, #23812e);border-radius:var(--radius);animation:fadeUp .15s ease}
.sched-preview-icon{flex-shrink:0;margin-top:2px;display:flex}
.sched-preview-main{font-size:.78rem;font-weight:600;color:var(--text);line-height:1.5}
.sched-preview-sub{font-size:.78rem;color:var(--text-2);line-height:1.5}
.campaigns-section{margin-top:0}
.campaigns-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 2px}
.campaigns-list-head span{font-size:.76rem;font-weight:700;color:var(--text-2)}
.campaigns-list{display:flex;flex-direction:column;gap:12px}
.camp-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;transition:all .2s}
.camp-item.pp-card{padding:0}
.camp-item:hover{border-color:var(--line-strong);box-shadow:0 2px 8px rgba(17,24,39,.04)}
.camp-item.live-state{border-color:var(--line);background:#fff}
.camp-item.live-state:hover{border-color:var(--line-strong);box-shadow:0 2px 8px rgba(17,24,39,.04)}
.camp-item.scheduled-state{border-color:var(--line);background:#fff}
.camp-item.scheduled-state:hover{border-color:var(--line-strong);box-shadow:0 2px 8px rgba(17,24,39,.04)}
.camp-item.draft-state{}
.camp-item.ended-state{opacity:.65}
.camp-item.ended-state:hover{opacity:.8}
.camp-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.camp-dot.live{background:var(--green);box-shadow:0 0 0 2px rgba(53, 167, 66,.18)}
.camp-dot.draft{background:var(--line-strong)}
.camp-dot.ended{background:var(--muted-2)}
.camp-info{flex:1;min-width:0}
.camp-name{font-size:.79rem;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:2px}
.camp-meta{font-size:.72rem;color:var(--text-2);margin-top:1px}
.camp-btns{display:flex;gap:6px;flex-shrink:0}
.camp-btn{font-size:12px;font-weight:600;padding:8px 16px;border-radius:8px;border:1.5px solid var(--line-strong);background:var(--panel);color:var(--text-2);cursor:pointer;transition:.14s;white-space:nowrap;display:flex;align-items:center;gap:4px}
.camp-btn:hover{border-color:var(--green-border);color:var(--green-deep);background:var(--green-soft)}
.camp-btn.end-btn:hover{border-color:var(--red-border);color:#a3423a;background:var(--red-soft)}
.visual-toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}
.visual-toggle-label{font-size:.78rem;font-weight:700;color:var(--text-2);flex:1}
.visual-toggle-sub{font-size:.69rem;color:var(--text-2)}
.vtoggle{display:flex;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}
.vtoggle-btn{border:none;background:none;padding:4px 11px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--text-2);cursor:pointer;transition:all .15s;white-space:nowrap}
.vtoggle-btn.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.vtoggle-btn.active.visual{color:var(--green-deep)}
.card-wrap .asset-badge{display:none;position:absolute;bottom:37px;left:6px;z-index:5;font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:999px;backdrop-filter:blur(4px)}
.card-wrap.has-image .asset-badge.img-badge{display:block;background:rgba(0,0,0,.55);color:#fff}
.card-wrap.has-lottie .asset-badge.lottie-badge{display:block;background:rgba(99,102,241,.8);color:#fff}
.kc-l-img-hero{position:relative}
.kc-l-img-hero .kc-img-hero{height:140px;position:relative;overflow:hidden}
.kc-l-img-hero .kc-img-hero img{width:100%;height:100%;object-fit:cover;display:block}
.kc-l-img-hero .kc-img-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.65) 100%)}
.kc-l-img-hero .kc-img-hero-text{position:absolute;bottom:0;left:0;right:0;padding:10px 13px 9px}
.kc-l-img-hero .kc-eyebrow{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);font-family:var(--kc-font-body);display:block;margin-bottom:2px}
.kc-l-img-hero .kc-img-title{font-size:.9rem;font-weight:700;color:#fff;font-family:var(--kc-font-head);line-height:1.15;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.kc-l-img-hero .kc-body{padding:10px 13px 12px;background:var(--kc-surface)}
.kc-l-img-hero .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l-img-hero .kc-msg{font-size:.63rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l-img-hero .kc-cta{display:block;text-align:center;background:var(--kc-cta-bg);color:var(--kc-cta-text);font-size:.65rem;font-weight:700;padding:7px;border-radius:8px;font-family:var(--kc-font-body)}
.kc-l-img-split{background:var(--kc-surface)}
.kc-l-img-split .kc-img-split-top{height:110px;position:relative;overflow:hidden}
.kc-l-img-split .kc-img-split-top img{width:100%;height:100%;object-fit:cover;display:block}
.kc-l-img-split .kc-split-tag{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(4px);font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 8px;border-radius:999px;font-family:var(--kc-font-body)}
.kc-l-img-split .kc-body{padding:11px 13px 12px}
.kc-l-img-split .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l-img-split .kc-title{font-size:.88rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l-img-split .kc-msg{font-size:.63rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l-img-split .kc-footer{display:flex;align-items:center;justify-content:space-between}
.kc-l-img-split .kc-cta{font-size:.63rem;font-weight:700;color:var(--kc-cta-bg);border:1.5px solid var(--kc-cta-bg);padding:5px 10px;border-radius:6px;font-family:var(--kc-font-body)}
.kc-l-img-split .kc-exp{font-size:.57rem;color:var(--kc-text-muted);font-family:var(--kc-font-body)}
.kc-l-img-bg{position:relative;overflow:hidden;min-height:180px}
.kc-l-img-bg .kc-bg-img{position:absolute;inset:0}
.kc-l-img-bg .kc-bg-img img{width:100%;height:100%;object-fit:cover;display:block}
.kc-l-img-bg .kc-bg-overlay{position:absolute;inset:0;background:var(--kc-hero-bg);opacity:.78}
.kc-l-img-bg .kc-bg-content{position:relative;z-index:2;padding:16px 14px 14px}
.kc-l-img-bg .kc-eyebrow{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);font-family:var(--kc-font-body);display:block;margin-bottom:6px}
.kc-l-img-bg .kc-biz{font-size:.57rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-family:var(--kc-font-body)}
.kc-l-img-bg .kc-title{font-size:.94rem;font-weight:700;color:#fff;margin:0 0 5px;line-height:1.2;font-family:var(--kc-font-head);text-shadow:0 1px 6px rgba(0,0,0,.3)}
.kc-l-img-bg .kc-msg{font-size:.63rem;color:rgba(255,255,255,.72);line-height:1.45;margin:0 0 11px;font-family:var(--kc-font-body)}
.kc-l-img-bg .kc-cta{display:block;text-align:center;background:rgba(255,255,255,.95);color:var(--kc-text-head);font-size:.65rem;font-weight:700;padding:7px;border-radius:8px;font-family:var(--kc-font-body)}
.kc-l-lottie-hero{background:var(--kc-surface)}
.kc-l-lottie-hero .kc-lottie-hero{height:110px;background:var(--kc-hero-bg);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.kc-l-lottie-hero .kc-lottie-wrap{width:88px;height:88px;flex-shrink:0;position:relative;z-index:2}
.kc-l-lottie-hero .kc-lottie-wrap lottie-player{width:100%;height:100%}
.kc-l-lottie-hero .kc-lottie-deco{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0%,transparent 70%)}
.kc-l-lottie-hero .kc-lottie-tag{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.65);font-family:var(--kc-font-body);white-space:nowrap}
.kc-l-lottie-hero .kc-body{padding:10px 13px 12px}
.kc-l-lottie-hero .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l-lottie-hero .kc-title{font-size:.88rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l-lottie-hero .kc-msg{font-size:.63rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l-lottie-hero .kc-cta{display:block;text-align:center;background:var(--kc-cta-bg);color:var(--kc-cta-text);font-size:.65rem;font-weight:700;padding:7px;border-radius:8px;font-family:var(--kc-font-body)}
.lottie-fallback{width:88px;height:88px;display:flex;align-items:center;justify-content:center;font-size:3rem;line-height:1;animation:lf-pulse 2s ease-in-out infinite}
.kc{border-radius:13px;overflow:hidden;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.12);--kc-hero-bg:#1e2d4a;--kc-hero-h:70px;--kc-accent:#7a8c6e;--kc-accent-2:#5f6e54;--kc-surface:#fff;--kc-surface-2:#f9fafb;--kc-text-head:#0f172a;--kc-text-body:#4b5563;--kc-text-muted:#94a3b8;--kc-biz-color:#64748b;--kc-cta-bg:#0f172a;--kc-cta-text:#fff;--kc-font-head: 'Inter', sans-serif;--kc-font-body: 'Inter', sans-serif;background:var(--kc-surface)}
.kc-l1 .kc-hero{height:var(--kc-hero-h);background:var(--kc-hero-bg);display:flex;align-items:flex-end;padding:0 13px 9px;position:relative;overflow:hidden}
.kc-l1 .kc-hero-deco{position:absolute;right:-10px;top:-10px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.08)}
.kc-l1 .kc-eyebrow{font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);font-family:var(--kc-font-body)}
.kc-l1 .kc-body{padding:10px 13px 12px;background:var(--kc-surface)}
.kc-l1 .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l1 .kc-title{font-size:.86rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l1 .kc-msg{font-size:.63rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l1 .kc-cta{display:block;text-align:center;background:var(--kc-cta-bg);color:var(--kc-cta-text);font-size:.65rem;font-weight:700;padding:7px;border-radius:8px;font-family:var(--kc-font-body)}
.kc-l2 .kc-header{height:var(--kc-hero-h);background:var(--kc-hero-bg);display:flex;align-items:center;padding:0 13px;gap:9px}
.kc-l2 .kc-mono{width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff;font-family:var(--kc-font-head);flex:0 0 auto}
.kc-l2 .kc-header-text .kc-biz{font-size:.56rem;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;font-family:var(--kc-font-body)}
.kc-l2 .kc-header-text .kc-tag{font-size:.6rem;font-weight:600;color:rgba(255,255,255,.88);font-family:var(--kc-font-body)}
.kc-l2 .kc-body{padding:11px 13px 12px;background:var(--kc-surface-2)}
.kc-l2 .kc-title{font-family:var(--kc-font-head);font-size:.92rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2}
.kc-l2 .kc-msg{font-size:.62rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l2 .kc-footer{display:flex;align-items:center;justify-content:space-between}
.kc-l2 .kc-cta{font-size:.63rem;font-weight:700;color:var(--kc-cta-bg);border:1.5px solid var(--kc-cta-bg);padding:5px 10px;border-radius:6px;font-family:var(--kc-font-body)}
.kc-l2 .kc-exp{font-size:.56rem;color:var(--kc-text-muted);font-family:var(--kc-font-body)}
.kc-l3{background:var(--kc-hero-bg)}
.kc-l3 .kc-icon-area{padding:13px 13px 0;display:flex;align-items:center;justify-content:space-between}
.kc-l3 .kc-icon{font-size:1.75rem;line-height:1}
.kc-l3 .kc-type-pill{font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.2);font-family:var(--kc-font-body)}
.kc-l3 .kc-body{padding:8px 13px 12px}
.kc-l3 .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l3 .kc-title{font-size:.86rem;font-weight:700;color:rgba(255,255,255,.95);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l3 .kc-msg{font-size:.62rem;color:rgba(255,255,255,.65);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l3 .kc-cta{display:block;text-align:center;background:var(--kc-accent);color:#fff;font-size:.64rem;font-weight:700;padding:7px;border-radius:999px;font-family:var(--kc-font-body)}
.kc-l5 .kc-band{height:var(--kc-hero-h);background:var(--kc-hero-bg);display:flex;align-items:center;justify-content:space-between;padding:0 13px}
.kc-l5 .kc-band-emoji{font-size:1.1rem}
.kc-l5 .kc-band-text{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.85);font-family:var(--kc-font-body)}
.kc-l5 .kc-body{padding:10px 13px 12px;background:var(--kc-surface)}
.kc-l5 .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-family:var(--kc-font-body)}
.kc-l5 .kc-title{font-family:var(--kc-font-head);font-size:.92rem;font-style:italic;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2}
.kc-l5 .kc-msg{font-size:.62rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 7px;font-family:var(--kc-font-body)}
.kc-l5 .kc-validity{font-size:.57rem;font-weight:600;color:var(--kc-biz-color);margin-bottom:8px;font-family:var(--kc-font-body)}
.kc-l5 .kc-cta{display:block;text-align:center;background:var(--kc-hero-bg);color:#fff;font-size:.64rem;font-weight:700;padding:7px;border-radius:999px;font-family:var(--kc-font-body)}
.kc-l7{background:var(--kc-surface);border:1px solid var(--line)}
.kc-l7 .kc-alert{background:var(--kc-hero-bg);padding:6px 13px;display:flex;align-items:center;justify-content:space-between}
.kc-l7 .kc-alert-text{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.9);font-family:var(--kc-font-body)}
.kc-l7 .kc-alert-dot{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.7;animation:pulse 1.8s infinite}
.kc-l7 .kc-body{padding:11px 13px 12px}
.kc-l7 .kc-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:5px}
.kc-l7 .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.05em;font-family:var(--kc-font-body)}
.kc-l7 .kc-timer{font-size:.57rem;font-weight:700;color:var(--kc-accent-2);background:var(--kc-surface-2);padding:2px 6px;border-radius:5px;font-family:var(--kc-font-body)}
.kc-l7 .kc-title{font-size:.86rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l7 .kc-msg{font-size:.62rem;color:var(--kc-text-body);line-height:1.45;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l7 .kc-cta{display:block;text-align:center;background:var(--kc-cta-bg);color:var(--kc-cta-text);font-size:.64rem;font-weight:700;padding:7px;border-radius:8px;font-family:var(--kc-font-body)}
.kc-l8{background:var(--kc-surface);border:1px solid var(--line)}
.kc-l8 .kc-body{padding:14px 13px 12px}
.kc-l8 .kc-big-initial{font-size:3rem;font-weight:700;line-height:.9;color:var(--kc-accent);font-family:var(--kc-font-head);float:left;margin:0 8px 4px 0}
.kc-l8 .kc-type-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--kc-accent);border-top:2px solid var(--kc-accent);display:inline-block;padding-top:3px;margin-bottom:5px;font-family:var(--kc-font-body)}
.kc-l8 .kc-biz{font-size:.57rem;font-weight:700;color:var(--kc-biz-color);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-family:var(--kc-font-body);clear:both}
.kc-l8 .kc-title{font-size:.88rem;font-weight:700;color:var(--kc-text-head);margin:0 0 4px;line-height:1.2;font-family:var(--kc-font-head)}
.kc-l8 .kc-msg{font-size:.62rem;color:var(--kc-text-body);line-height:1.5;margin:0 0 9px;font-family:var(--kc-font-body)}
.kc-l8 .kc-cta{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;color:var(--kc-cta-bg);border:2px solid var(--kc-cta-bg);padding:5px 12px;border-radius:6px;font-family:var(--kc-font-body)}
.ktoast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1c1917;color:#fff;padding:10px 24px;border-radius:999px;font-size:.78rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:999;display:none;animation:tin .2s ease;white-space:nowrap;max-width:90vw;text-overflow:ellipsis;overflow:hidden}
.offer-options-grid{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:4px}
.offer-opt{border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px;text-align:left;cursor:pointer;transition:all .15s ease;font-size:14px;font-weight:500;color:var(--text);line-height:1.4;display:flex;align-items:flex-start;gap:12px;width:100%}
@media(hover:hover){.offer-opt:hover{border-color:var(--line-strong);background:#fafafa}}
.offer-opt.selected{border-color:#1c1917;box-shadow:0 0 0 1px #1c1917}
.offer-opt.selected .offer-opt-text{font-weight:600;color:var(--text)}
.offer-opt-icon{font-size:1rem;flex-shrink:0;margin-top:1px;line-height:1}
.offer-opt-text{flex:1}
.offer-opt-custom{border-style:dashed;color:var(--muted)}
.offer-opt-custom:hover{border-style:solid;color:var(--text-2)}
.pk-card{background:#fff;border-radius:14px;overflow:hidden;width:100%}
.pk-hdr{display:flex;align-items:center;gap:7px;padding:9px 11px 7px;background:rgba(0,0,0,.025);border-bottom:1px solid rgba(0,0,0,.06)}
.pk-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.64rem;font-weight:700;color:#fff;flex-shrink:0}
.pk-biz{font-size:.72rem;font-weight:700;color:#1c1c19;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-badge{font-size:.56rem;font-weight:700;padding:2px 7px;border-radius:999px;background:#fef3c7;color:#9a3412;border:1px solid #fdba74;white-space:nowrap;flex-shrink:0}
.pk-visual{aspect-ratio:4/5;position:relative;overflow:hidden;background:#e8e8e0;display:flex;align-items:center;justify-content:center}
.pk-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pk-expiry{position:absolute;bottom:8px;left:9px;font-size:.55rem;font-weight:700;color:rgba(255,255,255,.9);background:rgba(0,0,0,.5);padding:2px 7px;border-radius:999px;z-index:2}
.pk-lottie-bg{position:relative}
.pk-lottie-bg>div{z-index:1}
.pk-pattern{flex-direction:column;gap:0}
.pk-pattern-initial{font-family:'Inter',sans-serif;font-size:clamp(60px,30vw,120px);font-weight:700;color:rgba(255,255,255,.1);line-height:1;user-select:none}
.pk-pattern-icon{font-size:clamp(32px,8vw,52px);position:absolute;animation:pp-float 5s ease-in-out infinite}
.pk-body{padding:10px 11px 3px}
.pk-title{font-family:'Inter',sans-serif;font-size:.82rem;font-weight:700;color:#1c1c19;margin-bottom:3px;line-height:1.2}
.pk-msg{font-size:.66rem;color:#666;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pk-cta-row{padding:6px 11px 11px}
.pk-cta{width:100%;padding:9px;border-radius:10px;background:#1c1c19;color:#fff;font-size:.72rem;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif}
.pk-img-only{border-radius:12px;overflow:hidden;width:100%;aspect-ratio:4/5;position:relative;background:#e8e8e0}
.pk-img-only .pk-visual{aspect-ratio:4/5;border-radius:0}
.pk-img-only .pk-lottie-bg{aspect-ratio:4/5}
.pk-img-only .pk-pattern{aspect-ratio:4/5}
.pk-img-only .pk-expiry{display:none}
.filter-bar{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.filter-opt{border:2px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .15s;flex-shrink:0}
.filter-opt.active{border-color:var(--green-deep);box-shadow:0 0 0 2px rgba(53, 167, 66,.18)}
.filter-opt img{width:56px;height:70px;object-fit:cover;display:block}
.filter-opt span{display:block;font-size:.64rem;font-weight:700;text-align:center;padding:2px 0;background:var(--panel-2);color:var(--text-2)}
.filter-original{filter:none}
.filter-warm{filter:saturate(1.3) sepia(0.15) brightness(1.05)}
.filter-bright{filter:brightness(1.15) contrast(1.1) saturate(1.1)}
.filter-matte{filter:saturate(0.75) brightness(1.05) contrast(0.9)}
.filter-vivid{filter:saturate(1.6) contrast(1.05) brightness(1.02)}
.camp-meta-line{font-size:.64rem;color:var(--text-2);line-height:1.4;margin-bottom:6px}
.camp-stats-row{display:flex;gap:3px;align-items:center;font-size:.72rem;margin-bottom:6px;flex-wrap:wrap}
.camp-stat-val{font-size:.78rem;font-weight:700;color:var(--text)}
.camp-stat-val.green{color:var(--green-deep)}
.camp-stat-sep{color:var(--line-strong)}
.camp-stat-lbl{font-size:.6rem;color:var(--text);text-transform:uppercase;letter-spacing:.03em}
.camp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.camp-btn.primary{background:var(--green-deep);border-color:var(--green-deep);color:#fff}
.camp-btn.primary:hover{background:var(--green-deep);opacity:.88}
.camp-btn.blue{border-color:var(--line-strong);color:var(--text-2);background:var(--panel)}
.camp-btn.blue:hover{border-color:var(--green-border);color:var(--green-deep);background:var(--green-soft)}
.camp-btn.danger{color:#c25550}
.camp-btn.danger:hover{border-color:#c25550;color:#c25550;background:#fef2f2}
.camp-stats-bar{display:flex;gap:12px;margin-bottom:8px}
.camp-stat{display:flex;align-items:baseline;gap:3px}
.camp-actions{display:flex;gap:5px}
.stats-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.stats-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.22);width:100%;max-width:480px;overflow:hidden}
.stats-modal-head{padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.stats-modal-title{font-size:.88rem;font-weight:700;color:var(--text);line-height:1.3}
.stats-modal-sub{font-size:.78rem;color:var(--text-2);margin-top:2px}
.stats-modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-2);padding:2px 6px;border-radius:6px}
.stats-modal-close:hover{background:var(--panel-2);color:var(--text)}
.stats-modal-body{padding:16px 18px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.stats-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center}
.stats-card-val{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1}
.stats-card-lbl{font-size:.65rem;color:var(--text);margin-top:3px;text-transform:uppercase;letter-spacing:.05em}
.stats-card.highlight{background:#fff;border-color:var(--line)}
.stats-card.highlight .stats-card-val{color:var(--green-deep)}
.stats-card:nth-child(3){background:#fff;border-color:var(--line)}
.stats-card:nth-child(4){background:#fff;border-color:var(--line)}
.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.confirm-box h4{font-size:.88rem;font-weight:700;color:var(--text);margin:0 0 6px}
.confirm-box p{font-size:.78rem;color:var(--text-2);margin:0 0 16px;line-height:1.5}
.confirm-box-actions{display:flex;gap:8px;justify-content:flex-end}

/* ── Typographic card renderer (shared from automations) ──────── */
.kc{border-radius: 13px; overflow: hidden; position: relative; box-shadow: 0 2px 10px rgba(0,0,0,.12); --kc-hero-bg: #1e2d4a; --kc-hero-h: 70px; --kc-accent: #7a8c6e; --kc-accent-2: #5f6e54; --kc-surface: #ffffff; --kc-surface-2: #f9fafb; --kc-text-head: #0f172a; --kc-text-body: #4b5563; --kc-text-muted: #94a3b8; --kc-biz-color: #64748b; --kc-cta-bg: #0f172a; --kc-cta-text: #ffffff; --kc-font-head: 'Inter', sans-serif; --kc-font-body: 'Inter', sans-serif; background: var(--kc-surface);}
.kc-l1 .kc-hero{height: var(--kc-hero-h); background: var(--kc-hero-bg); display: flex; align-items: flex-end; padding: 0 13px 9px; position: relative; overflow: hidden;}
.kc-l1 .kc-hero-deco{position: absolute; right: -10px; top: -10px; width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,.08);}
.kc-l1 .kc-hero-deco2{position: absolute; right: 20px; bottom: -20px; width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,.05);}
.kc-l1 .kc-eyebrow{font-size: .52rem; font-weight:700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.65); font-family: var(--kc-font-body);}
.kc-l1 .kc-body{padding: 10px 13px 12px; background: var(--kc-surface);}
.kc-l1 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l1 .kc-title{font-size: .86rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l1 .kc-msg{font-size: .63rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l1 .kc-cta{display: block; text-align: center; background: var(--kc-cta-bg); color: var(--kc-cta-text); font-size: .65rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}
.kc-l2{background: var(--kc-surface-2);}
.kc-l2 .kc-header{height: var(--kc-hero-h); background: var(--kc-hero-bg); display: flex; align-items: center; padding: 0 13px; gap: 9px;}
.kc-l2 .kc-mono{width: 28px; height: 28px; border-radius: 7px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; font-size: .78rem; font-weight: 700; color: #fff; font-family: var(--kc-font-head); flex: 0 0 auto;}
.kc-l2 .kc-header-text .kc-biz{font-size: .56rem; font-weight: 700; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .08em; font-family: var(--kc-font-body);}
.kc-l2 .kc-header-text .kc-tag{font-size: .6rem; font-weight: 600; color: rgba(255,255,255,.88); font-family: var(--kc-font-body);}
.kc-l2 .kc-body{padding: 11px 13px 12px; background: var(--kc-surface-2);}
.kc-l2 .kc-title{font-family: var(--kc-font-head); font-size: .92rem; font-weight: 700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2;}
.kc-l2 .kc-msg{font-size: .62rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l2 .kc-footer{display: flex; align-items: center; justify-content: space-between;}
.kc-l2 .kc-cta{font-size: .63rem; font-weight: 700; color: var(--kc-cta-bg); border: 1.5px solid var(--kc-cta-bg); padding: 5px 10px; border-radius: 6px; font-family: var(--kc-font-body);}
.kc-l2 .kc-exp{font-size: .56rem; color: var(--kc-text-muted); font-family: var(--kc-font-body);}
.kc-l3{background: var(--kc-hero-bg);}
.kc-l3 .kc-icon-area{padding: 13px 13px 0; display: flex; align-items: center; justify-content: space-between;}
.kc-l3 .kc-icon{font-size: 1.75rem; line-height: 1;}
.kc-l3 .kc-type-pill{font-size: .57rem; font-weight:700; text-transform: uppercase; letter-spacing: .06em; padding: 3px 8px; border-radius: 999px; background: rgba(255,255,255,.15); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.2); font-family: var(--kc-font-body);}
.kc-l3 .kc-body{padding: 8px 13px 12px;}
.kc-l3 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-accent); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l3 .kc-title{font-size: .86rem; font-weight:700; color: rgba(255,255,255,.95); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l3 .kc-msg{font-size: .62rem; color: rgba(255,255,255,.65); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l3 .kc-cta{display: block; text-align: center; background: var(--kc-accent); color: #fff; font-size: .64rem; font-weight:700; padding: 7px; border-radius: 999px; font-family: var(--kc-font-body);}
.kc-l4 .kc-hero{height: var(--kc-hero-h); background: var(--kc-hero-bg); padding: 10px 13px; display: flex; flex-direction: column; justify-content: center;}
.kc-l4 .kc-prog-label{font-size: .53rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); margin-bottom: 7px; font-family: var(--kc-font-body);}
.kc-l4 .kc-dots{display: flex; gap: 5px;}
.kc-l4 .kc-dot{width: 13px; height: 13px; border-radius: 50%; background: rgba(255,255,255,.2); border: 1.5px solid rgba(255,255,255,.35);}
.kc-l4 .kc-dot.on{background: #fff; border-color: #fff;}
.kc-l4 .kc-body{padding: 10px 13px 12px; background: var(--kc-surface);}
.kc-l4 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l4 .kc-title{font-size: .84rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 7px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l4 .kc-stats{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5px; margin-bottom: 9px;}
.kc-l4 .kc-stat{background: var(--kc-surface-2); border: 1px solid var(--line); border-radius: 7px; padding: 5px 6px; text-align: center;}
.kc-l4 .kc-stat-v{font-size: .73rem; font-weight:700; color: var(--kc-accent-2); display: block; font-family: var(--kc-font-body);}
.kc-l4 .kc-stat-l{font-size: .52rem; color: var(--kc-text-muted); display: block; font-family: var(--kc-font-body);}
.kc-l4 .kc-cta{display: block; text-align: center; background: var(--kc-cta-bg); color: var(--kc-cta-text); font-size: .64rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}
.kc-l5 .kc-band{height: var(--kc-hero-h); background: var(--kc-hero-bg); display: flex; align-items: center; justify-content: space-between; padding: 0 13px;}
.kc-l5 .kc-band-emoji{font-size: 1.1rem;}
.kc-l5 .kc-band-text{font-size: .6rem; font-weight:700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.85); font-family: var(--kc-font-body);}
.kc-l5 .kc-body{padding: 10px 13px 12px; background: var(--kc-surface);}
.kc-l5 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l5 .kc-title{font-family: var(--kc-font-head); font-size: .92rem; font-style: italic; font-weight: 700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2;}
.kc-l5 .kc-msg{font-size: .62rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 7px; font-family: var(--kc-font-body);}
.kc-l5 .kc-validity{font-size: .57rem; font-weight: 600; color: var(--kc-biz-color); margin-bottom: 8px; font-family: var(--kc-font-body);}
.kc-l5 .kc-cta{display: block; text-align: center; background: var(--kc-hero-bg); color: #fff; font-size: .64rem; font-weight:700; padding: 7px; border-radius: 999px; font-family: var(--kc-font-body);}
.kc-l6 .kc-ref-hero{height: var(--kc-hero-h); background: var(--kc-hero-bg); display: flex; align-items: center; justify-content: space-between; padding: 0 14px;}
.kc-l6 .kc-ref-avs{display: flex; align-items: center; gap: 7px;}
.kc-l6 .kc-av{width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.18); border: 2px solid rgba(255,255,255,.35); display: grid; place-items: center; font-size: .85rem;}
.kc-l6 .kc-av2{background: rgba(255,255,255,.1); border-style: dashed;}
.kc-l6 .kc-arr{font-size: .75rem; color: rgba(255,255,255,.5); font-weight:700;}
.kc-l6 .kc-ref-tag{font-size: .57rem; font-weight:700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.65); font-family: var(--kc-font-body);}
.kc-l6 .kc-body{padding: 10px 13px 12px; background: var(--kc-surface);}
.kc-l6 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l6 .kc-title{font-size: .86rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l6 .kc-msg{font-size: .62rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l6 .kc-cta{display: block; text-align: center; background: var(--kc-hero-bg); color: #fff; font-size: .64rem; font-weight:700; padding: 7px; border-radius: 999px; font-family: var(--kc-font-body);}
.kc-l7{background: var(--kc-surface); border: 1px solid var(--line);}
.kc-l7 .kc-alert{background: var(--kc-hero-bg); padding: 6px 13px; display: flex; align-items: center; justify-content: space-between;}
.kc-l7 .kc-alert-text{font-size: .6rem; font-weight:700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.9); font-family: var(--kc-font-body);}
.kc-l7 .kc-alert-dot{width: 6px; height: 6px; border-radius: 50%; background: #fff; opacity: .7; animation: pulse 1.8s infinite;}
.kc-l7 .kc-body{padding: 11px 13px 12px;}
.kc-l7 .kc-top-row{display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; margin-bottom: 5px;}
.kc-l7 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .05em; font-family: var(--kc-font-body);}
.kc-l7 .kc-timer{font-size: .57rem; font-weight: 700; color: var(--kc-accent-2); background: var(--kc-surface-2); padding: 2px 6px; border-radius: 5px; font-family: var(--kc-font-body);}
.kc-l7 .kc-title{font-size: .86rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l7 .kc-msg{font-size: .62rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l7 .kc-cta{display: block; text-align: center; background: var(--kc-cta-bg); color: var(--kc-cta-text); font-size: .64rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}
.kc-l8{background: var(--kc-surface); border: 1px solid var(--line);}
.kc-l8 .kc-body{padding: 14px 13px 12px;}
.kc-l8 .kc-big-initial{font-size: 3rem; font-weight:700; line-height: .9; color: var(--kc-accent); font-family: var(--kc-font-head); float: left; margin: 0 8px 4px 0;}
.kc-l8 .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-family: var(--kc-font-body); clear: both;}
.kc-l8 .kc-type-label{font-size: .58rem; font-weight:700; text-transform: uppercase; letter-spacing: .08em; color: var(--kc-accent); border-top: 2px solid var(--kc-accent); display: inline-block; padding-top: 3px; margin-bottom: 5px; font-family: var(--kc-font-body);}
.kc-l8 .kc-title{font-size: .88rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l8 .kc-msg{font-size: .62rem; color: var(--kc-text-body); line-height: 1.5; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l8 .kc-cta{display: inline-flex; align-items: center; gap: 5px; font-size: .66rem; font-weight:700; color: var(--kc-cta-bg); border: 2px solid var(--kc-cta-bg); padding: 5px 12px; border-radius: 6px; font-family: var(--kc-font-body);}
.kc-social-header{display: flex; align-items: center; gap: 9px; padding: 10px 13px 9px; background: rgba(0,0,0,.04); border-bottom: 1px solid rgba(0,0,0,.06);}
.kc-social-avatar{width: 32px; height: 32px; border-radius: 50%; overflow: hidden; flex: 0 0 auto; border: 1.5px solid rgba(0,0,0,.1); display: grid; place-items: center; font-family: var(--kc-font-head); font-size: .8rem; font-weight: 700; color: #fff;}
.kc-social-avatar img{width: 100%; height: 100%; object-fit: cover; display: block;}
.kc-social-info{flex: 1; min-width: 0;}
.kc-social-name{font-size: .77rem; font-weight:700; color: var(--kc-text-head); line-height: 1.1; margin-bottom: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--kc-font-body);}
.kc-social-sub{font-size: .6rem; color: var(--kc-text-muted); font-weight: 500; font-family: var(--kc-font-body);}
.kc-social-badge{flex-shrink: 0; padding: 3px 8px; border-radius: 999px; font-size: .58rem; font-weight:700; letter-spacing: .03em; border: 1px solid; font-family: var(--kc-font-body); background: rgba(53, 167, 66,.1); color: var(--k-green-ink, #23812e); border-color: rgba(53, 167, 66,.25);}
.kc-share-btn{width: 34px; height: 34px; border-radius: 8px; flex-shrink: 0; border: 1.5px solid rgba(0,0,0,.12); background: transparent; display: grid; place-items: center; cursor: pointer; transition: .14s;}
.kc-share-btn:hover{background: rgba(0,0,0,.05);}
.kc-share-btn svg{width: 14px; height: 14px; fill: none; stroke: var(--kc-text-muted); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;}
.kc-actions-row{display: flex; align-items: center; gap: 7px; padding: 0 13px 12px;}
.kc-actions-row .kc-cta{flex: 1; margin: 0;}
.kc-l-img-hero{position: relative;}
.kc-l-img-hero .kc-img-hero{aspect-ratio: 4/5; position: relative; overflow: hidden;}
.kc-l-img-hero .kc-img-hero img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease;}
.kc-l-img-hero:hover .kc-img-hero img{transform: scale(1.03);}
.kc-l-img-hero .kc-img-hero-scrim{position: absolute; inset: 0; background: linear-gradient(180deg, transparent 70%, rgba(0,0,0,.45) 100%); pointer-events: none;}
.kc-l-img-hero .kc-img-expiry{position: absolute; bottom: 10px; left: 11px; font-size: .58rem; font-weight: 700; color: rgba(255,255,255,.88); background: rgba(0,0,0,.45); backdrop-filter: blur(6px); padding: 3px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.15); font-family: var(--kc-font-body);}
.kc-l-img-hero .kc-body{padding: 11px 13px 4px; background: var(--kc-surface);}
.kc-l-img-hero .kc-title{font-size: .9rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l-img-hero .kc-msg{font-size: .63rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 10px; font-family: var(--kc-font-body);}
.kc-l-img-hero .kc-cta{display: block; text-align: center; background: var(--kc-cta-bg); color: var(--kc-cta-text); font-size: .65rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}
.kc-l-img-split{background: var(--kc-surface);}
.kc-l-img-split .kc-img-split-top{aspect-ratio: 4/5; position: relative; overflow: hidden;}
.kc-l-img-split .kc-img-split-top img{width: 100%; height: 100%; object-fit: cover; display: block;}
.kc-l-img-split .kc-split-tag{position: absolute; top: 8px; left: 8px; background: rgba(0,0,0,.55); color: #fff; backdrop-filter: blur(4px); font-size: .55rem; font-weight:700; text-transform: uppercase; letter-spacing: .07em; padding: 3px 8px; border-radius: 999px; font-family: var(--kc-font-body);}
.kc-l-img-split .kc-body{padding: 11px 13px 12px;}
.kc-l-img-split .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l-img-split .kc-title{font-size: .88rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l-img-split .kc-msg{font-size: .63rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l-img-split .kc-footer{display: flex; align-items: center; justify-content: space-between;}
.kc-l-img-split .kc-cta{font-size: .63rem; font-weight: 700; color: var(--kc-cta-bg); border: 1.5px solid var(--kc-cta-bg); padding: 5px 10px; border-radius: 6px; font-family: var(--kc-font-body);}
.kc-l-img-split .kc-exp{font-size: .57rem; color: var(--kc-text-muted); font-family: var(--kc-font-body);}
.kc-l-lottie-hero{background: var(--kc-surface);}
.kc-l-lottie-hero .kc-lottie-hero{height: 110px; background: var(--kc-hero-bg); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center;}
.kc-l-lottie-hero .kc-lottie-wrap{width: 88px; height: 88px; flex-shrink: 0; position: relative; z-index: 2;}
.kc-l-lottie-hero .kc-lottie-wrap lottie-player, .kc-l-lottie-hero .kc-lottie-wrap dotlottie-player{width: 100%; height: 100%;}
.kc-l-lottie-hero .kc-lottie-deco{position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.08) 0%, transparent 70%);}
.kc-l-lottie-hero .kc-lottie-tag{position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); font-size: .52rem; font-weight:700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.65); font-family: var(--kc-font-body); white-space: nowrap;}
.kc-l-lottie-hero .kc-body{padding: 10px 13px 12px;}
.kc-l-lottie-hero .kc-biz{font-size: .57rem; font-weight: 700; color: var(--kc-biz-color); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-family: var(--kc-font-body);}
.kc-l-lottie-hero .kc-title{font-size: .88rem; font-weight:700; color: var(--kc-text-head); margin: 0 0 4px; line-height: 1.2; font-family: var(--kc-font-head);}
.kc-l-lottie-hero .kc-msg{font-size: .63rem; color: var(--kc-text-body); line-height: 1.45; margin: 0 0 9px; font-family: var(--kc-font-body);}
.kc-l-lottie-hero .kc-cta{display: block; text-align: center; background: var(--kc-cta-bg); color: var(--kc-cta-text); font-size: .65rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}
.kc-l-img-bg{position: relative; overflow: hidden; min-height: 180px;}
.kc-l-img-bg .kc-bg-img{position: absolute; inset: 0;}
.kc-l-img-bg .kc-bg-img img{width: 100%; height: 100%; object-fit: cover; display: block;}
.kc-l-img-bg .kc-bg-overlay{position: absolute; inset: 0; background: var(--kc-hero-bg); opacity: .78;}
.kc-l-img-bg .kc-bg-content{position: relative; z-index: 2; padding: 16px 14px 14px;}
.kc-l-img-bg .kc-eyebrow{font-size: .52rem; font-weight:700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); font-family: var(--kc-font-body); display: block; margin-bottom: 6px;}
.kc-l-img-bg .kc-biz{font-size: .57rem; font-weight: 700; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; font-family: var(--kc-font-body);}
.kc-l-img-bg .kc-title{font-size: .94rem; font-weight:700; color: #fff; margin: 0 0 5px; line-height: 1.2; font-family: var(--kc-font-head); text-shadow: 0 1px 6px rgba(0,0,0,.3);}
.kc-l-img-bg .kc-msg{font-size: .63rem; color: rgba(255,255,255,.72); line-height: 1.45; margin: 0 0 11px; font-family: var(--kc-font-body);}
.kc-l-img-bg .kc-cta{display: block; text-align: center; background: rgba(255,255,255,.95); color: var(--kc-hero-bg); font-size: .65rem; font-weight:700; padding: 7px; border-radius: 8px; font-family: var(--kc-font-body);}

/* Typographic card in picker grid — size to match pk-img-only */
.card-shell .kc{width:100%;height:100%;font-size:70%;border-radius:12px;cursor:pointer;display:flex;flex-direction:column}
.card-shell .kc .kc-share-btn{display:none}
.card-shell .kc .kc-social-header{display:none}
.card-shell .kc .kc-body{flex:1}
.card-shell{aspect-ratio:4/5;overflow:hidden;display:flex;flex-direction:column}


/* @media and @keyframes */
@media(max-width:960px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:.25s;z-index:20;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.mobile-topbar{display:flex}}
@media(max-width:1080px){.campaigns-layout{grid-template-columns:1fr}}
@keyframes pdot{0%,100%{box-shadow:0 0 0 3px rgba(53, 167, 66,.25)}50%{box-shadow:0 0 0 5px rgba(53, 167, 66,.1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.cards-grid{grid-template-columns:1fr}}
@keyframes pp-float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)}}
@keyframes lf-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85}}
@keyframes pulse{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes tin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

/* ── Step 5 centered column ── */
.step5-center{max-width:340px;margin:0 auto 16px}

/* ═══════════════════════════════════════════════════════════
   CAMPAIGN WIZARD OVERLAY — mirrors automations.css pattern
   ═══════════════════════════════════════════════════════════ */

/* Primary view */
.camp-primary-view{max-width:none}
.camp-new-btn{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:16px 20px;border-radius:var(--radius);
  border:1.5px dashed var(--line-strong);background:var(--panel);
  color:var(--text);font-size:.88rem;font-weight:700;
  cursor:pointer;transition:.15s;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.camp-new-btn:hover{background:var(--panel-2);border-color:var(--k-ai-line);color:var(--k-ai-ink);}
.camp-new-btn:active{transform:scale(.98);}

/* Wizard overlay — exact automations pattern */
.wiz-overlay{
  display:none;position:fixed;inset:0;z-index:160;
  background:var(--bg);
  flex-direction:column;overflow:hidden;
}
.wiz-overlay.open{display:flex}

/* Inner modal box */
.wiz-inner{
  display:flex;flex-direction:column;
  width:100%;max-width:840px;max-height:92vh;
  margin:auto;border-radius:16px;overflow:hidden;
  background:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.03),0 2px 4px -2px rgba(0,0,0,.03);
  border:1px solid var(--line);
}

/* Top bar */
.wiz-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 32px;
  background:#fff;border-bottom:1px solid var(--line);
  flex:0 0 auto;
  border-radius:16px 16px 0 0;
}
.wiz-topbar-left{display:flex;align-items:center;gap:12px}
.wiz-topbar-title{font-size:1.05rem;font-weight:600;color:var(--text);letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wiz-close{
  background:none;border:none;cursor:pointer;color:var(--muted);
  padding:6px;border-radius:6px;display:flex;align-items:center;
  transition:background .15s;flex:0 0 auto;font-family:inherit;
}
.wiz-close:hover{background:var(--panel-2);color:var(--text)}

/* Steps nav — own section below topbar */
.wiz-steps-nav{
  padding:24px 32px 16px;
  background:#fff;border-bottom:1px solid var(--panel-2);
  flex:0 0 auto;
}
.wiz-bread{display:flex;justify-content:space-between;list-style:none;position:relative}
.wiz-bread::before{content:'';position:absolute;top:14px;left:3%;right:3%;height:2px;background:var(--line);z-index:1}
.wiz-bread-item{
  display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;z-index:2;
}
.wiz-bread-item::after{display:none}
.wiz-bread-dot{
  width:28px;height:28px;border-radius:9999px;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;border:2px solid var(--line);background:#fff;
  color:var(--muted);position:relative;z-index:1;transition:all .15s ease;
}
.wiz-bread-item.done .wiz-bread-dot{background:var(--k-green-hover, #1e6a27);border-color:var(--k-green-hover, #1e6a27);color:#fff}
.wiz-bread-item.active .wiz-bread-dot{background:#1c1917;border-color:#1c1917;color:#fff;box-shadow:0 0 0 4px var(--panel-2)}
.wiz-bread-label{font-size:.72rem;font-weight:500;color:var(--muted);text-align:center;white-space:nowrap}
.wiz-bread-item.active .wiz-bread-label{color:var(--text);font-weight:600}
.wiz-bread-item.done .wiz-bread-label{color:var(--text-2)}

/* Content area */
.wiz-content{flex:1;overflow-y:auto;padding:40px 56px;-webkit-overflow-scrolling:touch}

/* Hide old wizard header and step-continue inside overlay */
.wiz-content .wizard-wrap{display:none!important}
.wiz-content .step-continue{display:none!important}
.wiz-content .phase-divider{display:none!important}
.wiz-content .step-card{
  border:none!important;background:transparent!important;box-shadow:none!important;
  opacity:1!important;pointer-events:auto!important;margin:0 auto;max-width:600px;
  overflow:visible!important;
}
.wiz-content .step-card .step-head{display:none!important}
.wiz-content .step-card .step-body.hidden{display:none!important}
.wiz-content .step-card .step-body{padding:0!important}
.wiz-content .step-card.locked{display:none!important}
.wiz-content .step-card.done{display:none!important}
.wiz-content .builder-body{padding:0!important}
.wiz-content .campaigns-layout{display:block!important}
.wiz-content .panel{border:none!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
.wiz-content .right-panel{display:none!important}
.wiz-content .wiz-step-header{max-width:600px;margin-left:auto;margin-right:auto}
.wiz-content .goal-grid,.wiz-content .segment-grid{max-width:600px;margin-left:auto;margin-right:auto}
.wiz-content .offer-section,.wiz-content .schedule-section{max-width:600px;margin-left:auto;margin-right:auto}
.wiz-content .tone-grid{max-width:600px;margin-left:auto;margin-right:auto}

/* Bottom bar */
.wiz-bottombar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 32px;
  background:#fff;border-top:1px solid var(--line);
  flex:0 0 auto;
  border-radius:0 0 16px 16px;
}
.wiz-btn{
  padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;
  cursor:pointer;transition:all .15s;font-family:inherit;border:1px solid var(--line);
  background:#fff;color:var(--text-2);text-align:center;
  min-height:44px;
}
.wiz-btn:active{transform:scale(.97)}
.wiz-btn-primary{
  background:#1c1917;border-color:#1c1917;color:#fff;margin-left:auto;
}
.wiz-btn-primary:hover{background:#44403c;border-color:#44403c}
.wiz-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}
.wiz-btn-primary.wiz-btn-activate{background:var(--k-green-hover, #1e6a27);border-color:var(--k-green-hover, #1e6a27)}
.wiz-btn-primary.wiz-btn-activate:hover{background:var(--k-green, #23812e);border-color:var(--k-green, #23812e)}
.wiz-btn-back{color:var(--text-2);border-color:var(--line)}
.wiz-btn-back:hover{background:var(--panel-2);color:var(--text)}
.camp-launch-btn{font-size:14px}

/* Desktop: dark scrim backdrop */
@media(min-width:769px){
  .wiz-overlay{background:rgba(15,23,42,.35)}
}
/* Mobile: fullscreen, no border-radius */
@media(max-width:768px){
  .wiz-inner{max-width:none;max-height:none;height:100%;border-radius:0;box-shadow:none;border:none}
  .wiz-topbar{padding:16px 20px;border-radius:0}
  .wiz-steps-nav{padding:16px 20px 12px}
  .wiz-bread-label{display:none}
  .wiz-content{padding:12px 20px}
  .wiz-bottombar{padding:16px 20px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-radius:0}
  .main{padding:0 0 44px!important}
  .content-pad-top{padding-left:10px!important;padding-right:10px!important}
}

/* Step header shown inside wizard content */
.wiz-step-header{margin-bottom:10px}
.wiz-step-header h3{font-size:1.15rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-0.02em}
.wiz-step-header p{font-size:.82rem;color:var(--text-2);margin:6px 0 0;line-height:1.4}

/* Tone filter pills */
.tone-pill{border:1px solid var(--line);background:#fff;border-radius:9999px;padding:5px 13px;font-size:.78rem;font-weight:500;color:var(--text-2);cursor:pointer;transition:all .1s ease;flex-shrink:0;white-space:nowrap}
.tone-pill:hover{border-color:var(--line-strong);color:var(--text)}
.tone-pill.active{background:#1c1917;border-color:#1c1917;color:#fff;font-weight:600}
#campFilterPills .tone-pill{padding:5px 13px;font-size:.78rem;border-radius:9999px;border-width:1px}
#campToneFilter::-webkit-scrollbar{display:none}
#campToneFilter{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:5px;margin-bottom:12px;padding-bottom:2px}

/* ── Desktop grid: cards + side panel ── */
.camp-desk-grid{display:block}
.camp-desk-panel{display:none}
@media(min-width:769px){
  .camp-desk-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
  .camp-desk-cards{max-width:480px}
  .camp-desk-panel{display:block;position:sticky;top:32px}
}

/* ── Preview card = the app's card (index.html .nc-card), 2026-10-14 ──
   Same anatomy the customer sees: light avatar, Plus Jakarta, gray message,
   the time chip on the photo, heart + share, and the button on the right
   (Redeem, or the promotion's button). Overrides the older .pp-* look above. */
.pp-card{background:var(--panel,#fff);border-radius:20px;border:1px solid var(--line,#e5e5e5);box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif}
.pp-card .pp-hdr{gap:12px;padding:12px 16px;background:transparent}
.pp-card .pp-avatar{width:44px;height:44px;font-size:.9rem;font-weight:700}
.pp-card .pp-biz-name{font-family:inherit;font-size:15px;font-weight:600;color:var(--text,#171717)}
.pp-card .pp-biz-sub{font-size:12px;font-weight:500;color:var(--muted,#737373)}
.pp-card .pp-badge{font-size:12px;font-weight:700;padding:5px 12px}
.pp-card .pp-visual{aspect-ratio:4/5;background:#e8e8e0}
.pp-card .pp-vi-shade{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(transparent,rgba(0,0,0,.42));z-index:2}
.pp-chip{display:inline-flex;align-items:center;gap:5px;background:#fff;color:#171717;font-size:12px;font-weight:700;border-radius:999px;padding:5px 10px;border:1px solid rgba(0,0,0,.06)}
.pp-chip.urgent{color:#b91c1c}
.pp-visual .pp-chip{position:absolute;left:12px;bottom:12px;z-index:3;border:0}
.pp-card .pp-body{padding:12px 16px 4px;background:transparent}
.pp-card .pp-body .pp-chip{margin-top:8px}
.pp-card .pp-title{font-family:inherit;font-size:20px;font-weight:700;color:var(--text,#171717);letter-spacing:-.3px}
.pp-card .pp-msg{font-family:inherit;font-size:15px;color:var(--text-2,#525252)}
.pp-card .pp-footer{padding:8px 16px 12px}
.pp-card .pp-ft-btn{color:var(--text-2,#525252)}
.pp-btn{margin-left:auto;height:38px;padding:0 18px;border-radius:10px;background:var(--k-green, #23812e);color:#fff;font-size:14px;font-weight:700;display:inline-flex;align-items:center;white-space:nowrap}
.pp-prog{margin-top:10px}
.pp-prog-h{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted,#737373)}
.pp-prog-h b{color:var(--k-green-ink, #23812e)}
.pp-stamps{display:flex;gap:6px;margin:8px 0 6px;flex-wrap:wrap}
.pp-st{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}
.pp-st.done{background:var(--k-green, #23812e);color:#fff}
.pp-st.next{border:2px dashed var(--line,#d4d4d4);color:var(--muted,#737373)}
.pp-st.gift{border:2px solid var(--k-green, #23812e);font-size:15px}
.pp-prog-s{font-size:12.5px;color:var(--muted,#737373)}
:root[data-theme="dark"] .pp-chip{background:#262626;color:#ededed}
:root[data-theme="dark"] .pp-chip.urgent{color:#f87171}
:root[data-theme="dark"] .pp-prog-h b{color:#7ed321}

/* Modo exprés ("Ármala por mí"): step 1's two buttons and the review's "Cambiar" list */
.cw-steps-btn{margin-left:auto}
.wiz-bottombar.cw-two .wiz-btn-primary{margin-left:0}
.wiz-v2 .wiz-bottombar.cw-two .cw-steps-btn,.wiz-v2 .wiz-bottombar.cw-two .wiz-btn-primary{flex:1;justify-content:center;padding-left:8px !important;padding-right:8px !important}
.cw-exp-list{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:0 0 14px}
.cw-exp-row{display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid var(--line)}
.cw-exp-row:first-child{border-top:0}
.cw-exp-txt{flex:1;min-width:0}
.cw-exp-k{font-size:12px;color:var(--muted)}
.cw-exp-v{font-size:14px;font-weight:600;color:var(--text);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cw-exp-go{border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--green);cursor:pointer;min-height:44px;padding:0 4px;flex-shrink:0}
.cw-exp-go:hover{text-decoration:underline}
:root[data-theme="dark"] .cw-exp-go{color:#7ed321}
.cw-exp-hh{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--green);background:var(--green-soft);border-radius:12px;padding:14px;margin:0 0 14px;cursor:pointer}
.cw-exp-hh input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--green);flex-shrink:0}
.cw-exp-hh > span{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2);line-height:1.45}
.cw-exp-hh b{font-size:15px;color:var(--text)}
:root[data-theme="dark"] .cw-exp-hh{background:rgba(124, 187, 16,.12)}
.cw-exp-steps{display:block;margin:0 auto 8px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--text-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:0 8px}
