Plugin Directory

Changeset 3729385


Ignore:
Timestamp:
10/05/2026 05:43:26 PM (3 weeks ago)
Author:
cartrevival
Message:

CartRevival 2.20.0 — new admin design system (brand header, pill navigation, green visual system), test-suite fixes

Location:
cartrevival
Files:
2 added
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • cartrevival/tags/2.20.0/CHANGELOG.md

    r3727923 r3729385  
    44directory truncates the Changelog section at 5,000 characters. Nothing has
    55been deleted: the complete history lives here.
     6
     7## 2.20.0
     8
     9* **A new look for every CartRevival screen.** A brand header shows the version and edition at a glance, the main navigation is a pill rail, and the whole admin — Dashboard, Carts, Campaigns, Settings, Live, Pro — now uses one visual system in CartRevival's own green: lifted cards with accent bars, bolder KPI tiles, rounded notices, consistent buttons and switches, and gentle entrance motion (off automatically when your system asks for reduced motion). Works in Arabic/RTL unchanged.
     10* **Clearer journey.** The page title and edition badge are always in the same place, the active section is unmistakable, and Pro panels share the look of cartrevival.com so Free and Pro feel like one product.
     11* **cartrevival.com** has a new animated home page covering every feature in Free and Pro.
     12* **Behind the scenes:** the release suite no longer pins the previous version into the update check, and the known-shopper privacy check judges every field except the random nonce (which could legitimately contain six digits in a row).
    613
    714## 2.19.0
  • cartrevival/tags/2.20.0/assets/css/cartrevival-admin.css

    r3727923 r3729385  
    25652565        color: #3c434a;
    25662566}
     2567
     2568/* =====================================================================
     2569 * 2.20 design layer — one visual system across every CartRevival screen.
     2570 *
     2571 * Everything below only re-skins components that already exist; no markup
     2572 * other than the brand bar changed. Brand green replaces the generic blue
     2573 * accent so the admin matches cartrevival.com, buttons included. Logical
     2574 * properties keep RTL free. Motion is decorative and switched off under
     2575 * prefers-reduced-motion.
     2576 * ===================================================================== */
     2577
     2578.cartrevival {
     2579        --crl-accent: #0b7a3b;
     2580        --crl-accent-strong: #085c2c;
     2581        --crl-accent-soft: rgba( 11, 122, 59, 0.1 );
     2582        --crl-accent-glow: rgba( 34, 197, 94, 0.22 );
     2583        --crl-line: #e3e7ec;
     2584        --crl-sunk: #f5f7f9;
     2585        --crl-shadow: 0 1px 2px rgba( 16, 24, 40, 0.04 ), 0 6px 20px -8px rgba( 16, 24, 40, 0.12 );
     2586        --crl-shadow-hover: 0 2px 4px rgba( 16, 24, 40, 0.05 ), 0 16px 32px -14px rgba( 16, 24, 40, 0.2 );
     2587        --crl-radius: 14px;
     2588        --crl-ease: cubic-bezier( 0.22, 1, 0.36, 1 );
     2589}
     2590
     2591/* ---- Brand bar ------------------------------------------------------ */
     2592
     2593.cartrevival > h1.wp-heading-inline {
     2594        position: absolute;
     2595        width: 1px;
     2596        height: 1px;
     2597        overflow: hidden;
     2598        clip: rect( 0 0 0 0 );
     2599        white-space: nowrap;
     2600}
     2601
     2602.cartrevival-brand {
     2603        display: flex;
     2604        align-items: center;
     2605        gap: 10px;
     2606        margin-block: 14px 10px;
     2607        direction: ltr; /* the brand is a proper noun; it never flips */
     2608}
     2609
     2610.rtl .cartrevival-brand {
     2611        justify-content: flex-end;
     2612}
     2613
     2614.cartrevival-brand__mark {
     2615        width: 30px;
     2616        height: 30px;
     2617        border-radius: 9px;
     2618        position: relative;
     2619        background: conic-gradient( from 200deg, #4ade80, #0b7a3b 40%, #0e3b23 70%, #4ade80 );
     2620        box-shadow: 0 0 0 3px var( --crl-accent-glow ), 0 4px 10px -2px rgba( 11, 122, 59, 0.5 );
     2621}
     2622
     2623.cartrevival-brand__mark::after {
     2624        content: "";
     2625        position: absolute;
     2626        inset: 9px;
     2627        border-radius: 50%;
     2628        background: #fff;
     2629}
     2630
     2631.cartrevival-brand__name {
     2632        font-size: 22px;
     2633        font-weight: 800;
     2634        letter-spacing: -0.02em;
     2635        color: var( --crl-text );
     2636        line-height: 1;
     2637}
     2638
     2639.cartrevival-brand__name b {
     2640        color: var( --crl-accent );
     2641        font-weight: 800;
     2642}
     2643
     2644.cartrevival-brand__chip {
     2645        font-size: 11px;
     2646        font-weight: 700;
     2647        letter-spacing: 0.04em;
     2648        padding: 3px 8px;
     2649        border-radius: 999px;
     2650        background: var( --crl-sunk );
     2651        border: 1px solid var( --crl-line );
     2652        color: var( --crl-muted );
     2653        line-height: 1.4;
     2654}
     2655
     2656.cartrevival-brand__chip--pro {
     2657        background: var( --crl-text );
     2658        border-color: var( --crl-text );
     2659        color: #fff;
     2660        letter-spacing: 0.08em;
     2661}
     2662
     2663/* ---- Primary tabs → pill rail -------------------------------------- */
     2664
     2665.cartrevival .cartrevival-tabs.nav-tab-wrapper {
     2666        display: inline-flex;
     2667        flex-wrap: wrap;
     2668        gap: 4px;
     2669        padding: 4px;
     2670        border: 1px solid var( --crl-line );
     2671        border-radius: 999px;
     2672        background: #fff;
     2673        box-shadow: var( --crl-shadow );
     2674        margin-block-end: 22px;
     2675}
     2676
     2677.cartrevival .cartrevival-tabs .nav-tab {
     2678        margin: 0;
     2679        border: 0;
     2680        background: transparent;
     2681        border-radius: 999px;
     2682        padding: 8px 16px;
     2683        font-size: 13.5px;
     2684        font-weight: 600;
     2685        color: var( --crl-muted );
     2686        float: none;
     2687        transition: background 0.2s var( --crl-ease ), color 0.2s var( --crl-ease );
     2688}
     2689
     2690.cartrevival .cartrevival-tabs .nav-tab:hover {
     2691        background: var( --crl-sunk );
     2692        color: var( --crl-text );
     2693}
     2694
     2695.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active,
     2696.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active:hover {
     2697        background: var( --crl-accent );
     2698        color: #fff;
     2699        box-shadow: 0 6px 14px -8px rgba( 11, 122, 59, 0.8 );
     2700}
     2701
     2702.cartrevival .cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ) {
     2703        color: var( --crl-accent );
     2704}
     2705
     2706.cartrevival .cartrevival-tabs .nav-tab:focus-visible {
     2707        outline: 2px solid var( --crl-accent );
     2708        outline-offset: 2px;
     2709        box-shadow: none;
     2710}
     2711
     2712/* ---- Section tabs ---------------------------------------------------- */
     2713
     2714.cartrevival-rtab {
     2715        border-radius: 10px 10px 0 0;
     2716        transition: color 0.2s, background 0.2s;
     2717}
     2718
     2719.cartrevival-rtab[aria-selected="true"],
     2720.cartrevival-rtab.is-active {
     2721        border-block-end-color: var( --crl-accent );
     2722        color: var( --crl-accent-strong );
     2723}
     2724
     2725/* ---- Cards, panels, KPI tiles --------------------------------------- */
     2726
     2727.cartrevival-panel,
     2728.cartrevival-card,
     2729.cartrevival-rcard,
     2730.cartrevival-flow-preset {
     2731        border-color: var( --crl-line );
     2732        border-radius: var( --crl-radius );
     2733        box-shadow: var( --crl-shadow );
     2734        transition: box-shadow 0.3s var( --crl-ease ), transform 0.3s var( --crl-ease ), border-color 0.3s;
     2735}
     2736
     2737.cartrevival-card:hover,
     2738.cartrevival-flow-preset:hover {
     2739        box-shadow: var( --crl-shadow-hover );
     2740        transform: translateY( -2px );
     2741        border-color: #cfe3d6;
     2742}
     2743
     2744.cartrevival-card {
     2745        position: relative;
     2746        overflow: hidden;
     2747        padding: 18px 20px;
     2748}
     2749
     2750.cartrevival-card::before {
     2751        content: "";
     2752        position: absolute;
     2753        inset-inline-start: 0;
     2754        inset-block: 0;
     2755        width: 4px;
     2756        background: linear-gradient( 180deg, #cbd5e1, #e2e8f0 );
     2757}
     2758
     2759.cartrevival-card.is-good::before {
     2760        background: linear-gradient( 180deg, #4ade80, var( --crl-accent ) );
     2761}
     2762
     2763.cartrevival-card.is-good {
     2764        background: linear-gradient( 180deg, #f4fbf6, #fff );
     2765}
     2766
     2767.cartrevival-card__value {
     2768        font-size: 30px;
     2769        font-weight: 800;
     2770        letter-spacing: -0.03em;
     2771        font-variant-numeric: tabular-nums;
     2772}
     2773
     2774.cartrevival-panel h2,
     2775.cartrevival-panel h3 {
     2776        letter-spacing: -0.01em;
     2777}
     2778
     2779/* Upsell panels pick up the landing's dark gradient so PRO reads as one brand. */
     2780.cartrevival-panel--upsell {
     2781        background: radial-gradient( 600px 240px at 90% 0%, rgba( 34, 197, 94, 0.28 ), transparent 60% ),
     2782                linear-gradient( 160deg, #0b1f14, #06140d );
     2783        border-color: #123623;
     2784        color: #fff;
     2785}
     2786
     2787/* ---- Buttons --------------------------------------------------------- */
     2788
     2789.cartrevival .button-primary,
     2790.cartrevival .button.button-primary {
     2791        background: linear-gradient( 180deg, #119a4b, var( --crl-accent ) );
     2792        border-color: var( --crl-accent-strong );
     2793        color: #fff;
     2794        border-radius: 9px;
     2795        box-shadow: 0 1px 0 rgba( 255, 255, 255, 0.2 ) inset, 0 6px 14px -8px rgba( 11, 122, 59, 0.8 );
     2796        text-shadow: none;
     2797        transition: transform 0.2s var( --crl-ease ), box-shadow 0.2s var( --crl-ease ), background 0.2s;
     2798}
     2799
     2800.cartrevival .button-primary:hover,
     2801.cartrevival .button-primary:focus {
     2802        background: linear-gradient( 180deg, #0f8a43, var( --crl-accent-strong ) );
     2803        border-color: var( --crl-accent-strong );
     2804        color: #fff;
     2805        transform: translateY( -1px );
     2806        box-shadow: 0 10px 20px -10px rgba( 11, 122, 59, 0.9 );
     2807}
     2808
     2809.cartrevival .button-primary:focus {
     2810        box-shadow: 0 0 0 1px #fff, 0 0 0 3px var( --crl-accent );
     2811}
     2812
     2813.cartrevival .button:not( .button-primary ):not( .button-link ) {
     2814        border-radius: 9px;
     2815        border-color: var( --crl-line );
     2816        color: var( --crl-text );
     2817        background: #fff;
     2818        transition: border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s var( --crl-ease );
     2819}
     2820
     2821.cartrevival .button:not( .button-primary ):not( .button-link ):hover {
     2822        border-color: var( --crl-accent );
     2823        color: var( --crl-accent );
     2824        box-shadow: var( --crl-shadow );
     2825}
     2826
     2827/* WP's own links inside our screens follow the brand too. */
     2828.cartrevival a:not( .button ):not( .nav-tab ) {
     2829        color: var( --crl-accent );
     2830}
     2831
     2832.cartrevival a:not( .button ):not( .nav-tab ):hover {
     2833        color: var( --crl-accent-strong );
     2834}
     2835
     2836/* ---- Switches & chips ----------------------------------------------- */
     2837
     2838.cartrevival-switch input:checked + .cartrevival-switch__track {
     2839        background: var( --crl-accent );
     2840}
     2841
     2842.cartrevival-chip {
     2843        border-radius: 999px;
     2844}
     2845
     2846/* ---- Notices --------------------------------------------------------- */
     2847
     2848.cartrevival .notice,
     2849.cartrevival .cartrevival-notice {
     2850        border-radius: 12px;
     2851        border-inline-start-width: 4px;
     2852        box-shadow: var( --crl-shadow );
     2853        border-block: 1px solid var( --crl-line );
     2854        border-inline-end: 1px solid var( --crl-line );
     2855}
     2856
     2857/* ---- Tables ---------------------------------------------------------- */
     2858
     2859.cartrevival .wp-list-table,
     2860.cartrevival .cartrevival-table {
     2861        border-radius: var( --crl-radius );
     2862        overflow: hidden;
     2863        border-color: var( --crl-line );
     2864        box-shadow: var( --crl-shadow );
     2865}
     2866
     2867.cartrevival .wp-list-table thead th {
     2868        background: var( --crl-sunk );
     2869        font-size: 12px;
     2870        letter-spacing: 0.04em;
     2871        text-transform: uppercase;
     2872        color: var( --crl-muted );
     2873}
     2874
     2875.cartrevival .wp-list-table tbody tr {
     2876        transition: background 0.15s;
     2877}
     2878
     2879.cartrevival .wp-list-table tbody tr:hover {
     2880        background: #fafcfb;
     2881}
     2882
     2883/* ---- Entrance motion ------------------------------------------------- */
     2884
     2885@keyframes cartrevival-rise {
     2886        from { opacity: 0; transform: translateY( 10px ); }
     2887        to   { opacity: 1; transform: none; }
     2888}
     2889
     2890.cartrevival .cartrevival-panel,
     2891.cartrevival .cartrevival-card,
     2892.cartrevival .cartrevival-rcard {
     2893        animation: cartrevival-rise 0.5s var( --crl-ease ) both;
     2894}
     2895
     2896.cartrevival .cartrevival-cards > :nth-child( 2 ),
     2897.cartrevival .cartrevival-grid > :nth-child( 2 ) { animation-delay: 0.05s; }
     2898.cartrevival .cartrevival-cards > :nth-child( 3 ),
     2899.cartrevival .cartrevival-grid > :nth-child( 3 ) { animation-delay: 0.1s; }
     2900.cartrevival .cartrevival-cards > :nth-child( 4 ),
     2901.cartrevival .cartrevival-grid > :nth-child( 4 ) { animation-delay: 0.15s; }
     2902.cartrevival .cartrevival-cards > :nth-child( 5 ) { animation-delay: 0.2s; }
     2903
     2904/* The Live screen paints its own dark system; keep its panels untouched. */
     2905.cartrevival-live .cartrevival-panel,
     2906.cartrevival-live .cartrevival-card {
     2907        animation: none;
     2908        box-shadow: none;
     2909        transform: none;
     2910}
     2911
     2912@media ( max-width: 782px ) {
     2913        .cartrevival .cartrevival-tabs.nav-tab-wrapper {
     2914                display: flex;
     2915                border-radius: 16px;
     2916        }
     2917
     2918        .cartrevival .cartrevival-tabs .nav-tab {
     2919                flex: 1 1 auto;
     2920                text-align: center;
     2921        }
     2922
     2923        .cartrevival-brand__name {
     2924                font-size: 19px;
     2925        }
     2926}
     2927
     2928@media ( prefers-reduced-motion: reduce ) {
     2929        .cartrevival *,
     2930        .cartrevival *::before,
     2931        .cartrevival *::after {
     2932                animation-duration: 0.001ms !important;
     2933                transition-duration: 0.001ms !important;
     2934        }
     2935}
  • cartrevival/tags/2.20.0/assets/css/cartrevival-admin.min.css

    r3727923 r3729385  
    1 .cartrevival .cartrevival-tabs{margin-block-end:20px}.cartrevival{--crl-bg:#fff;--crl-panel:#fff;--crl-sunk:#f6f7f9;--crl-line:#e2e5ea;--crl-text:#1d2327;--crl-muted:#5b6470;--crl-accent:#2563eb;--crl-accent-soft:rgba( 37, 99, 235, 0.09 );--crl-good:#047857;--crl-warn:#b45309;--crl-hot:#b91c1c;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.05 ),0 4px 16px rgba( 16, 24, 40, 0.05 );--crl-radius:12px;--crl-accent-strong:#1e40af}.cartrevival-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca3af;margin-inline-start:6px;vertical-align:middle;transition:background-color .2s}.cartrevival-dot[data-cartrevival-connection=live]{background:#059669}.cartrevival-dot[data-cartrevival-connection=connecting],.cartrevival-dot[data-cartrevival-connection=polling]{background:#d97706}.cartrevival-dot[data-cartrevival-connection=offline]{background:#9ca3af}.cartrevival-muted{color:var(--crl-muted);font-size:12px}.cartrevival-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 18px}.cartrevival-card.is-good{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--crl-muted);margin-block-end:6px}.cartrevival-card__value{font-size:26px;font-weight:600;line-height:1.2;color:var(--crl-text)}.cartrevival-card__hint{font-size:12px;color:var(--crl-muted);margin-block-start:4px}.cartrevival-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.cartrevival-panel{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px 20px}.cartrevival-panel--wide{grid-column:1/-1}.cartrevival-panel--upsell{background:var(--crl-sunk);color:var(--crl-text);border-style:dashed;border-color:var(--crl-line)}.cartrevival-panel--upsell h2,.cartrevival-panel--upsell h3,.cartrevival-panel--upsell p{color:var(--crl-text)}.cartrevival-panel--upsell .cartrevival-muted{color:var(--crl-muted)}.cartrevival-panel h2{margin-block-start:0;font-size:15px}.cartrevival-panel h3{font-size:13px;margin-block-end:6px}.cartrevival-empty{margin-block:16px}.cartrevival-chart{width:100%;height:220px;display:block}.cartrevival-legend{display:flex;gap:18px;align-items:center;font-size:12px;color:#50575e;margin-block-start:8px;flex-wrap:wrap}.cartrevival-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:6px}.cartrevival-funnel{margin:0;padding:0;list-style:none}.cartrevival-funnel li{margin-block-end:14px}.cartrevival-funnel__head{display:flex;justify-content:space-between;align-items:baseline;margin-block-end:4px}.cartrevival-funnel__label{font-weight:600}.cartrevival-funnel__value{font-variant-numeric:tabular-nums}.cartrevival-funnel__bar{background:#f0f0f1;border-radius:4px;height:10px;overflow:hidden}.cartrevival-funnel__bar span{display:block;height:100%;background:linear-gradient(90deg,#2271b1,#0b7a3b);border-radius:4px}.cartrevival-funnel__meta{margin-block-start:4px}.cartrevival-table{width:100%;border-collapse:collapse}.cartrevival-table td{padding:7px 0;border-block-end:1px solid #f0f0f1;vertical-align:middle}.cartrevival-table tr:last-child td{border-block-end:0}.cartrevival-num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.cartrevival-thumbs{display:flex;gap:4px;align-items:center;margin-block-end:4px}.cartrevival-thumb{position:relative;display:inline-flex;width:38px;height:38px;border-radius:5px;overflow:hidden;background:#f0f0f1}.cartrevival-thumb img{width:38px;height:38px;object-fit:cover;display:block}.cartrevival-thumb__qty{position:absolute;inset-block-end:0;inset-inline-end:0;background:rgba(29,35,39,.82);color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-start-start-radius:4px}.cartrevival-thumb--more{align-items:center;justify-content:center;font-size:12px;color:#50575e}.cartrevival-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.7;background:#f0f0f1;color:var(--crl-muted);white-space:nowrap}.cartrevival-pill--shopping{background:#e7f0f7;color:#12537e}.cartrevival-pill--checkout{background:#fcf3d8;color:#8a6116}.cartrevival-pill--abandoned{background:#fbe6e6;color:#a32828}.cartrevival-pill--ordered,.cartrevival-pill--recovered{background:#e3f5e9;color:#0b6b35}.cartrevival-chip{display:inline-block;padding:1px 7px;border-radius:3px;font-size:11px;background:#e7f0f7;color:#12537e}.cartrevival-chip.is-muted{background:#f0f0f1;color:var(--crl-muted)}.cartrevival-chip.is-bot{background:#fcf3d8;color:#6d4c0a;cursor:help}.cartrevival-flow-hero{margin-block:16px 8px;padding:28px 28px 20px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}.cartrevival-flow-hero h2{margin-block-start:0;font-size:20px}.cartrevival-flow-hero__how{display:flex;gap:24px;margin:12px 0 0;padding:0;counter-reset:cr-how;list-style:none}.cartrevival-flow-hero__how li{counter-increment:cr-how;font-weight:600;color:#2c3338}.cartrevival-flow-hero__how li::before{content:counter(cr-how);display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;margin-inline-end:8px;border-radius:50%;background:#2271b1;color:#fff;font-size:12px}.cartrevival-flow-timeline{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:16px 8px;padding:14px 18px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;overflow-x:auto}.cartrevival-flow-timeline__origin{display:flex;flex-direction:column;justify-content:center;gap:4px;font-weight:600;color:#50575e;white-space:nowrap}.cartrevival-flow-timeline__dot{inline-size:10px;block-size:10px;border-radius:50%;background:#d63638}.cartrevival-flow-timeline__node{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #c3c4c7;border-inline-start:3px solid #2271b1;border-radius:6px;text-decoration:none;color:#2c3338;background:#f6f7f7;min-inline-size:130px}.cartrevival-flow-timeline__node:hover{border-color:#2271b1}.cartrevival-flow-timeline__delay{font-size:12px;font-weight:600;color:#135e96}.cartrevival-flow-timeline__channels{font-size:12px;color:var(--crl-muted)}.cartrevival-flow-presets{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:8px 16px}.cartrevival-flow-presets__title{align-self:center;font-weight:600;color:#50575e}.cartrevival-flow-preset{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;max-inline-size:320px;padding:12px 14px;border:1px solid #c3c4c7;border-radius:6px;background:#fff}.cartrevival-flow-preset .button{align-self:flex-start;margin-block-start:4px}.cartrevival-flow-preset.is-active{border-color:#00a32a;box-shadow:0 0 0 1px #00a32a;background:#f0f9f2}.cartrevival-badge-active{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:#00a32a;color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-flow-preset__on{margin-block-start:4px;font-weight:600;color:#007017}.cartrevival-flow-preset__needs{font-size:12px;color:#8a5a00;background:#fcf9e8;border-inline-start:3px solid #dba617;padding:4px 8px}.cartrevival-flow-preset__custom{display:block;font-weight:400;font-size:12px;color:#50575e}.cartrevival-flow-result{margin-block:8px}.cartrevival-flow-result .button-small{margin-inline-start:6px;vertical-align:middle}.cartrevival-rtabs{display:flex;gap:4px;flex-wrap:wrap;margin-block:4px 0;border-block-end:1px solid #c3c4c7}.cartrevival-rtab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-block-end:none;border-start-start-radius:6px;border-start-end-radius:6px;background:0 0;font-size:13px;font-weight:600;color:#2c3338;cursor:pointer}.cartrevival-rtab:hover{color:#135e96}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{background:#fff;border-color:#c3c4c7;position:relative;inset-block-end:-1px}a.cartrevival-rtab{text-decoration:none}a.cartrevival-rtab:focus{box-shadow:none}.cartrevival-rtab:focus-visible{outline:#2271b1 solid 2px;outline-offset:-2px}.cartrevival-rtab__status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.cartrevival-rtab__status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-rtab__status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-rtab__status.is-setup{background:#fcf3d8;color:#6d4c0a}.cartrevival-rtab__status.is-locked{background:#f0f0f1;color:#50575e}.cartrevival-rpanel{padding-block-start:16px}.cartrevival-channel-head{display:flex;flex-direction:column;gap:4px;margin-block-end:12px}.cartrevival-channel-head__toggle{display:inline-flex;align-items:center;gap:8px;font-size:15px}.cartrevival-savebar{display:flex;gap:8px;align-items:center;margin-block-start:16px}.cartrevival-botline{margin-block:4px 16px;font-size:12px;color:var(--crl-muted)}.cartrevival-botline a{margin-inline-start:6px}.cartrevival-botline__warn{color:#8a4a0b;font-weight:600}.cartrevival-segments{display:inline-flex;gap:6px;margin-block:10px 4px}.cartrevival-segment{display:inline-block;padding:4px 12px;border:1px solid #c3c4c7;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;color:#2c3338;background:#fff}.cartrevival-segment .count{font-weight:400;color:var(--crl-muted)}.cartrevival-segment:hover{border-color:#2271b1;color:#135e96}.cartrevival-segment.is-active{background:#2271b1;border-color:#2271b1;color:#fff}.cartrevival-segment.is-active .count{color:#dceaf5}.cartrevival-pro-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#0b7a3b;color:#fff!important;text-decoration:none;vertical-align:middle;margin-inline-start:6px}.cartrevival-pro-badge:focus,.cartrevival-pro-badge:hover{background:#096330;color:#fff!important}.cartrevival-tags{margin:0 0 20px;padding:0;list-style:none}.cartrevival-tags li{display:flex;align-items:baseline;gap:8px;margin-block-end:6px;flex-wrap:wrap}.cartrevival-tag{font-family:Menlo,Consolas,monospace;font-size:12px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:4px;padding:2px 7px;cursor:pointer}.cartrevival-tag.is-disabled{opacity:.55;cursor:default}.cartrevival-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-block-end:12px}.cartrevival-sequence__step{border:1px solid #dcdcde;border-radius:8px;padding:14px}.cartrevival-sequence__step.is-live{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-sequence__step.is-pro{border-style:dashed;background:#fbfbfc}.cartrevival-sequence__step h3{margin-block-start:0}.cartrevival-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-end:8px}.cartrevival-custom-range[hidden]{display:none}.cartrevival-actions-bar{margin-block-start:16px;padding:14px 18px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-actions-bar form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cartrevival-live-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-live__status{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e;margin-block-end:4px}.cartrevival-live__indicator{width:9px;height:9px;border-radius:50%;background:#c3c4c7;flex:none}.cartrevival-live__indicator[data-cartrevival-connection=live]{background:#0b7a3b;box-shadow:0 0 0 0 rgba(11,122,59,.55);animation:2.2s ease-out infinite cartrevival-pulse}.cartrevival-live__indicator[data-cartrevival-connection=connecting]{background:#dba617}.cartrevival-live__indicator[data-cartrevival-connection=polling]{background:#2271b1}.cartrevival-live__indicator[data-cartrevival-connection=offline]{background:#d63638}@keyframes cartrevival-pulse{70%{box-shadow:0 0 0 7px rgba(11,122,59,0)}100%{box-shadow:0 0 0 0 rgba(11,122,59,0)}}@media (prefers-reduced-motion:reduce){.cartrevival-live__indicator[data-cartrevival-connection=live]{animation:none}}.cartrevival-live__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#fff;border:1px solid #dcdcde;border-radius:8px;margin-block-end:8px}.cartrevival-live__filters input[type=search]{min-width:260px}.cartrevival-live__check,.cartrevival-live__minvalue{display:inline-flex;align-items:center;gap:6px;font-size:13px}.cartrevival-live__hint{margin-block:0 14px}.cartrevival-live__list{display:grid;gap:12px}.cartrevival-live__empty{background:#fff;border:1px dashed #dcdcde;border-radius:8px;padding:40px 20px;text-align:center}.cartrevival-live__empty p{margin:0 0 4px}.cartrevival-visitor{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s}.cartrevival-visitor.is-new{border-color:#0b7a3b;box-shadow:0 0 0 3px rgba(11,122,59,.12)}.cartrevival-visitor__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:10px;flex-wrap:wrap}.cartrevival-visitor__who{display:flex;align-items:center;gap:8px;min-width:0}.cartrevival-visitor__flag{font-size:18px;line-height:1}.cartrevival-visitor__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}@media (max-width:960px){.cartrevival-visitor__body{grid-template-columns:minmax(0,1fr)}}.cartrevival-visitor__eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8c8f94;margin-block-end:2px}.cartrevival-visitor__page{margin-block-end:10px;min-width:0}.cartrevival-visitor__page a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__facts{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 14px}.cartrevival-visitor__facts li{margin:0;font-size:12px;min-width:0}.cartrevival-visitor__facts span{display:block;color:#8c8f94}.cartrevival-visitor__facts b{display:block;color:var(--crl-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-block-end:6px}.cartrevival-visitor__cart-head strong{font-size:15px}.cartrevival-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-block-end:1px solid #f0f0f1}.cartrevival-item:last-child{border-block-end:0}.cartrevival-item img{width:40px;height:40px;object-fit:cover;border-radius:5px;flex:none;background:#f0f0f1}.cartrevival-item__text{display:flex;flex-direction:column;min-width:0;flex:1}.cartrevival-item__name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-item__qty,.cartrevival-item__variation{font-size:11px;color:#8c8f94}.cartrevival-item__total{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.cartrevival-visitor__foot{display:flex;gap:14px;align-items:center;margin-block-start:10px;padding-block-start:10px;border-block-start:1px solid #f0f0f1;flex-wrap:wrap}.cartrevival-journey{margin-block-start:12px;font-size:12px}.cartrevival-journey__list{margin:0;padding:0;list-style:none}.cartrevival-journey__event{display:flex;align-items:center;gap:8px;padding:5px 0;border-inline-start:2px solid #dcdcde;padding-inline-start:12px;margin-inline-start:4px;flex-wrap:wrap}.cartrevival-journey__event.is-add_to_cart{border-inline-start-color:#0b7a3b}.cartrevival-journey__event.is-remove_from_cart{border-inline-start-color:#d63638}.cartrevival-journey__event.is-checkout_start{border-inline-start-color:#dba617}.cartrevival-journey__event.is-ordered,.cartrevival-journey__event.is-recovered{border-inline-start-color:#2271b1}.cartrevival-journey__time{color:#8c8f94;font-variant-numeric:tabular-nums;flex:none}.cartrevival-journey__gap{background:#e4e7eb;color:#50575e;border-radius:999px;padding:0 7px;font-size:11px;flex:none}.cartrevival-journey__body{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.cartrevival-journey__body img{border-radius:3px;flex:none}.cartrevival-pill--browsing{background:#f0f0f1;color:#50575e}.cartrevival-pill--cart{background:#e7f0f7;color:#12537e}.cartrevival-pill--converted{background:#e3f5e9;color:#0b6b35}.cartrevival-live__pro{margin-block-start:18px}.cartrevival-live__toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--crl-line);border-radius:999px;background:var(--crl-panel);color:var(--crl-text);font-size:13px;line-height:1.4;cursor:pointer;user-select:none}.cartrevival-live__toggle:hover{border-color:var(--crl-accent)}.cartrevival-live__toggle input{margin:0}.cartrevival-live__toggle:focus-within{outline:2px solid var(--crl-accent);outline-offset:1px}@media (prefers-color-scheme:dark){.cartrevival-live .cartrevival-chip,.cartrevival-live .cartrevival-pill--cart,.cartrevival-live .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live .cartrevival-pill--converted,.cartrevival-live .cartrevival-pill--ordered,.cartrevival-live .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}}.cartrevival-live.is-dark .cartrevival-chip,.cartrevival-live.is-dark .cartrevival-pill--cart,.cartrevival-live.is-dark .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live.is-dark .cartrevival-pill--converted,.cartrevival-live.is-dark .cartrevival-pill--ordered,.cartrevival-live.is-dark .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live.is-dark .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live.is-dark .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}.cartrevival-step{border:1px solid var(--crl-line);border-radius:8px;padding:4px 18px 14px;margin-block-end:18px;background:var(--crl-panel)}.cartrevival-step h3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cartrevival-inline-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400}.cartrevival-stats{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 4px;font-size:12px;color:var(--crl-muted)}.cartrevival-stats strong{color:var(--crl-text)}.cartrevival-preview__bar{display:flex;align-items:center;gap:8px;margin-block-end:10px}.cartrevival-preview__bar .button.is-active{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent)}.cartrevival-preview__frame{border:1px solid var(--crl-line);border-radius:8px;overflow:hidden;background:#fff;transition:max-width .2s}.cartrevival-preview__frame.is-desktop{max-width:100%}.cartrevival-preview__frame.is-mobile{max-width:390px}.cartrevival-preview__frame iframe{width:100%;height:520px;border:0;display:block}.cartrevival-country-picker{min-width:320px;max-width:100%}.cartrevival-locked{border:1px dashed var(--crl-line);border-radius:8px;background:var(--crl-sunk);padding:10px 14px;max-width:640px}.cartrevival-locked__title{margin:0 0 4px;font-weight:600;color:var(--crl-muted)}.cartrevival-locked__icon{margin-inline-end:6px;opacity:.7}.cartrevival-locked__body{margin:0;color:var(--crl-muted);font-size:13px}.cartrevival-tabs .nav-tab.cartrevival-tab--accent{color:var(--crl-accent-strong);font-weight:600}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){background:var(--crl-accent-soft);border-color:var(--crl-accent-soft)}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:focus,.cartrevival-tabs .nav-tab.cartrevival-tab--accent:hover{color:var(--crl-accent-strong);text-decoration:underline}.cartrevival-upgrade{max-width:900px;margin-block-start:20px}.cartrevival-upgrade__intro h2{margin-block-start:0;font-size:20px;line-height:1.35}.cartrevival-upgrade__intro p{max-width:68ch;color:var(--crl-muted)}.cartrevival-upgrade__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-block:20px}.cartrevival-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-block:20px}.cartrevival-price-card{position:relative;border:1px solid var(--crl-line);border-radius:var(--crl-radius);background:var(--crl-panel);box-shadow:var(--crl-shadow);padding:20px}.cartrevival-price-card--best{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent),var(--crl-shadow)}.cartrevival-price-card__flag{position:absolute;inset-block-start:-10px;inset-inline-start:20px;margin:0;padding:2px 10px;border-radius:999px;background:var(--crl-accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cartrevival-price-card__name{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--crl-muted);text-transform:uppercase;letter-spacing:.04em}.cartrevival-price-card__figure{margin:0 0 6px;display:flex;align-items:baseline;gap:6px}.cartrevival-price-card__amount{font-size:34px;font-weight:700;line-height:1;color:var(--crl-text);direction:ltr;unicode-bidi:isolate}.cartrevival-price-card__period{color:var(--crl-muted);font-size:13px}.cartrevival-price-card__note{margin:0;color:var(--crl-muted);font-size:12px}.cartrevival-price-card__cta{margin:14px 0 0}.cartrevival-compare{margin-block-end:16px}.cartrevival-compare th[scope=row]{font-weight:400;text-align:start}.cartrevival-compare__cell{text-align:center;width:22%}.cartrevival-compare__cell--pro{background:var(--crl-accent-soft)}.cartrevival-yes{color:#065f46;font-weight:700}.cartrevival-no{color:var(--crl-muted)}.cartrevival-conn-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-inline-end:8px}.cartrevival-conn-status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-conn-status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-meter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;background:#fff;border:1px solid #dcdcde;border-inline-start:4px solid #2271b1;border-radius:6px}.cartrevival-meter--register{border-inline-start-color:#996800}.cartrevival-meter--lost{border-inline-start-color:#b32d2e;background:#fcf0f1}.cartrevival-meter__body,.cartrevival-meter__head{flex:1 1 auto;min-width:240px}.cartrevival-meter__count{margin-inline-start:10px;font-variant-numeric:tabular-nums}.cartrevival-meter__foot{flex-basis:100%;margin-top:6px;font-size:12px}.cartrevival-meter__foot a{text-decoration:none}.cartrevival-meter__cta{flex:0 0 auto}.cartrevival-meter__bar{margin-top:8px;height:8px;background:#f0f0f1;border-radius:4px;overflow:hidden;max-width:420px}.cartrevival-meter__bar>span{display:block;height:100%;background:#2271b1;border-radius:4px}.cartrevival-pill--tier{background:#f0f6fc;color:#0a4b78}.cartrevival-badge--limit{display:inline-block;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:600;color:#b32d2e;background:#fcf0f1;border:1px solid #f0c3c4;border-radius:3px}.cartrevival-visitors__total{font-size:22px;font-weight:700;margin-inline-start:8px;font-variant-numeric:tabular-nums}.cartrevival-visitors__grid{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:end}.cartrevival-visitors__grid>*{min-width:0}.cartrevival-visitors__countries{overflow-wrap:anywhere}@media (max-width:782px){.cartrevival-visitors__grid{grid-template-columns:1fr}}.cartrevival-visitors__chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:8px 0;border-bottom:1px solid #dcdcde}.cartrevival-vbar{flex:1 1 auto;min-width:3px;background:#2271b1;border-radius:2px 2px 0 0;opacity:.85}.cartrevival-vbar:hover{opacity:1}.cartrevival-visitors__countries h3{margin:0 0 8px;font-size:13px}.cartrevival-mailstate{margin:10px 0 4px;font-size:13px}.cartrevival-mailstate.is-ok{color:#0b7a3b}.cartrevival-mailstate.is-bad{color:#b32d2e;font-weight:600}.cartrevival-recovery-cell{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cartrevival-chanicons{display:inline-flex;gap:4px}.cartrevival-chanicon{display:inline-flex;align-items:center;gap:2px;color:var(--crl-accent)}.cartrevival-chanicon--failed{color:#b32d2e}.cartrevival-chanicon__n{font-size:11px;font-weight:600}.cartrevival-msend-group{display:inline-flex;gap:2px;border-inline-start:1px solid var(--crl-line);padding-inline-start:8px}.cartrevival-msend{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:26px;height:24px;padding:0 4px;border-radius:5px;color:var(--crl-accent);cursor:pointer}.cartrevival-msend:hover:not( :disabled ){background:var(--crl-soft,#e7f4ec)}.cartrevival-msend:disabled{color:#a7aaad;cursor:default}.cartrevival-timeline-toggle{font-size:12px}.cartrevival-msend-toast{display:inline-block;margin-inline-start:6px;font-size:12px;color:var(--crl-accent)}.cartrevival-msend-toast--error{color:#b32d2e}.cartrevival-msend-pop{position:absolute;z-index:100;inset-block-start:100%;inset-inline-start:0;min-width:260px;max-width:340px;background:#fff;border:1px solid var(--crl-line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:12px}.cartrevival-msend-pop__body>*{display:block}.cartrevival-msend-pop__subject{font-weight:600;margin-top:4px}.cartrevival-msend-pop__snippet{color:var(--crl-muted);font-size:12px;margin-top:2px}.cartrevival-msend-pop__warning{color:#996800;font-size:12px;margin-top:6px}.cartrevival-msend-pop__actions{margin-top:10px}.cartrevival-timeline-tr>td{background:var(--crl-panel-2,#f6f7f7)}.cartrevival-timeline-wrap{padding:4px 8px}.cartrevival-timeline{margin:0;padding:0;list-style:none}.cartrevival-timeline__item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--crl-line);margin:0}.cartrevival-timeline__item:last-child{border-bottom:0}.cartrevival-timeline__icon{flex:none;display:inline-flex;margin-top:2px;color:var(--crl-accent)}.cartrevival-timeline__item--failed .cartrevival-timeline__icon{color:#b32d2e}.cartrevival-timeline__item--skipped .cartrevival-timeline__icon,.cartrevival-timeline__item--upcoming .cartrevival-timeline__icon{color:#a7aaad}.cartrevival-timeline__item--upcoming{color:var(--crl-muted)}.cartrevival-timeline__body{display:block}.cartrevival-timeline__time{display:block;font-size:11.5px;color:var(--crl-muted)}.cartrevival-timeline__reason{display:block;font-size:12px;color:#b32d2e}.cartrevival-timeline__badge{display:inline-block;padding:0 6px;border-radius:99px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cartrevival-timeline__badge--sent{background:var(--crl-soft,#e7f4ec);color:var(--crl-accent)}.cartrevival-timeline__badge--failed{background:#fcf0f1;color:#b32d2e}.cartrevival-timeline__badge--skipped{background:#f0f0f1;color:#646970}.cartrevival-wa-vars{margin:12px 0 4px;padding:0;border:0}.cartrevival-wa-vars legend{font-weight:600;padding:0 0 4px}.cartrevival-wa-var-table{margin:8px 0;max-width:780px}.cartrevival-wa-var-table th[scope=row]{width:34%;font-weight:600;vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table td{vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table code{word-break:break-all}.cartrevival-wa-sample code{background:#f0f6fc;display:inline-block;max-width:100%}.cartrevival-wa-bubble{max-width:420px;background:#e7ffdb;border-radius:10px;padding:10px 12px;margin:8px 0;color:#111;line-height:1.5}.cartrevival-wa-bubble-header{font-weight:700;margin-bottom:6px}.cartrevival-wa-bubble-body{white-space:pre-wrap}.cartrevival-wa-bubble-footer{margin-top:8px;font-size:12px;opacity:.6}.cartrevival-wa-bubble-button{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);text-align:center}.cartrevival-wa-bubble-button-text{display:block;color:#0a7cff;font-weight:600}.cartrevival-wa-bubble-url{display:block;font-size:11px;word-break:break-all;margin-top:4px}.cartrevival-wa-problems{margin:8px 0 0;padding-inline-start:18px;list-style:disc}.cartrevival-wa-test-form{margin:8px 0}.cartrevival-wa-test-label{display:block;font-weight:600;margin-bottom:8px}.cartrevival-wa-test-label input{display:block;margin-top:4px;direction:ltr;text-align:start}.cartrevival-wa-test-to{font-weight:700;direction:ltr;text-align:start;unicode-bidi:isolate}.cartrevival-wa-payload{max-height:260px;overflow:auto;background:#f6f7f7;padding:10px;font-size:11px;direction:ltr;text-align:start}.cartrevival-wa-health ul{margin:0 0 8px;padding-inline-start:18px;list-style:disc}.cartrevival .cartrevival-panel>table.widefat,.cartrevival table.widefat.striped{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cartrevival .cartrevival-panel>table.widefat>tbody,.cartrevival .cartrevival-panel>table.widefat>thead,.cartrevival table.widefat.striped>tbody,.cartrevival table.widefat.striped>thead{display:table;width:100%;table-layout:auto}.cartrevival-arm{padding:20px 22px;border-inline-start-width:4px;margin-block:16px}.cartrevival-arm__title{margin:0 0 8px;font-size:17px;line-height:1.35}.cartrevival-arm__body{margin:0 0 10px;max-width:68ch;font-size:14px}.cartrevival-arm__waiting{margin:0 0 14px;font-size:14px}.cartrevival-arm__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px}.cartrevival-arm__actions form{display:inline-flex;margin:0}.cartrevival-arm__note{margin:0}.cartrevival-livestrip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;box-sizing:border-box;max-width:100%;padding:14px 20px;margin-block:16px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-livestrip__cell{display:flex;flex-direction:column;gap:2px;min-width:0}.cartrevival-livestrip__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#646970}.cartrevival-livestrip__value{font-size:20px;font-weight:600;line-height:1.2;color:#1d2327}.cartrevival-livestrip__more{margin-inline-start:auto;font-size:13px;font-weight:600}@media screen and (max-width:782px){.cartrevival-livestrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:14px 16px}.cartrevival-livestrip__cell{min-width:0}.cartrevival-livestrip__value{font-size:18px;overflow-wrap:anywhere}.cartrevival-livestrip__more{margin-inline-start:0;grid-column:1/-1}}.cartrevival-guide{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow);padding:18px 22px;margin-block:16px;max-width:960px}.cartrevival-guide__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.cartrevival-guide__head h2{margin:0 0 4px;font-size:18px}.cartrevival-guide__progress{display:flex;align-items:center;gap:10px;font-size:13px}.cartrevival-guide__progress progress{width:120px;height:8px;accent-color:var(--crl-good)}.cartrevival-guide__hide{color:var(--crl-muted)}.cartrevival-guide__steps{list-style:none;margin:16px 0 0;padding:0}.cartrevival-guide__step{display:flex;gap:14px;padding-block:14px;border-block-start:1px solid var(--crl-line);margin:0}.cartrevival-guide__mark{flex:0 0 28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-guide__step.is-done .cartrevival-guide__mark{background:var(--crl-good);color:#fff}.cartrevival-guide__body{flex:1 1 auto;min-width:0}.cartrevival-guide__body h3{margin:3px 0 6px;font-size:15px}.cartrevival-guide__body p{margin:0 0 8px}.cartrevival-guide__step.is-done .cartrevival-guide__body>p:not( .cartrevival-guide__ok ){color:var(--crl-muted)}.cartrevival-guide__optional{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--crl-sunk);color:var(--crl-muted);margin-inline-start:6px;vertical-align:middle}.cartrevival-guide__actions,.cartrevival-guide__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block:8px}.cartrevival-guide__row form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cartrevival-guide__ok{color:var(--crl-good);font-weight:500}.cartrevival-guide__mini{margin:0 0 8px;padding-inline-start:20px}.cartrevival-guide-reopen{margin-block:8px 0;text-align:end}.cartrevival-essentials{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);padding:6px 22px 10px;margin-block:16px;max-width:960px}.cartrevival-essentials>h2{margin-block:14px 2px}.cartrevival-essentials__status{margin:0 0 6px}.cartrevival-essentials__status li{margin-block-end:4px}.cartrevival-advanced{margin-block:8px 16px}.cartrevival-advanced__heading{margin:0}.cartrevival-advanced__toggle{display:inline-flex;align-items:center;gap:8px;background:0 0;border:0;padding:6px 0;font:inherit;font-size:15px;font-weight:600;color:var(--crl-text);cursor:pointer}.cartrevival-advanced__toggle:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-advanced__chev{width:8px;height:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.cartrevival-advanced.is-open .cartrevival-advanced__chev,.rtl .cartrevival-advanced__chev,[dir=rtl] .cartrevival-advanced__chev{transform:rotate(45deg)}.rtl .cartrevival-advanced.is-open .cartrevival-advanced__chev{transform:rotate(-45deg)}.cartrevival-advanced__hint{margin:0 0 8px}.cartrevival-advanced.is-open .cartrevival-advanced__hint,.js .cartrevival-advanced:not( .is-open ) .cartrevival-advanced__body,.js .cartrevival-rcard:not( .is-open ) .cartrevival-rcard__body{display:none}.cartrevival-rcard{padding:12px 18px}.cartrevival-rcard__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.cartrevival-rcard .cartrevival-rcard__title{margin:0;font-size:14px;display:block}.cartrevival-rcard__when{font-weight:500}.cartrevival-rcard__chan{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-rcard__subject{flex:1 1 220px;min-width:0;color:var(--crl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-rcard.is-off .cartrevival-rcard__subject,.cartrevival-rcard.is-off .cartrevival-rcard__when{opacity:.55}.cartrevival-rcard.is-open .cartrevival-rcard__body{margin-block-start:12px;border-block-start:1px solid var(--crl-line)}.cartrevival-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cartrevival-switch input{position:absolute;opacity:0;inset-inline-start:0;width:34px;height:20px;margin:0;cursor:pointer}.cartrevival-switch__track{width:34px;height:20px;border-radius:999px;background:#c3c9d1;position:relative;transition:background-color .15s}.cartrevival-switch__track::after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}.cartrevival-switch input:checked+.cartrevival-switch__track{background:var(--crl-good)}.cartrevival-switch input:checked+.cartrevival-switch__track::after{inset-inline-start:16px}.cartrevival-switch input:focus-visible+.cartrevival-switch__track{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-badge-recommended{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--crl-good);color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-chov__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0 0}.cartrevival-chov__item{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 12px;border:1px solid var(--crl-line);border-radius:10px;background:var(--crl-sunk)}.cartrevival-chov__badge{align-self:flex-start;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e7e9ec;color:#3c434a}.cartrevival-chov__badge.is-ready{background:rgba(4,120,87,.12);color:#03684b}.cartrevival-chov__badge.is-setup{background:rgba(180,83,9,.12);color:#8a3f06}.cartrevival-chov__help,.cartrevival-chov__test{font-size:12px}.cartrevival-rcard__test{margin-inline-start:auto}.cartrevival-rcard .cartrevival-rcard__body>.cartrevival-stats{margin:10px 0 0}.cartrevival-optin__what{margin:8px 0 12px;padding:10px 14px;border-radius:8px;background:var(--crl-sunk,#f6f7f7)}.cartrevival-optin__what summary{cursor:pointer;font-weight:600}.cartrevival-optin__what ul{margin:8px 0;margin-inline-start:1.2em;list-style:disc}.cartrevival-optin__what li{margin:2px 0}.cartrevival-optin__email label{margin-inline-end:6px}.cartrevival-optin__choices{display:flex;flex-wrap:wrap;gap:8px}.cartrevival-optin__error{color:#b32d2e;font-weight:600}.cartrevival-support h2{margin-block-start:0}.cartrevival-support h2 span{color:#d63638}.cartrevival-support__list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none}.cartrevival-support__list li{margin:0}.cartrevival-support__hide{font-size:12px}.cartrevival-win details summary{cursor:pointer;color:#2271b1;margin-block-end:4px}.cartrevival-guide__eyebrow,.cartrevival-journey__eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0b7a3b}.cartrevival-guide__what{margin:4px 0 8px;padding-inline-start:18px;list-style:disc;color:#3c434a}.cartrevival-guide__what li{margin:0 0 2px}.cartrevival-journey{margin:16px 0;padding:18px 20px;background:#fff;border:1px solid #dcdcde;border-radius:10px}.cartrevival-journey h2{margin:0 0 8px;font-size:17px}.cartrevival-journey__steps{margin:0 0 12px;padding-inline-start:20px}.cartrevival-journey__cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;background:#f6f7f7;border-radius:8px}.cartrevival-journey__actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.cartrevival-journey__hero{padding:4px 0 8px}.cartrevival-journey__amount{margin:0;font-size:34px;font-weight:700;line-height:1.2;color:#0b7a3b}.cartrevival-journey__sub{margin:4px 0;font-size:14px}.cartrevival-journey__suggest{margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid #f0f0f1}.cartrevival-journey__suggest h3{margin:0 0 8px;font-size:14px}.cartrevival-journey__suggest ul{margin:0}.cartrevival-journey__tip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px}.cartrevival-journey__tip span{color:#50575e}.cartrevival-empty-state{max-width:760px}.cartrevival-empty-state h2{margin-block-start:0}.cartrevival-upgrade__how{max-width:760px;padding-inline-start:20px}.cartrevival-upgrade__how li{margin:0 0 6px}.cartrevival-pro-checklist{margin:16px 0}.cartrevival-pro-checklist__items{margin:0}.cartrevival-pro-checklist__items li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 10px}.cartrevival-chov__badge.is-off{background:#e7e9ec;color:#3c434a}
     1.cartrevival .cartrevival-tabs{margin-block-end:20px}.cartrevival{--crl-bg:#fff;--crl-panel:#fff;--crl-sunk:#f6f7f9;--crl-line:#e2e5ea;--crl-text:#1d2327;--crl-muted:#5b6470;--crl-accent:#2563eb;--crl-accent-soft:rgba( 37, 99, 235, 0.09 );--crl-good:#047857;--crl-warn:#b45309;--crl-hot:#b91c1c;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.05 ),0 4px 16px rgba( 16, 24, 40, 0.05 );--crl-radius:12px}.cartrevival-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca3af;margin-inline-start:6px;vertical-align:middle;transition:background-color .2s}.cartrevival-dot[data-cartrevival-connection=live]{background:#059669}.cartrevival-dot[data-cartrevival-connection=connecting],.cartrevival-dot[data-cartrevival-connection=polling]{background:#d97706}.cartrevival-dot[data-cartrevival-connection=offline]{background:#9ca3af}.cartrevival-muted{color:var(--crl-muted);font-size:12px}.cartrevival-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-card{background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-card.is-good{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--crl-muted);margin-block-end:6px}.cartrevival-card__value{line-height:1.2;color:var(--crl-text)}.cartrevival-card__hint{font-size:12px;color:var(--crl-muted);margin-block-start:4px}.cartrevival-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.cartrevival-panel{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px 20px}.cartrevival-panel--wide{grid-column:1/-1}.cartrevival-panel--upsell{background:var(--crl-sunk);color:var(--crl-text);border-style:dashed;border-color:var(--crl-line)}.cartrevival-panel--upsell h2,.cartrevival-panel--upsell h3,.cartrevival-panel--upsell p{color:var(--crl-text)}.cartrevival-panel--upsell .cartrevival-muted{color:var(--crl-muted)}.cartrevival-panel h2{margin-block-start:0;font-size:15px}.cartrevival-panel h3{font-size:13px;margin-block-end:6px}.cartrevival-empty{margin-block:16px}.cartrevival-chart{width:100%;height:220px;display:block}.cartrevival-legend{display:flex;gap:18px;align-items:center;font-size:12px;color:#50575e;margin-block-start:8px;flex-wrap:wrap}.cartrevival-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:6px}.cartrevival-funnel{margin:0;padding:0;list-style:none}.cartrevival-funnel li{margin-block-end:14px}.cartrevival-funnel__head{display:flex;justify-content:space-between;align-items:baseline;margin-block-end:4px}.cartrevival-funnel__label{font-weight:600}.cartrevival-funnel__value{font-variant-numeric:tabular-nums}.cartrevival-funnel__bar{background:#f0f0f1;border-radius:4px;height:10px;overflow:hidden}.cartrevival-funnel__bar span{display:block;height:100%;background:linear-gradient(90deg,#2271b1,#0b7a3b);border-radius:4px}.cartrevival-funnel__meta{margin-block-start:4px}.cartrevival-table{width:100%;border-collapse:collapse}.cartrevival-table td{padding:7px 0;border-block-end:1px solid #f0f0f1;vertical-align:middle}.cartrevival-table tr:last-child td{border-block-end:0}.cartrevival-num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.cartrevival-thumbs{display:flex;gap:4px;align-items:center;margin-block-end:4px}.cartrevival-thumb{position:relative;display:inline-flex;width:38px;height:38px;border-radius:5px;overflow:hidden;background:#f0f0f1}.cartrevival-thumb img{width:38px;height:38px;object-fit:cover;display:block}.cartrevival-thumb__qty{position:absolute;inset-block-end:0;inset-inline-end:0;background:rgba(29,35,39,.82);color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-start-start-radius:4px}.cartrevival-thumb--more{align-items:center;justify-content:center;font-size:12px;color:#50575e}.cartrevival-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.7;background:#f0f0f1;color:var(--crl-muted);white-space:nowrap}.cartrevival-pill--shopping{background:#e7f0f7;color:#12537e}.cartrevival-pill--checkout{background:#fcf3d8;color:#8a6116}.cartrevival-pill--abandoned{background:#fbe6e6;color:#a32828}.cartrevival-pill--ordered,.cartrevival-pill--recovered{background:#e3f5e9;color:#0b6b35}.cartrevival-chip{display:inline-block;padding:1px 7px;font-size:11px;background:#e7f0f7;color:#12537e}.cartrevival-chip.is-muted{background:#f0f0f1;color:var(--crl-muted)}.cartrevival-chip.is-bot{background:#fcf3d8;color:#6d4c0a;cursor:help}.cartrevival-flow-hero{margin-block:16px 8px;padding:28px 28px 20px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}.cartrevival-flow-hero h2{margin-block-start:0;font-size:20px}.cartrevival-flow-hero__how{display:flex;gap:24px;margin:12px 0 0;padding:0;counter-reset:cr-how;list-style:none}.cartrevival-flow-hero__how li{counter-increment:cr-how;font-weight:600;color:#2c3338}.cartrevival-flow-hero__how li::before{content:counter(cr-how);display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;margin-inline-end:8px;border-radius:50%;background:#2271b1;color:#fff;font-size:12px}.cartrevival-flow-timeline{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:16px 8px;padding:14px 18px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;overflow-x:auto}.cartrevival-flow-timeline__origin{display:flex;flex-direction:column;justify-content:center;gap:4px;font-weight:600;color:#50575e;white-space:nowrap}.cartrevival-flow-timeline__dot{inline-size:10px;block-size:10px;border-radius:50%;background:#d63638}.cartrevival-flow-timeline__node{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #c3c4c7;border-inline-start:3px solid #2271b1;border-radius:6px;text-decoration:none;color:#2c3338;background:#f6f7f7;min-inline-size:130px}.cartrevival-flow-timeline__node:hover{border-color:#2271b1}.cartrevival-flow-timeline__delay{font-size:12px;font-weight:600;color:#135e96}.cartrevival-flow-timeline__channels{font-size:12px;color:var(--crl-muted)}.cartrevival-flow-presets{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:8px 16px}.cartrevival-flow-presets__title{align-self:center;font-weight:600;color:#50575e}.cartrevival-flow-preset{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;max-inline-size:320px;padding:12px 14px;border:1px solid #c3c4c7;border-radius:6px;background:#fff}.cartrevival-flow-preset .button{align-self:flex-start;margin-block-start:4px}.cartrevival-flow-preset.is-active{border-color:#00a32a;box-shadow:0 0 0 1px #00a32a;background:#f0f9f2}.cartrevival-badge-active{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:#00a32a;color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-flow-preset__on{margin-block-start:4px;font-weight:600;color:#007017}.cartrevival-flow-preset__needs{font-size:12px;color:#8a5a00;background:#fcf9e8;border-inline-start:3px solid #dba617;padding:4px 8px}.cartrevival-flow-preset__custom{display:block;font-weight:400;font-size:12px;color:#50575e}.cartrevival-flow-result{margin-block:8px}.cartrevival-flow-result .button-small{margin-inline-start:6px;vertical-align:middle}.cartrevival-rtabs{display:flex;gap:4px;flex-wrap:wrap;margin-block:4px 0;border-block-end:1px solid #c3c4c7}.cartrevival-rtab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-block-end:none;border-start-start-radius:6px;border-start-end-radius:6px;background:0 0;font-size:13px;font-weight:600;color:#2c3338;cursor:pointer}.cartrevival-rtab:hover{color:#135e96}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{background:#fff;border-color:#c3c4c7;position:relative;inset-block-end:-1px}a.cartrevival-rtab{text-decoration:none}a.cartrevival-rtab:focus{box-shadow:none}.cartrevival-rtab:focus-visible{outline:#2271b1 solid 2px;outline-offset:-2px}.cartrevival-rtab__status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.cartrevival-rtab__status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-rtab__status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-rtab__status.is-setup{background:#fcf3d8;color:#6d4c0a}.cartrevival-rtab__status.is-locked{background:#f0f0f1;color:#50575e}.cartrevival-rpanel{padding-block-start:16px}.cartrevival-channel-head{display:flex;flex-direction:column;gap:4px;margin-block-end:12px}.cartrevival-channel-head__toggle{display:inline-flex;align-items:center;gap:8px;font-size:15px}.cartrevival-savebar{display:flex;gap:8px;align-items:center;margin-block-start:16px}.cartrevival-botline{margin-block:4px 16px;font-size:12px;color:var(--crl-muted)}.cartrevival-botline a{margin-inline-start:6px}.cartrevival-botline__warn{color:#8a4a0b;font-weight:600}.cartrevival-segments{display:inline-flex;gap:6px;margin-block:10px 4px}.cartrevival-segment{display:inline-block;padding:4px 12px;border:1px solid #c3c4c7;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;color:#2c3338;background:#fff}.cartrevival-segment .count{font-weight:400;color:var(--crl-muted)}.cartrevival-segment:hover{border-color:#2271b1;color:#135e96}.cartrevival-segment.is-active{background:#2271b1;border-color:#2271b1;color:#fff}.cartrevival-segment.is-active .count{color:#dceaf5}.cartrevival-pro-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#0b7a3b;color:#fff!important;text-decoration:none;vertical-align:middle;margin-inline-start:6px}.cartrevival-pro-badge:focus,.cartrevival-pro-badge:hover{background:#096330;color:#fff!important}.cartrevival-tags{margin:0 0 20px;padding:0;list-style:none}.cartrevival-tags li{display:flex;align-items:baseline;gap:8px;margin-block-end:6px;flex-wrap:wrap}.cartrevival-tag{font-family:Menlo,Consolas,monospace;font-size:12px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:4px;padding:2px 7px;cursor:pointer}.cartrevival-tag.is-disabled{opacity:.55;cursor:default}.cartrevival-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-block-end:12px}.cartrevival-sequence__step{border:1px solid #dcdcde;border-radius:8px;padding:14px}.cartrevival-sequence__step.is-live{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-sequence__step.is-pro{border-style:dashed;background:#fbfbfc}.cartrevival-sequence__step h3{margin-block-start:0}.cartrevival-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-end:8px}.cartrevival-custom-range[hidden]{display:none}.cartrevival-actions-bar{margin-block-start:16px;padding:14px 18px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-actions-bar form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cartrevival-live-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-live__status{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e;margin-block-end:4px}.cartrevival-live__indicator{width:9px;height:9px;border-radius:50%;background:#c3c4c7;flex:none}.cartrevival-live__indicator[data-cartrevival-connection=live]{background:#0b7a3b;box-shadow:0 0 0 0 rgba(11,122,59,.55);animation:2.2s ease-out infinite cartrevival-pulse}.cartrevival-live__indicator[data-cartrevival-connection=connecting]{background:#dba617}.cartrevival-live__indicator[data-cartrevival-connection=polling]{background:#2271b1}.cartrevival-live__indicator[data-cartrevival-connection=offline]{background:#d63638}@keyframes cartrevival-pulse{70%{box-shadow:0 0 0 7px rgba(11,122,59,0)}100%{box-shadow:0 0 0 0 rgba(11,122,59,0)}}@media (prefers-reduced-motion:reduce){.cartrevival-live__indicator[data-cartrevival-connection=live]{animation:none}}.cartrevival-live__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#fff;border:1px solid #dcdcde;border-radius:8px;margin-block-end:8px}.cartrevival-live__filters input[type=search]{min-width:260px}.cartrevival-live__check,.cartrevival-live__minvalue{display:inline-flex;align-items:center;gap:6px;font-size:13px}.cartrevival-live__hint{margin-block:0 14px}.cartrevival-live__list{display:grid;gap:12px}.cartrevival-live__empty{background:#fff;border:1px dashed #dcdcde;border-radius:8px;padding:40px 20px;text-align:center}.cartrevival-live__empty p{margin:0 0 4px}.cartrevival-visitor{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s}.cartrevival-visitor.is-new{border-color:#0b7a3b;box-shadow:0 0 0 3px rgba(11,122,59,.12)}.cartrevival-visitor__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:10px;flex-wrap:wrap}.cartrevival-visitor__who{display:flex;align-items:center;gap:8px;min-width:0}.cartrevival-visitor__flag{font-size:18px;line-height:1}.cartrevival-visitor__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}@media (max-width:960px){.cartrevival-visitor__body{grid-template-columns:minmax(0,1fr)}}.cartrevival-visitor__eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8c8f94;margin-block-end:2px}.cartrevival-visitor__page{margin-block-end:10px;min-width:0}.cartrevival-visitor__page a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__facts{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 14px}.cartrevival-visitor__facts li{margin:0;font-size:12px;min-width:0}.cartrevival-visitor__facts span{display:block;color:#8c8f94}.cartrevival-visitor__facts b{display:block;color:var(--crl-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-block-end:6px}.cartrevival-visitor__cart-head strong{font-size:15px}.cartrevival-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-block-end:1px solid #f0f0f1}.cartrevival-item:last-child{border-block-end:0}.cartrevival-item img{width:40px;height:40px;object-fit:cover;border-radius:5px;flex:none;background:#f0f0f1}.cartrevival-item__text{display:flex;flex-direction:column;min-width:0;flex:1}.cartrevival-item__name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-item__qty,.cartrevival-item__variation{font-size:11px;color:#8c8f94}.cartrevival-item__total{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.cartrevival-visitor__foot{display:flex;gap:14px;align-items:center;margin-block-start:10px;padding-block-start:10px;border-block-start:1px solid #f0f0f1;flex-wrap:wrap}.cartrevival-journey{margin-block-start:12px;font-size:12px}.cartrevival-journey__list{margin:0;padding:0;list-style:none}.cartrevival-journey__event{display:flex;align-items:center;gap:8px;padding:5px 0;border-inline-start:2px solid #dcdcde;padding-inline-start:12px;margin-inline-start:4px;flex-wrap:wrap}.cartrevival-journey__event.is-add_to_cart{border-inline-start-color:#0b7a3b}.cartrevival-journey__event.is-remove_from_cart{border-inline-start-color:#d63638}.cartrevival-journey__event.is-checkout_start{border-inline-start-color:#dba617}.cartrevival-journey__event.is-ordered,.cartrevival-journey__event.is-recovered{border-inline-start-color:#2271b1}.cartrevival-journey__time{color:#8c8f94;font-variant-numeric:tabular-nums;flex:none}.cartrevival-journey__gap{background:#e4e7eb;color:#50575e;border-radius:999px;padding:0 7px;font-size:11px;flex:none}.cartrevival-journey__body{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.cartrevival-journey__body img{border-radius:3px;flex:none}.cartrevival-pill--browsing{background:#f0f0f1;color:#50575e}.cartrevival-pill--cart{background:#e7f0f7;color:#12537e}.cartrevival-pill--converted{background:#e3f5e9;color:#0b6b35}.cartrevival-live__pro{margin-block-start:18px}.cartrevival-live__toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--crl-line);border-radius:999px;background:var(--crl-panel);color:var(--crl-text);font-size:13px;line-height:1.4;cursor:pointer;user-select:none}.cartrevival-live__toggle:hover{border-color:var(--crl-accent)}.cartrevival-live__toggle input{margin:0}.cartrevival-live__toggle:focus-within{outline:2px solid var(--crl-accent);outline-offset:1px}@media (prefers-color-scheme:dark){.cartrevival-live .cartrevival-chip,.cartrevival-live .cartrevival-pill--cart,.cartrevival-live .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live .cartrevival-pill--converted,.cartrevival-live .cartrevival-pill--ordered,.cartrevival-live .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}}.cartrevival-live.is-dark .cartrevival-chip,.cartrevival-live.is-dark .cartrevival-pill--cart,.cartrevival-live.is-dark .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live.is-dark .cartrevival-pill--converted,.cartrevival-live.is-dark .cartrevival-pill--ordered,.cartrevival-live.is-dark .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live.is-dark .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live.is-dark .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}.cartrevival-step{border:1px solid var(--crl-line);border-radius:8px;padding:4px 18px 14px;margin-block-end:18px;background:var(--crl-panel)}.cartrevival-step h3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cartrevival-inline-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400}.cartrevival-stats{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 4px;font-size:12px;color:var(--crl-muted)}.cartrevival-stats strong{color:var(--crl-text)}.cartrevival-preview__bar{display:flex;align-items:center;gap:8px;margin-block-end:10px}.cartrevival-preview__bar .button.is-active{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent)}.cartrevival-preview__frame{border:1px solid var(--crl-line);border-radius:8px;overflow:hidden;background:#fff;transition:max-width .2s}.cartrevival-preview__frame.is-desktop{max-width:100%}.cartrevival-preview__frame.is-mobile{max-width:390px}.cartrevival-preview__frame iframe{width:100%;height:520px;border:0;display:block}.cartrevival-country-picker{min-width:320px;max-width:100%}.cartrevival-locked{border:1px dashed var(--crl-line);border-radius:8px;background:var(--crl-sunk);padding:10px 14px;max-width:640px}.cartrevival-locked__title{margin:0 0 4px;font-weight:600;color:var(--crl-muted)}.cartrevival-locked__icon{margin-inline-end:6px;opacity:.7}.cartrevival-locked__body{margin:0;color:var(--crl-muted);font-size:13px}.cartrevival-tabs .nav-tab.cartrevival-tab--accent{color:var(--crl-accent-strong);font-weight:600}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){background:var(--crl-accent-soft);border-color:var(--crl-accent-soft)}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:focus,.cartrevival-tabs .nav-tab.cartrevival-tab--accent:hover{color:var(--crl-accent-strong);text-decoration:underline}.cartrevival-upgrade{max-width:900px;margin-block-start:20px}.cartrevival-upgrade__intro h2{margin-block-start:0;font-size:20px;line-height:1.35}.cartrevival-upgrade__intro p{max-width:68ch;color:var(--crl-muted)}.cartrevival-upgrade__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-block:20px}.cartrevival-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-block:20px}.cartrevival-price-card{position:relative;border:1px solid var(--crl-line);border-radius:var(--crl-radius);background:var(--crl-panel);box-shadow:var(--crl-shadow);padding:20px}.cartrevival-price-card--best{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent),var(--crl-shadow)}.cartrevival-price-card__flag{position:absolute;inset-block-start:-10px;inset-inline-start:20px;margin:0;padding:2px 10px;border-radius:999px;background:var(--crl-accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cartrevival-price-card__name{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--crl-muted);text-transform:uppercase;letter-spacing:.04em}.cartrevival-price-card__figure{margin:0 0 6px;display:flex;align-items:baseline;gap:6px}.cartrevival-price-card__amount{font-size:34px;font-weight:700;line-height:1;color:var(--crl-text);direction:ltr;unicode-bidi:isolate}.cartrevival-price-card__period{color:var(--crl-muted);font-size:13px}.cartrevival-price-card__note{margin:0;color:var(--crl-muted);font-size:12px}.cartrevival-price-card__cta{margin:14px 0 0}.cartrevival-compare{margin-block-end:16px}.cartrevival-compare th[scope=row]{font-weight:400;text-align:start}.cartrevival-compare__cell{text-align:center;width:22%}.cartrevival-compare__cell--pro{background:var(--crl-accent-soft)}.cartrevival-yes{color:#065f46;font-weight:700}.cartrevival-no{color:var(--crl-muted)}.cartrevival-conn-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-inline-end:8px}.cartrevival-conn-status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-conn-status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-meter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;background:#fff;border:1px solid #dcdcde;border-inline-start:4px solid #2271b1;border-radius:6px}.cartrevival-meter--register{border-inline-start-color:#996800}.cartrevival-meter--lost{border-inline-start-color:#b32d2e;background:#fcf0f1}.cartrevival-meter__body,.cartrevival-meter__head{flex:1 1 auto;min-width:240px}.cartrevival-meter__count{margin-inline-start:10px;font-variant-numeric:tabular-nums}.cartrevival-meter__foot{flex-basis:100%;margin-top:6px;font-size:12px}.cartrevival-meter__foot a{text-decoration:none}.cartrevival-meter__cta{flex:0 0 auto}.cartrevival-meter__bar{margin-top:8px;height:8px;background:#f0f0f1;border-radius:4px;overflow:hidden;max-width:420px}.cartrevival-meter__bar>span{display:block;height:100%;background:#2271b1;border-radius:4px}.cartrevival-pill--tier{background:#f0f6fc;color:#0a4b78}.cartrevival-badge--limit{display:inline-block;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:600;color:#b32d2e;background:#fcf0f1;border:1px solid #f0c3c4;border-radius:3px}.cartrevival-visitors__total{font-size:22px;font-weight:700;margin-inline-start:8px;font-variant-numeric:tabular-nums}.cartrevival-visitors__grid{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:end}.cartrevival-visitors__grid>*{min-width:0}.cartrevival-visitors__countries{overflow-wrap:anywhere}@media (max-width:782px){.cartrevival-visitors__grid{grid-template-columns:1fr}}.cartrevival-visitors__chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:8px 0;border-bottom:1px solid #dcdcde}.cartrevival-vbar{flex:1 1 auto;min-width:3px;background:#2271b1;border-radius:2px 2px 0 0;opacity:.85}.cartrevival-vbar:hover{opacity:1}.cartrevival-visitors__countries h3{margin:0 0 8px;font-size:13px}.cartrevival-mailstate{margin:10px 0 4px;font-size:13px}.cartrevival-mailstate.is-ok{color:#0b7a3b}.cartrevival-mailstate.is-bad{color:#b32d2e;font-weight:600}.cartrevival-recovery-cell{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cartrevival-chanicons{display:inline-flex;gap:4px}.cartrevival-chanicon{display:inline-flex;align-items:center;gap:2px;color:var(--crl-accent)}.cartrevival-chanicon--failed{color:#b32d2e}.cartrevival-chanicon__n{font-size:11px;font-weight:600}.cartrevival-msend-group{display:inline-flex;gap:2px;border-inline-start:1px solid var(--crl-line);padding-inline-start:8px}.cartrevival-msend{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:26px;height:24px;padding:0 4px;border-radius:5px;color:var(--crl-accent);cursor:pointer}.cartrevival-msend:hover:not( :disabled ){background:var(--crl-soft,#e7f4ec)}.cartrevival-msend:disabled{color:#a7aaad;cursor:default}.cartrevival-timeline-toggle{font-size:12px}.cartrevival-msend-toast{display:inline-block;margin-inline-start:6px;font-size:12px;color:var(--crl-accent)}.cartrevival-msend-toast--error{color:#b32d2e}.cartrevival-msend-pop{position:absolute;z-index:100;inset-block-start:100%;inset-inline-start:0;min-width:260px;max-width:340px;background:#fff;border:1px solid var(--crl-line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:12px}.cartrevival-msend-pop__body>*{display:block}.cartrevival-msend-pop__subject{font-weight:600;margin-top:4px}.cartrevival-msend-pop__snippet{color:var(--crl-muted);font-size:12px;margin-top:2px}.cartrevival-msend-pop__warning{color:#996800;font-size:12px;margin-top:6px}.cartrevival-msend-pop__actions{margin-top:10px}.cartrevival-timeline-tr>td{background:var(--crl-panel-2,#f6f7f7)}.cartrevival-timeline-wrap{padding:4px 8px}.cartrevival-timeline{margin:0;padding:0;list-style:none}.cartrevival-timeline__item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--crl-line);margin:0}.cartrevival-timeline__item:last-child{border-bottom:0}.cartrevival-timeline__icon{flex:none;display:inline-flex;margin-top:2px;color:var(--crl-accent)}.cartrevival-timeline__item--failed .cartrevival-timeline__icon{color:#b32d2e}.cartrevival-timeline__item--skipped .cartrevival-timeline__icon,.cartrevival-timeline__item--upcoming .cartrevival-timeline__icon{color:#a7aaad}.cartrevival-timeline__item--upcoming{color:var(--crl-muted)}.cartrevival-timeline__body{display:block}.cartrevival-timeline__time{display:block;font-size:11.5px;color:var(--crl-muted)}.cartrevival-timeline__reason{display:block;font-size:12px;color:#b32d2e}.cartrevival-timeline__badge{display:inline-block;padding:0 6px;border-radius:99px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cartrevival-timeline__badge--sent{background:var(--crl-soft,#e7f4ec);color:var(--crl-accent)}.cartrevival-timeline__badge--failed{background:#fcf0f1;color:#b32d2e}.cartrevival-timeline__badge--skipped{background:#f0f0f1;color:#646970}.cartrevival-wa-vars{margin:12px 0 4px;padding:0;border:0}.cartrevival-wa-vars legend{font-weight:600;padding:0 0 4px}.cartrevival-wa-var-table{margin:8px 0;max-width:780px}.cartrevival-wa-var-table th[scope=row]{width:34%;font-weight:600;vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table td{vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table code{word-break:break-all}.cartrevival-wa-sample code{background:#f0f6fc;display:inline-block;max-width:100%}.cartrevival-wa-bubble{max-width:420px;background:#e7ffdb;border-radius:10px;padding:10px 12px;margin:8px 0;color:#111;line-height:1.5}.cartrevival-wa-bubble-header{font-weight:700;margin-bottom:6px}.cartrevival-wa-bubble-body{white-space:pre-wrap}.cartrevival-wa-bubble-footer{margin-top:8px;font-size:12px;opacity:.6}.cartrevival-wa-bubble-button{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);text-align:center}.cartrevival-wa-bubble-button-text{display:block;color:#0a7cff;font-weight:600}.cartrevival-wa-bubble-url{display:block;font-size:11px;word-break:break-all;margin-top:4px}.cartrevival-wa-problems{margin:8px 0 0;padding-inline-start:18px;list-style:disc}.cartrevival-wa-test-form{margin:8px 0}.cartrevival-wa-test-label{display:block;font-weight:600;margin-bottom:8px}.cartrevival-wa-test-label input{display:block;margin-top:4px;direction:ltr;text-align:start}.cartrevival-wa-test-to{font-weight:700;direction:ltr;text-align:start;unicode-bidi:isolate}.cartrevival-wa-payload{max-height:260px;overflow:auto;background:#f6f7f7;padding:10px;font-size:11px;direction:ltr;text-align:start}.cartrevival-wa-health ul{margin:0 0 8px;padding-inline-start:18px;list-style:disc}.cartrevival .cartrevival-panel>table.widefat,.cartrevival table.widefat.striped{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cartrevival .cartrevival-panel>table.widefat>tbody,.cartrevival .cartrevival-panel>table.widefat>thead,.cartrevival table.widefat.striped>tbody,.cartrevival table.widefat.striped>thead{display:table;width:100%;table-layout:auto}.cartrevival-arm{padding:20px 22px;border-inline-start-width:4px;margin-block:16px}.cartrevival-arm__title{margin:0 0 8px;font-size:17px;line-height:1.35}.cartrevival-arm__body{margin:0 0 10px;max-width:68ch;font-size:14px}.cartrevival-arm__waiting{margin:0 0 14px;font-size:14px}.cartrevival-arm__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px}.cartrevival-arm__actions form{display:inline-flex;margin:0}.cartrevival-arm__note{margin:0}.cartrevival-livestrip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;box-sizing:border-box;max-width:100%;padding:14px 20px;margin-block:16px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-livestrip__cell{display:flex;flex-direction:column;gap:2px;min-width:0}.cartrevival-livestrip__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#646970}.cartrevival-livestrip__value{font-size:20px;font-weight:600;line-height:1.2;color:#1d2327}.cartrevival-livestrip__more{margin-inline-start:auto;font-size:13px;font-weight:600}@media screen and (max-width:782px){.cartrevival-livestrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:14px 16px}.cartrevival-livestrip__cell{min-width:0}.cartrevival-livestrip__value{font-size:18px;overflow-wrap:anywhere}.cartrevival-livestrip__more{margin-inline-start:0;grid-column:1/-1}}.cartrevival-guide{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow);padding:18px 22px;margin-block:16px;max-width:960px}.cartrevival-guide__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.cartrevival-guide__head h2{margin:0 0 4px;font-size:18px}.cartrevival-guide__progress{display:flex;align-items:center;gap:10px;font-size:13px}.cartrevival-guide__progress progress{width:120px;height:8px;accent-color:var(--crl-good)}.cartrevival-guide__hide{color:var(--crl-muted)}.cartrevival-guide__steps{list-style:none;margin:16px 0 0;padding:0}.cartrevival-guide__step{display:flex;gap:14px;padding-block:14px;border-block-start:1px solid var(--crl-line);margin:0}.cartrevival-guide__mark{flex:0 0 28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-guide__step.is-done .cartrevival-guide__mark{background:var(--crl-good);color:#fff}.cartrevival-guide__body{flex:1 1 auto;min-width:0}.cartrevival-guide__body h3{margin:3px 0 6px;font-size:15px}.cartrevival-guide__body p{margin:0 0 8px}.cartrevival-guide__step.is-done .cartrevival-guide__body>p:not( .cartrevival-guide__ok ){color:var(--crl-muted)}.cartrevival-guide__optional{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--crl-sunk);color:var(--crl-muted);margin-inline-start:6px;vertical-align:middle}.cartrevival-guide__actions,.cartrevival-guide__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block:8px}.cartrevival-guide__row form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cartrevival-guide__ok{color:var(--crl-good);font-weight:500}.cartrevival-guide__mini{margin:0 0 8px;padding-inline-start:20px}.cartrevival-guide-reopen{margin-block:8px 0;text-align:end}.cartrevival-essentials{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);padding:6px 22px 10px;margin-block:16px;max-width:960px}.cartrevival-essentials>h2{margin-block:14px 2px}.cartrevival-essentials__status{margin:0 0 6px}.cartrevival-essentials__status li{margin-block-end:4px}.cartrevival-advanced{margin-block:8px 16px}.cartrevival-advanced__heading{margin:0}.cartrevival-advanced__toggle{display:inline-flex;align-items:center;gap:8px;background:0 0;border:0;padding:6px 0;font:inherit;font-size:15px;font-weight:600;color:var(--crl-text);cursor:pointer}.cartrevival-advanced__toggle:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-advanced__chev{width:8px;height:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.cartrevival-advanced.is-open .cartrevival-advanced__chev,.rtl .cartrevival-advanced__chev,[dir=rtl] .cartrevival-advanced__chev{transform:rotate(45deg)}.rtl .cartrevival-advanced.is-open .cartrevival-advanced__chev{transform:rotate(-45deg)}.cartrevival-advanced__hint{margin:0 0 8px}.cartrevival-advanced.is-open .cartrevival-advanced__hint,.js .cartrevival-advanced:not( .is-open ) .cartrevival-advanced__body,.js .cartrevival-rcard:not( .is-open ) .cartrevival-rcard__body{display:none}.cartrevival-rcard{padding:12px 18px}.cartrevival-rcard__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.cartrevival-rcard .cartrevival-rcard__title{margin:0;font-size:14px;display:block}.cartrevival-rcard__when{font-weight:500}.cartrevival-rcard__chan{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-rcard__subject{flex:1 1 220px;min-width:0;color:var(--crl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-rcard.is-off .cartrevival-rcard__subject,.cartrevival-rcard.is-off .cartrevival-rcard__when{opacity:.55}.cartrevival-rcard.is-open .cartrevival-rcard__body{margin-block-start:12px;border-block-start:1px solid var(--crl-line)}.cartrevival-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cartrevival-switch input{position:absolute;opacity:0;inset-inline-start:0;width:34px;height:20px;margin:0;cursor:pointer}.cartrevival-switch__track{width:34px;height:20px;border-radius:999px;background:#c3c9d1;position:relative;transition:background-color .15s}.cartrevival-switch__track::after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}.cartrevival-switch input:checked+.cartrevival-switch__track{background:var(--crl-good);background:var(--crl-accent)}.cartrevival-switch input:checked+.cartrevival-switch__track::after{inset-inline-start:16px}.cartrevival-switch input:focus-visible+.cartrevival-switch__track{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-badge-recommended{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--crl-good);color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-chov__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0 0}.cartrevival-chov__item{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 12px;border:1px solid var(--crl-line);border-radius:10px;background:var(--crl-sunk)}.cartrevival-chov__badge{align-self:flex-start;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e7e9ec;color:#3c434a}.cartrevival-chov__badge.is-ready{background:rgba(4,120,87,.12);color:#03684b}.cartrevival-chov__badge.is-setup{background:rgba(180,83,9,.12);color:#8a3f06}.cartrevival-chov__help,.cartrevival-chov__test{font-size:12px}.cartrevival-rcard__test{margin-inline-start:auto}.cartrevival-rcard .cartrevival-rcard__body>.cartrevival-stats{margin:10px 0 0}.cartrevival-optin__what{margin:8px 0 12px;padding:10px 14px;border-radius:8px;background:var(--crl-sunk,#f6f7f7)}.cartrevival-optin__what summary{cursor:pointer;font-weight:600}.cartrevival-optin__what ul{margin:8px 0;margin-inline-start:1.2em;list-style:disc}.cartrevival-optin__what li{margin:2px 0}.cartrevival-optin__email label{margin-inline-end:6px}.cartrevival-optin__choices{display:flex;flex-wrap:wrap;gap:8px}.cartrevival-optin__error{color:#b32d2e;font-weight:600}.cartrevival-support h2{margin-block-start:0}.cartrevival-support h2 span{color:#d63638}.cartrevival-support__list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none}.cartrevival-support__list li{margin:0}.cartrevival-support__hide{font-size:12px}.cartrevival-win details summary{cursor:pointer;color:#2271b1;margin-block-end:4px}.cartrevival-guide__eyebrow,.cartrevival-journey__eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0b7a3b}.cartrevival-guide__what{margin:4px 0 8px;padding-inline-start:18px;list-style:disc;color:#3c434a}.cartrevival-guide__what li{margin:0 0 2px}.cartrevival-journey{margin:16px 0;padding:18px 20px;background:#fff;border:1px solid #dcdcde;border-radius:10px}.cartrevival-journey h2{margin:0 0 8px;font-size:17px}.cartrevival-journey__steps{margin:0 0 12px;padding-inline-start:20px}.cartrevival-journey__cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;background:#f6f7f7;border-radius:8px}.cartrevival-journey__actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.cartrevival-journey__hero{padding:4px 0 8px}.cartrevival-journey__amount{margin:0;font-size:34px;font-weight:700;line-height:1.2;color:#0b7a3b}.cartrevival-journey__sub{margin:4px 0;font-size:14px}.cartrevival-journey__suggest{margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid #f0f0f1}.cartrevival-journey__suggest h3{margin:0 0 8px;font-size:14px}.cartrevival-journey__suggest ul{margin:0}.cartrevival-journey__tip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px}.cartrevival-journey__tip span{color:#50575e}.cartrevival-empty-state{max-width:760px}.cartrevival-empty-state h2{margin-block-start:0}.cartrevival-upgrade__how{max-width:760px;padding-inline-start:20px}.cartrevival-upgrade__how li{margin:0 0 6px}.cartrevival-pro-checklist{margin:16px 0}.cartrevival-pro-checklist__items{margin:0}.cartrevival-pro-checklist__items li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 10px}.cartrevival-chov__badge.is-off{background:#e7e9ec;color:#3c434a}.cartrevival{--crl-accent-strong:#1e40af;--crl-accent:#0b7a3b;--crl-accent-strong:#085c2c;--crl-accent-soft:rgba( 11, 122, 59, 0.1 );--crl-accent-glow:rgba( 34, 197, 94, 0.22 );--crl-line:#e3e7ec;--crl-sunk:#f5f7f9;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.04 ),0 6px 20px -8px rgba( 16, 24, 40, 0.12 );--crl-shadow-hover:0 2px 4px rgba( 16, 24, 40, 0.05 ),0 16px 32px -14px rgba( 16, 24, 40, 0.2 );--crl-radius:14px;--crl-ease:cubic-bezier( 0.22, 1, 0.36, 1 )}.cartrevival>h1.wp-heading-inline{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cartrevival-brand{display:flex;align-items:center;gap:10px;margin-block:14px 10px;direction:ltr}.rtl .cartrevival-brand{justify-content:flex-end}.cartrevival-brand__mark{width:30px;height:30px;border-radius:9px;position:relative;background:conic-gradient(from 200deg,#4ade80,#0b7a3b 40%,#0e3b23 70%,#4ade80);box-shadow:0 0 0 3px var(--crl-accent-glow),0 4px 10px -2px rgba(11,122,59,.5)}.cartrevival-brand__mark::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.cartrevival-brand__name{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--crl-text);line-height:1}.cartrevival-brand__name b{color:var(--crl-accent);font-weight:800}.cartrevival-brand__chip{font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--crl-sunk);border:1px solid var(--crl-line);color:var(--crl-muted);line-height:1.4}.cartrevival-brand__chip--pro{background:var(--crl-text);border-color:var(--crl-text);color:#fff;letter-spacing:.08em}.cartrevival .cartrevival-tabs.nav-tab-wrapper{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--crl-line);border-radius:999px;background:#fff;box-shadow:var(--crl-shadow);margin-block-end:22px}.cartrevival .cartrevival-tabs .nav-tab{margin:0;border:0;background:0 0;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;color:var(--crl-muted);float:none}.cartrevival .cartrevival-tabs .nav-tab:hover{background:var(--crl-sunk);color:var(--crl-text)}.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active,.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active:hover{background:var(--crl-accent);color:#fff;box-shadow:0 6px 14px -8px rgba(11,122,59,.8)}.cartrevival .cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){color:var(--crl-accent)}.cartrevival .cartrevival-tabs .nav-tab:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px;box-shadow:none}.cartrevival-rtab{border-radius:10px 10px 0 0;transition:color .2s,background .2s}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{border-block-end-color:var(--crl-accent);color:var(--crl-accent-strong)}.cartrevival-card,.cartrevival-flow-preset,.cartrevival-panel,.cartrevival-rcard{border-color:var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow)}.cartrevival-card:hover,.cartrevival-flow-preset:hover{box-shadow:var(--crl-shadow-hover);transform:translateY(-2px);border-color:#cfe3d6}.cartrevival-card{position:relative;overflow:hidden;padding:18px 20px}.cartrevival-card::before{content:"";position:absolute;inset-inline-start:0;inset-block:0;width:4px;background:linear-gradient(180deg,#cbd5e1,#e2e8f0)}.cartrevival-card.is-good::before{background:linear-gradient(180deg,#4ade80,var(--crl-accent))}.cartrevival-card.is-good{background:linear-gradient(180deg,#f4fbf6,#fff)}.cartrevival-card__value{font-size:30px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.cartrevival-panel h2,.cartrevival-panel h3{letter-spacing:-.01em}.cartrevival-panel--upsell{background:radial-gradient(600px 240px at 90% 0,rgba(34,197,94,.28),transparent 60%),linear-gradient(160deg,#0b1f14,#06140d);border-color:#123623;color:#fff}.cartrevival .button-primary,.cartrevival .button.button-primary{background:linear-gradient(180deg,#119a4b,var(--crl-accent));border-color:var(--crl-accent-strong);color:#fff;border-radius:9px;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 14px -8px rgba(11,122,59,.8);text-shadow:none}.cartrevival .button-primary:focus,.cartrevival .button-primary:hover{background:linear-gradient(180deg,#0f8a43,var(--crl-accent-strong));border-color:var(--crl-accent-strong);color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(11,122,59,.9)}.cartrevival .button-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--crl-accent)}.cartrevival .button:not( .button-primary ):not( .button-link ){border-radius:9px;border-color:var(--crl-line);color:var(--crl-text);background:#fff}.cartrevival .button:not( .button-primary ):not( .button-link ):hover{border-color:var(--crl-accent);color:var(--crl-accent);box-shadow:var(--crl-shadow)}.cartrevival a:not( .button ):not( .nav-tab ){color:var(--crl-accent)}.cartrevival a:not( .button ):not( .nav-tab ):hover{color:var(--crl-accent-strong)}.cartrevival-chip{border-radius:999px}.cartrevival .cartrevival-notice,.cartrevival .notice{border-radius:12px;border-inline-start-width:4px;box-shadow:var(--crl-shadow);border-block:1px solid var(--crl-line);border-inline-end:1px solid var(--crl-line)}.cartrevival .cartrevival-table,.cartrevival .wp-list-table{border-radius:var(--crl-radius);overflow:hidden;border-color:var(--crl-line);box-shadow:var(--crl-shadow)}.cartrevival .wp-list-table thead th{background:var(--crl-sunk);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--crl-muted)}.cartrevival .wp-list-table tbody tr{transition:background .15s}.cartrevival .wp-list-table tbody tr:hover{background:#fafcfb}@keyframes cartrevival-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cartrevival .cartrevival-card,.cartrevival .cartrevival-panel,.cartrevival .cartrevival-rcard{animation:cartrevival-rise .5s var(--crl-ease) both}.cartrevival .cartrevival-cards>:nth-child(2),.cartrevival .cartrevival-grid>:nth-child(2){animation-delay:50ms}.cartrevival .cartrevival-cards>:nth-child(3),.cartrevival .cartrevival-grid>:nth-child(3){animation-delay:.1s}.cartrevival .cartrevival-cards>:nth-child(4),.cartrevival .cartrevival-grid>:nth-child(4){animation-delay:.15s}.cartrevival .cartrevival-cards>:nth-child(5){animation-delay:.2s}.cartrevival-live .cartrevival-card,.cartrevival-live .cartrevival-panel{animation:none;box-shadow:none;transform:none}@media (max-width:782px){.cartrevival .cartrevival-tabs.nav-tab-wrapper{display:flex;border-radius:16px}.cartrevival .cartrevival-tabs .nav-tab{flex:1 1 auto;text-align:center}.cartrevival-brand__name{font-size:19px}}@media (prefers-reduced-motion:reduce){.cartrevival *,.cartrevival ::after,.cartrevival ::before{animation-duration:0s!important;transition-duration:0s!important}}
  • cartrevival/tags/2.20.0/cartrevival.php

    r3727923 r3729385  
    44 * Plugin URI:        https://cartrevival.com/
    55 * Description:       Abandoned cart recovery for WooCommerce with a real-time live visitor and cart monitor, exit intent and early capture popups, a three-step email series, and WhatsApp reminders through your own 6rsh account.
    6  * Version:           2.19.0
     6 * Version:           2.20.0
    77 * Requires at least: 6.2
    88 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'CARTREVIVAL_VERSION', '2.19.0' );
     22define( 'CARTREVIVAL_VERSION', '2.20.0' );
    2323define( 'CARTREVIVAL_FILE', __FILE__ );
    2424define( 'CARTREVIVAL_PATH', plugin_dir_path( __FILE__ ) );
  • cartrevival/tags/2.20.0/includes/admin/class-admin.php

    r3727923 r3729385  
    22832283                $current = self::primary_for( $current );
    22842284
     2285                // Brand bar: one consistent header on every CartRevival screen so a
     2286                // merchant always knows where they are and which edition is running.
     2287                // The page's own <h1> stays in the DOM for assistive tech; CSS hides it
     2288                // visually because this bar carries the same name.
     2289                $pro_live = class_exists( '\CartRevival\Pro\Grant' ) && \CartRevival\Pro\Grant::allows_send();
     2290                echo '<div class="cartrevival-brand" aria-hidden="true">';
     2291                echo '<span class="cartrevival-brand__mark"></span>';
     2292                echo '<span class="cartrevival-brand__name">Cart<b>Revival</b></span>';
     2293                echo '<span class="cartrevival-brand__chip">v' . esc_html( CARTREVIVAL_VERSION ) . '</span>';
     2294                if ( $pro_live ) {
     2295                        echo '<span class="cartrevival-brand__chip cartrevival-brand__chip--pro">PRO</span>';
     2296                }
     2297                echo '</div>';
     2298
    22852299                echo '<nav class="nav-tab-wrapper cartrevival-tabs">';
    22862300
  • cartrevival/tags/2.20.0/languages/cartrevival.pot

    r3727923 r3729385  
    88"Content-Type: text/plain; charset=UTF-8\n"
    99"Content-Transfer-Encoding: 8bit\n"
    10 "POT-Creation-Date: 2026-10-04T23:45:22+00:00\n"
     10"POT-Creation-Date: 2026-10-05T17:34:18+00:00\n"
    1111"X-Domain: cartrevival\n"
    1212
    1313#. translators: %d: number of carts.
    14 #: includes/admin/class-admin.php:2503
     14#: includes/admin/class-admin.php:2517
    1515msgid "%d bot cart removed."
    1616msgid_plural "%d bot carts removed."
    … …  
    2525
    2626#. translators: %d: number of carts.
    27 #: includes/admin/class-admin.php:2518
     27#: includes/admin/class-admin.php:2532
    2828msgid "%d cart deleted. Any reminder still queued for it has been cancelled."
    2929msgid_plural "%d carts deleted. Any reminders still queued for them have been cancelled."
    … …  
    122122msgstr[1] ""
    123123
    124 #: includes/admin/class-admin.php:2335
     124#: includes/admin/class-admin.php:2349
    125125msgid "The last %d attempt failed."
    126126msgid_plural "The last %d attempts failed."
    … …  
    204204
    205205#. translators: 1: the unknown merge tag, 2: the suggested replacement.
    206 #: includes/admin/class-admin.php:2452
     206#: includes/admin/class-admin.php:2466
    207207msgid "%1$s — did you mean %2$s?"
    208208msgstr ""
    … …  
    674674msgstr ""
    675675
    676 #: includes/admin/class-admin.php:2391
     676#: includes/admin/class-admin.php:2405
    677677msgid "An update is waiting, but this server will not let WordPress install it."
    678678msgstr ""
    … …  
    962962msgstr ""
    963963
    964 #: includes/admin/class-admin.php:2331
     964#: includes/admin/class-admin.php:2345
    965965msgid "CartRevival cannot send recovery emails from this site."
    966966msgstr ""
    … …  
    10221022msgstr ""
    10231023
    1024 #: includes/admin/class-admin.php:2339
     1024#: includes/admin/class-admin.php:2353
    10251025msgid "Carts are still being captured and nothing is lost, but no reminder is reaching anyone until mail works."
    10261026msgstr ""
    … …  
    12571257msgstr ""
    12581258
    1259 #: includes/admin/class-admin.php:2491
     1259#: includes/admin/class-admin.php:2505
    12601260msgid "Country corrected. This cart will now be dialled in the country you chose, and nothing inferred can override it."
    12611261msgstr ""
    … …  
    14121412msgstr ""
    14131413
    1414 #: includes/admin/class-admin.php:2403
     1414#: includes/admin/class-admin.php:2417
    14151415msgid "Dismiss until the next release"
    14161416msgstr ""
    … …  
    23932393msgstr ""
    23942394
    2395 #: includes/admin/class-admin.php:2506
     2395#: includes/admin/class-admin.php:2520
    23962396msgid "No bot carts found. Nothing was deleted."
    23972397msgstr ""
    … …  
    24092409msgstr ""
    24102410
    2411 #: includes/admin/class-admin.php:2488
     2411#: includes/admin/class-admin.php:2502
    24122412msgid "No carts were selected."
    24132413msgstr ""
    … …  
    29682968
    29692969#: includes/class-frontend.php:186
    2970 #: includes/admin/class-admin.php:2487
     2970#: includes/admin/class-admin.php:2501
    29712971#: includes/class-rest.php:495
    29722972msgid "Please enter a valid email address."
    … …  
    31733173msgstr ""
    31743174
    3175 #: includes/admin/class-admin.php:2490
     3175#: includes/admin/class-admin.php:2504
    31763176msgid "Recovery is live. Carts abandoned from now on will get the sequence you can see under Campaigns."
    31773177msgstr ""
    … …  
    33773377msgstr ""
    33783378
    3379 #: includes/admin/class-admin.php:2461
     3379#: includes/admin/class-admin.php:2475
    33803380msgid "Saved — but these merge tags do not exist, so they will be removed from the message rather than replaced:"
    33813381msgstr ""
    … …  
    34133413msgstr ""
    34143414
    3415 #: includes/admin/class-admin.php:2401
     3415#: includes/admin/class-admin.php:2415
    34163416msgid "See the details on the Tools screen"
    34173417msgstr ""
    … …  
    35883588msgstr ""
    35893589
    3590 #: includes/admin/class-admin.php:2484
     3590#: includes/admin/class-admin.php:2498
    35913591msgid "Settings saved."
    35923592msgstr ""
    … …  
    39103910msgstr ""
    39113911
    3912 #: includes/admin/class-admin.php:2485
     3912#: includes/admin/class-admin.php:2499
    39133913msgid "Test email sent."
    39143914msgstr ""
    … …  
    39403940msgstr ""
    39413941
    3942 #: includes/admin/class-admin.php:2492
     3942#: includes/admin/class-admin.php:2506
    39433943msgid "That country could not be applied to this cart. Use a two-letter country code CartRevival has a dial code for."
    39443944msgstr ""
    39453945
    3946 #: includes/admin/class-admin.php:2489
     3946#: includes/admin/class-admin.php:2503
    39473947msgid "That flow does not exist."
    39483948msgstr ""
    … …  
    46284628msgstr ""
    46294629
    4630 #: includes/admin/class-admin.php:2486
     4630#: includes/admin/class-admin.php:2500
    46314631msgid "WordPress could not send the test email. Check your mail configuration."
    46324632msgstr ""
    … …  
    46364636msgstr ""
    46374637
    4638 #: includes/admin/class-admin.php:2347
     4638#: includes/admin/class-admin.php:2361
    46394639msgid "WordPress has no mail server of its own — it hands mail to the host, and most hosts silently drop it. Installing an SMTP plugin and pointing it at your mail provider fixes this for every email the site sends, not just ours."
    46404640msgstr ""
    … …  
    46664666#: includes/class-telemetry.php:391
    46674667#: includes/class-manual-send.php:743
    4668 #: includes/admin/class-admin.php:2415
     4668#: includes/admin/class-admin.php:2429
    46694669msgid "You are not allowed to do that."
    46704670msgstr ""
  • cartrevival/tags/2.20.0/readme.txt

    r3727923 r3729385  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 2.19.0
     7Stable tag: 2.20.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    199199== Changelog ==
    200200
     201= 2.20.0 =
     202* **A new look for every CartRevival screen.** A brand header shows the version and edition at a glance, the main navigation is a pill rail, and the whole admin — Dashboard, Carts, Campaigns, Settings, Live, Pro — now uses one visual system in CartRevival's own green: lifted cards with accent bars, bolder KPI tiles, rounded notices, consistent buttons and switches, and gentle entrance motion (off automatically when your system asks for reduced motion). Works in Arabic/RTL unchanged.
     203* **Clearer journey.** The page title and edition badge are always in the same place, the active section is unmistakable, and Pro panels share the look of cartrevival.com so Free and Pro feel like one product.
     204* **cartrevival.com** has a new animated home page covering every feature in Free and Pro.
     205* **Behind the scenes:** the release suite no longer pins the previous version into the update check, and the known-shopper privacy check judges every field except the random nonce (which could legitimately contain six digits in a row).
     206
    201207= 2.19.0 =
    202208* **Campaign presets now tell you what they did.** Activating a preset shows a clear confirmation, marks it "Active", and shows "Custom" once you edit steps by hand. A preset that needs WhatsApp says so if WhatsApp isn't connected, and starts it automatically once it is.
    … …  
    253259== Upgrade Notice ==
    254260
     261= 2.20.0 =
     262A fresh, consistent design across every CartRevival screen (brand header, pill navigation, one green visual system), plus small test-suite fixes. Required for CartRevival Pro 2.20.0.
     263
    255264= 2.19.0 =
    256265Clear preset feedback, a much richer Live monitor, a smoother first-run experience and several fixes (WhatsApp preview, Live "Send now"). Required for CartRevival Pro 2.19.0.
  • cartrevival/trunk/CHANGELOG.md

    r3727923 r3729385  
    44directory truncates the Changelog section at 5,000 characters. Nothing has
    55been deleted: the complete history lives here.
     6
     7## 2.20.0
     8
     9* **A new look for every CartRevival screen.** A brand header shows the version and edition at a glance, the main navigation is a pill rail, and the whole admin — Dashboard, Carts, Campaigns, Settings, Live, Pro — now uses one visual system in CartRevival's own green: lifted cards with accent bars, bolder KPI tiles, rounded notices, consistent buttons and switches, and gentle entrance motion (off automatically when your system asks for reduced motion). Works in Arabic/RTL unchanged.
     10* **Clearer journey.** The page title and edition badge are always in the same place, the active section is unmistakable, and Pro panels share the look of cartrevival.com so Free and Pro feel like one product.
     11* **cartrevival.com** has a new animated home page covering every feature in Free and Pro.
     12* **Behind the scenes:** the release suite no longer pins the previous version into the update check, and the known-shopper privacy check judges every field except the random nonce (which could legitimately contain six digits in a row).
    613
    714## 2.19.0
  • cartrevival/trunk/assets/css/cartrevival-admin.css

    r3727923 r3729385  
    25652565        color: #3c434a;
    25662566}
     2567
     2568/* =====================================================================
     2569 * 2.20 design layer — one visual system across every CartRevival screen.
     2570 *
     2571 * Everything below only re-skins components that already exist; no markup
     2572 * other than the brand bar changed. Brand green replaces the generic blue
     2573 * accent so the admin matches cartrevival.com, buttons included. Logical
     2574 * properties keep RTL free. Motion is decorative and switched off under
     2575 * prefers-reduced-motion.
     2576 * ===================================================================== */
     2577
     2578.cartrevival {
     2579        --crl-accent: #0b7a3b;
     2580        --crl-accent-strong: #085c2c;
     2581        --crl-accent-soft: rgba( 11, 122, 59, 0.1 );
     2582        --crl-accent-glow: rgba( 34, 197, 94, 0.22 );
     2583        --crl-line: #e3e7ec;
     2584        --crl-sunk: #f5f7f9;
     2585        --crl-shadow: 0 1px 2px rgba( 16, 24, 40, 0.04 ), 0 6px 20px -8px rgba( 16, 24, 40, 0.12 );
     2586        --crl-shadow-hover: 0 2px 4px rgba( 16, 24, 40, 0.05 ), 0 16px 32px -14px rgba( 16, 24, 40, 0.2 );
     2587        --crl-radius: 14px;
     2588        --crl-ease: cubic-bezier( 0.22, 1, 0.36, 1 );
     2589}
     2590
     2591/* ---- Brand bar ------------------------------------------------------ */
     2592
     2593.cartrevival > h1.wp-heading-inline {
     2594        position: absolute;
     2595        width: 1px;
     2596        height: 1px;
     2597        overflow: hidden;
     2598        clip: rect( 0 0 0 0 );
     2599        white-space: nowrap;
     2600}
     2601
     2602.cartrevival-brand {
     2603        display: flex;
     2604        align-items: center;
     2605        gap: 10px;
     2606        margin-block: 14px 10px;
     2607        direction: ltr; /* the brand is a proper noun; it never flips */
     2608}
     2609
     2610.rtl .cartrevival-brand {
     2611        justify-content: flex-end;
     2612}
     2613
     2614.cartrevival-brand__mark {
     2615        width: 30px;
     2616        height: 30px;
     2617        border-radius: 9px;
     2618        position: relative;
     2619        background: conic-gradient( from 200deg, #4ade80, #0b7a3b 40%, #0e3b23 70%, #4ade80 );
     2620        box-shadow: 0 0 0 3px var( --crl-accent-glow ), 0 4px 10px -2px rgba( 11, 122, 59, 0.5 );
     2621}
     2622
     2623.cartrevival-brand__mark::after {
     2624        content: "";
     2625        position: absolute;
     2626        inset: 9px;
     2627        border-radius: 50%;
     2628        background: #fff;
     2629}
     2630
     2631.cartrevival-brand__name {
     2632        font-size: 22px;
     2633        font-weight: 800;
     2634        letter-spacing: -0.02em;
     2635        color: var( --crl-text );
     2636        line-height: 1;
     2637}
     2638
     2639.cartrevival-brand__name b {
     2640        color: var( --crl-accent );
     2641        font-weight: 800;
     2642}
     2643
     2644.cartrevival-brand__chip {
     2645        font-size: 11px;
     2646        font-weight: 700;
     2647        letter-spacing: 0.04em;
     2648        padding: 3px 8px;
     2649        border-radius: 999px;
     2650        background: var( --crl-sunk );
     2651        border: 1px solid var( --crl-line );
     2652        color: var( --crl-muted );
     2653        line-height: 1.4;
     2654}
     2655
     2656.cartrevival-brand__chip--pro {
     2657        background: var( --crl-text );
     2658        border-color: var( --crl-text );
     2659        color: #fff;
     2660        letter-spacing: 0.08em;
     2661}
     2662
     2663/* ---- Primary tabs → pill rail -------------------------------------- */
     2664
     2665.cartrevival .cartrevival-tabs.nav-tab-wrapper {
     2666        display: inline-flex;
     2667        flex-wrap: wrap;
     2668        gap: 4px;
     2669        padding: 4px;
     2670        border: 1px solid var( --crl-line );
     2671        border-radius: 999px;
     2672        background: #fff;
     2673        box-shadow: var( --crl-shadow );
     2674        margin-block-end: 22px;
     2675}
     2676
     2677.cartrevival .cartrevival-tabs .nav-tab {
     2678        margin: 0;
     2679        border: 0;
     2680        background: transparent;
     2681        border-radius: 999px;
     2682        padding: 8px 16px;
     2683        font-size: 13.5px;
     2684        font-weight: 600;
     2685        color: var( --crl-muted );
     2686        float: none;
     2687        transition: background 0.2s var( --crl-ease ), color 0.2s var( --crl-ease );
     2688}
     2689
     2690.cartrevival .cartrevival-tabs .nav-tab:hover {
     2691        background: var( --crl-sunk );
     2692        color: var( --crl-text );
     2693}
     2694
     2695.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active,
     2696.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active:hover {
     2697        background: var( --crl-accent );
     2698        color: #fff;
     2699        box-shadow: 0 6px 14px -8px rgba( 11, 122, 59, 0.8 );
     2700}
     2701
     2702.cartrevival .cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ) {
     2703        color: var( --crl-accent );
     2704}
     2705
     2706.cartrevival .cartrevival-tabs .nav-tab:focus-visible {
     2707        outline: 2px solid var( --crl-accent );
     2708        outline-offset: 2px;
     2709        box-shadow: none;
     2710}
     2711
     2712/* ---- Section tabs ---------------------------------------------------- */
     2713
     2714.cartrevival-rtab {
     2715        border-radius: 10px 10px 0 0;
     2716        transition: color 0.2s, background 0.2s;
     2717}
     2718
     2719.cartrevival-rtab[aria-selected="true"],
     2720.cartrevival-rtab.is-active {
     2721        border-block-end-color: var( --crl-accent );
     2722        color: var( --crl-accent-strong );
     2723}
     2724
     2725/* ---- Cards, panels, KPI tiles --------------------------------------- */
     2726
     2727.cartrevival-panel,
     2728.cartrevival-card,
     2729.cartrevival-rcard,
     2730.cartrevival-flow-preset {
     2731        border-color: var( --crl-line );
     2732        border-radius: var( --crl-radius );
     2733        box-shadow: var( --crl-shadow );
     2734        transition: box-shadow 0.3s var( --crl-ease ), transform 0.3s var( --crl-ease ), border-color 0.3s;
     2735}
     2736
     2737.cartrevival-card:hover,
     2738.cartrevival-flow-preset:hover {
     2739        box-shadow: var( --crl-shadow-hover );
     2740        transform: translateY( -2px );
     2741        border-color: #cfe3d6;
     2742}
     2743
     2744.cartrevival-card {
     2745        position: relative;
     2746        overflow: hidden;
     2747        padding: 18px 20px;
     2748}
     2749
     2750.cartrevival-card::before {
     2751        content: "";
     2752        position: absolute;
     2753        inset-inline-start: 0;
     2754        inset-block: 0;
     2755        width: 4px;
     2756        background: linear-gradient( 180deg, #cbd5e1, #e2e8f0 );
     2757}
     2758
     2759.cartrevival-card.is-good::before {
     2760        background: linear-gradient( 180deg, #4ade80, var( --crl-accent ) );
     2761}
     2762
     2763.cartrevival-card.is-good {
     2764        background: linear-gradient( 180deg, #f4fbf6, #fff );
     2765}
     2766
     2767.cartrevival-card__value {
     2768        font-size: 30px;
     2769        font-weight: 800;
     2770        letter-spacing: -0.03em;
     2771        font-variant-numeric: tabular-nums;
     2772}
     2773
     2774.cartrevival-panel h2,
     2775.cartrevival-panel h3 {
     2776        letter-spacing: -0.01em;
     2777}
     2778
     2779/* Upsell panels pick up the landing's dark gradient so PRO reads as one brand. */
     2780.cartrevival-panel--upsell {
     2781        background: radial-gradient( 600px 240px at 90% 0%, rgba( 34, 197, 94, 0.28 ), transparent 60% ),
     2782                linear-gradient( 160deg, #0b1f14, #06140d );
     2783        border-color: #123623;
     2784        color: #fff;
     2785}
     2786
     2787/* ---- Buttons --------------------------------------------------------- */
     2788
     2789.cartrevival .button-primary,
     2790.cartrevival .button.button-primary {
     2791        background: linear-gradient( 180deg, #119a4b, var( --crl-accent ) );
     2792        border-color: var( --crl-accent-strong );
     2793        color: #fff;
     2794        border-radius: 9px;
     2795        box-shadow: 0 1px 0 rgba( 255, 255, 255, 0.2 ) inset, 0 6px 14px -8px rgba( 11, 122, 59, 0.8 );
     2796        text-shadow: none;
     2797        transition: transform 0.2s var( --crl-ease ), box-shadow 0.2s var( --crl-ease ), background 0.2s;
     2798}
     2799
     2800.cartrevival .button-primary:hover,
     2801.cartrevival .button-primary:focus {
     2802        background: linear-gradient( 180deg, #0f8a43, var( --crl-accent-strong ) );
     2803        border-color: var( --crl-accent-strong );
     2804        color: #fff;
     2805        transform: translateY( -1px );
     2806        box-shadow: 0 10px 20px -10px rgba( 11, 122, 59, 0.9 );
     2807}
     2808
     2809.cartrevival .button-primary:focus {
     2810        box-shadow: 0 0 0 1px #fff, 0 0 0 3px var( --crl-accent );
     2811}
     2812
     2813.cartrevival .button:not( .button-primary ):not( .button-link ) {
     2814        border-radius: 9px;
     2815        border-color: var( --crl-line );
     2816        color: var( --crl-text );
     2817        background: #fff;
     2818        transition: border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s var( --crl-ease );
     2819}
     2820
     2821.cartrevival .button:not( .button-primary ):not( .button-link ):hover {
     2822        border-color: var( --crl-accent );
     2823        color: var( --crl-accent );
     2824        box-shadow: var( --crl-shadow );
     2825}
     2826
     2827/* WP's own links inside our screens follow the brand too. */
     2828.cartrevival a:not( .button ):not( .nav-tab ) {
     2829        color: var( --crl-accent );
     2830}
     2831
     2832.cartrevival a:not( .button ):not( .nav-tab ):hover {
     2833        color: var( --crl-accent-strong );
     2834}
     2835
     2836/* ---- Switches & chips ----------------------------------------------- */
     2837
     2838.cartrevival-switch input:checked + .cartrevival-switch__track {
     2839        background: var( --crl-accent );
     2840}
     2841
     2842.cartrevival-chip {
     2843        border-radius: 999px;
     2844}
     2845
     2846/* ---- Notices --------------------------------------------------------- */
     2847
     2848.cartrevival .notice,
     2849.cartrevival .cartrevival-notice {
     2850        border-radius: 12px;
     2851        border-inline-start-width: 4px;
     2852        box-shadow: var( --crl-shadow );
     2853        border-block: 1px solid var( --crl-line );
     2854        border-inline-end: 1px solid var( --crl-line );
     2855}
     2856
     2857/* ---- Tables ---------------------------------------------------------- */
     2858
     2859.cartrevival .wp-list-table,
     2860.cartrevival .cartrevival-table {
     2861        border-radius: var( --crl-radius );
     2862        overflow: hidden;
     2863        border-color: var( --crl-line );
     2864        box-shadow: var( --crl-shadow );
     2865}
     2866
     2867.cartrevival .wp-list-table thead th {
     2868        background: var( --crl-sunk );
     2869        font-size: 12px;
     2870        letter-spacing: 0.04em;
     2871        text-transform: uppercase;
     2872        color: var( --crl-muted );
     2873}
     2874
     2875.cartrevival .wp-list-table tbody tr {
     2876        transition: background 0.15s;
     2877}
     2878
     2879.cartrevival .wp-list-table tbody tr:hover {
     2880        background: #fafcfb;
     2881}
     2882
     2883/* ---- Entrance motion ------------------------------------------------- */
     2884
     2885@keyframes cartrevival-rise {
     2886        from { opacity: 0; transform: translateY( 10px ); }
     2887        to   { opacity: 1; transform: none; }
     2888}
     2889
     2890.cartrevival .cartrevival-panel,
     2891.cartrevival .cartrevival-card,
     2892.cartrevival .cartrevival-rcard {
     2893        animation: cartrevival-rise 0.5s var( --crl-ease ) both;
     2894}
     2895
     2896.cartrevival .cartrevival-cards > :nth-child( 2 ),
     2897.cartrevival .cartrevival-grid > :nth-child( 2 ) { animation-delay: 0.05s; }
     2898.cartrevival .cartrevival-cards > :nth-child( 3 ),
     2899.cartrevival .cartrevival-grid > :nth-child( 3 ) { animation-delay: 0.1s; }
     2900.cartrevival .cartrevival-cards > :nth-child( 4 ),
     2901.cartrevival .cartrevival-grid > :nth-child( 4 ) { animation-delay: 0.15s; }
     2902.cartrevival .cartrevival-cards > :nth-child( 5 ) { animation-delay: 0.2s; }
     2903
     2904/* The Live screen paints its own dark system; keep its panels untouched. */
     2905.cartrevival-live .cartrevival-panel,
     2906.cartrevival-live .cartrevival-card {
     2907        animation: none;
     2908        box-shadow: none;
     2909        transform: none;
     2910}
     2911
     2912@media ( max-width: 782px ) {
     2913        .cartrevival .cartrevival-tabs.nav-tab-wrapper {
     2914                display: flex;
     2915                border-radius: 16px;
     2916        }
     2917
     2918        .cartrevival .cartrevival-tabs .nav-tab {
     2919                flex: 1 1 auto;
     2920                text-align: center;
     2921        }
     2922
     2923        .cartrevival-brand__name {
     2924                font-size: 19px;
     2925        }
     2926}
     2927
     2928@media ( prefers-reduced-motion: reduce ) {
     2929        .cartrevival *,
     2930        .cartrevival *::before,
     2931        .cartrevival *::after {
     2932                animation-duration: 0.001ms !important;
     2933                transition-duration: 0.001ms !important;
     2934        }
     2935}
  • cartrevival/trunk/assets/css/cartrevival-admin.min.css

    r3727923 r3729385  
    1 .cartrevival .cartrevival-tabs{margin-block-end:20px}.cartrevival{--crl-bg:#fff;--crl-panel:#fff;--crl-sunk:#f6f7f9;--crl-line:#e2e5ea;--crl-text:#1d2327;--crl-muted:#5b6470;--crl-accent:#2563eb;--crl-accent-soft:rgba( 37, 99, 235, 0.09 );--crl-good:#047857;--crl-warn:#b45309;--crl-hot:#b91c1c;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.05 ),0 4px 16px rgba( 16, 24, 40, 0.05 );--crl-radius:12px;--crl-accent-strong:#1e40af}.cartrevival-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca3af;margin-inline-start:6px;vertical-align:middle;transition:background-color .2s}.cartrevival-dot[data-cartrevival-connection=live]{background:#059669}.cartrevival-dot[data-cartrevival-connection=connecting],.cartrevival-dot[data-cartrevival-connection=polling]{background:#d97706}.cartrevival-dot[data-cartrevival-connection=offline]{background:#9ca3af}.cartrevival-muted{color:var(--crl-muted);font-size:12px}.cartrevival-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 18px}.cartrevival-card.is-good{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--crl-muted);margin-block-end:6px}.cartrevival-card__value{font-size:26px;font-weight:600;line-height:1.2;color:var(--crl-text)}.cartrevival-card__hint{font-size:12px;color:var(--crl-muted);margin-block-start:4px}.cartrevival-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.cartrevival-panel{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px 20px}.cartrevival-panel--wide{grid-column:1/-1}.cartrevival-panel--upsell{background:var(--crl-sunk);color:var(--crl-text);border-style:dashed;border-color:var(--crl-line)}.cartrevival-panel--upsell h2,.cartrevival-panel--upsell h3,.cartrevival-panel--upsell p{color:var(--crl-text)}.cartrevival-panel--upsell .cartrevival-muted{color:var(--crl-muted)}.cartrevival-panel h2{margin-block-start:0;font-size:15px}.cartrevival-panel h3{font-size:13px;margin-block-end:6px}.cartrevival-empty{margin-block:16px}.cartrevival-chart{width:100%;height:220px;display:block}.cartrevival-legend{display:flex;gap:18px;align-items:center;font-size:12px;color:#50575e;margin-block-start:8px;flex-wrap:wrap}.cartrevival-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:6px}.cartrevival-funnel{margin:0;padding:0;list-style:none}.cartrevival-funnel li{margin-block-end:14px}.cartrevival-funnel__head{display:flex;justify-content:space-between;align-items:baseline;margin-block-end:4px}.cartrevival-funnel__label{font-weight:600}.cartrevival-funnel__value{font-variant-numeric:tabular-nums}.cartrevival-funnel__bar{background:#f0f0f1;border-radius:4px;height:10px;overflow:hidden}.cartrevival-funnel__bar span{display:block;height:100%;background:linear-gradient(90deg,#2271b1,#0b7a3b);border-radius:4px}.cartrevival-funnel__meta{margin-block-start:4px}.cartrevival-table{width:100%;border-collapse:collapse}.cartrevival-table td{padding:7px 0;border-block-end:1px solid #f0f0f1;vertical-align:middle}.cartrevival-table tr:last-child td{border-block-end:0}.cartrevival-num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.cartrevival-thumbs{display:flex;gap:4px;align-items:center;margin-block-end:4px}.cartrevival-thumb{position:relative;display:inline-flex;width:38px;height:38px;border-radius:5px;overflow:hidden;background:#f0f0f1}.cartrevival-thumb img{width:38px;height:38px;object-fit:cover;display:block}.cartrevival-thumb__qty{position:absolute;inset-block-end:0;inset-inline-end:0;background:rgba(29,35,39,.82);color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-start-start-radius:4px}.cartrevival-thumb--more{align-items:center;justify-content:center;font-size:12px;color:#50575e}.cartrevival-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.7;background:#f0f0f1;color:var(--crl-muted);white-space:nowrap}.cartrevival-pill--shopping{background:#e7f0f7;color:#12537e}.cartrevival-pill--checkout{background:#fcf3d8;color:#8a6116}.cartrevival-pill--abandoned{background:#fbe6e6;color:#a32828}.cartrevival-pill--ordered,.cartrevival-pill--recovered{background:#e3f5e9;color:#0b6b35}.cartrevival-chip{display:inline-block;padding:1px 7px;border-radius:3px;font-size:11px;background:#e7f0f7;color:#12537e}.cartrevival-chip.is-muted{background:#f0f0f1;color:var(--crl-muted)}.cartrevival-chip.is-bot{background:#fcf3d8;color:#6d4c0a;cursor:help}.cartrevival-flow-hero{margin-block:16px 8px;padding:28px 28px 20px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}.cartrevival-flow-hero h2{margin-block-start:0;font-size:20px}.cartrevival-flow-hero__how{display:flex;gap:24px;margin:12px 0 0;padding:0;counter-reset:cr-how;list-style:none}.cartrevival-flow-hero__how li{counter-increment:cr-how;font-weight:600;color:#2c3338}.cartrevival-flow-hero__how li::before{content:counter(cr-how);display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;margin-inline-end:8px;border-radius:50%;background:#2271b1;color:#fff;font-size:12px}.cartrevival-flow-timeline{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:16px 8px;padding:14px 18px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;overflow-x:auto}.cartrevival-flow-timeline__origin{display:flex;flex-direction:column;justify-content:center;gap:4px;font-weight:600;color:#50575e;white-space:nowrap}.cartrevival-flow-timeline__dot{inline-size:10px;block-size:10px;border-radius:50%;background:#d63638}.cartrevival-flow-timeline__node{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #c3c4c7;border-inline-start:3px solid #2271b1;border-radius:6px;text-decoration:none;color:#2c3338;background:#f6f7f7;min-inline-size:130px}.cartrevival-flow-timeline__node:hover{border-color:#2271b1}.cartrevival-flow-timeline__delay{font-size:12px;font-weight:600;color:#135e96}.cartrevival-flow-timeline__channels{font-size:12px;color:var(--crl-muted)}.cartrevival-flow-presets{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:8px 16px}.cartrevival-flow-presets__title{align-self:center;font-weight:600;color:#50575e}.cartrevival-flow-preset{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;max-inline-size:320px;padding:12px 14px;border:1px solid #c3c4c7;border-radius:6px;background:#fff}.cartrevival-flow-preset .button{align-self:flex-start;margin-block-start:4px}.cartrevival-flow-preset.is-active{border-color:#00a32a;box-shadow:0 0 0 1px #00a32a;background:#f0f9f2}.cartrevival-badge-active{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:#00a32a;color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-flow-preset__on{margin-block-start:4px;font-weight:600;color:#007017}.cartrevival-flow-preset__needs{font-size:12px;color:#8a5a00;background:#fcf9e8;border-inline-start:3px solid #dba617;padding:4px 8px}.cartrevival-flow-preset__custom{display:block;font-weight:400;font-size:12px;color:#50575e}.cartrevival-flow-result{margin-block:8px}.cartrevival-flow-result .button-small{margin-inline-start:6px;vertical-align:middle}.cartrevival-rtabs{display:flex;gap:4px;flex-wrap:wrap;margin-block:4px 0;border-block-end:1px solid #c3c4c7}.cartrevival-rtab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-block-end:none;border-start-start-radius:6px;border-start-end-radius:6px;background:0 0;font-size:13px;font-weight:600;color:#2c3338;cursor:pointer}.cartrevival-rtab:hover{color:#135e96}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{background:#fff;border-color:#c3c4c7;position:relative;inset-block-end:-1px}a.cartrevival-rtab{text-decoration:none}a.cartrevival-rtab:focus{box-shadow:none}.cartrevival-rtab:focus-visible{outline:#2271b1 solid 2px;outline-offset:-2px}.cartrevival-rtab__status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.cartrevival-rtab__status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-rtab__status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-rtab__status.is-setup{background:#fcf3d8;color:#6d4c0a}.cartrevival-rtab__status.is-locked{background:#f0f0f1;color:#50575e}.cartrevival-rpanel{padding-block-start:16px}.cartrevival-channel-head{display:flex;flex-direction:column;gap:4px;margin-block-end:12px}.cartrevival-channel-head__toggle{display:inline-flex;align-items:center;gap:8px;font-size:15px}.cartrevival-savebar{display:flex;gap:8px;align-items:center;margin-block-start:16px}.cartrevival-botline{margin-block:4px 16px;font-size:12px;color:var(--crl-muted)}.cartrevival-botline a{margin-inline-start:6px}.cartrevival-botline__warn{color:#8a4a0b;font-weight:600}.cartrevival-segments{display:inline-flex;gap:6px;margin-block:10px 4px}.cartrevival-segment{display:inline-block;padding:4px 12px;border:1px solid #c3c4c7;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;color:#2c3338;background:#fff}.cartrevival-segment .count{font-weight:400;color:var(--crl-muted)}.cartrevival-segment:hover{border-color:#2271b1;color:#135e96}.cartrevival-segment.is-active{background:#2271b1;border-color:#2271b1;color:#fff}.cartrevival-segment.is-active .count{color:#dceaf5}.cartrevival-pro-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#0b7a3b;color:#fff!important;text-decoration:none;vertical-align:middle;margin-inline-start:6px}.cartrevival-pro-badge:focus,.cartrevival-pro-badge:hover{background:#096330;color:#fff!important}.cartrevival-tags{margin:0 0 20px;padding:0;list-style:none}.cartrevival-tags li{display:flex;align-items:baseline;gap:8px;margin-block-end:6px;flex-wrap:wrap}.cartrevival-tag{font-family:Menlo,Consolas,monospace;font-size:12px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:4px;padding:2px 7px;cursor:pointer}.cartrevival-tag.is-disabled{opacity:.55;cursor:default}.cartrevival-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-block-end:12px}.cartrevival-sequence__step{border:1px solid #dcdcde;border-radius:8px;padding:14px}.cartrevival-sequence__step.is-live{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-sequence__step.is-pro{border-style:dashed;background:#fbfbfc}.cartrevival-sequence__step h3{margin-block-start:0}.cartrevival-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-end:8px}.cartrevival-custom-range[hidden]{display:none}.cartrevival-actions-bar{margin-block-start:16px;padding:14px 18px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-actions-bar form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cartrevival-live-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-live__status{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e;margin-block-end:4px}.cartrevival-live__indicator{width:9px;height:9px;border-radius:50%;background:#c3c4c7;flex:none}.cartrevival-live__indicator[data-cartrevival-connection=live]{background:#0b7a3b;box-shadow:0 0 0 0 rgba(11,122,59,.55);animation:2.2s ease-out infinite cartrevival-pulse}.cartrevival-live__indicator[data-cartrevival-connection=connecting]{background:#dba617}.cartrevival-live__indicator[data-cartrevival-connection=polling]{background:#2271b1}.cartrevival-live__indicator[data-cartrevival-connection=offline]{background:#d63638}@keyframes cartrevival-pulse{70%{box-shadow:0 0 0 7px rgba(11,122,59,0)}100%{box-shadow:0 0 0 0 rgba(11,122,59,0)}}@media (prefers-reduced-motion:reduce){.cartrevival-live__indicator[data-cartrevival-connection=live]{animation:none}}.cartrevival-live__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#fff;border:1px solid #dcdcde;border-radius:8px;margin-block-end:8px}.cartrevival-live__filters input[type=search]{min-width:260px}.cartrevival-live__check,.cartrevival-live__minvalue{display:inline-flex;align-items:center;gap:6px;font-size:13px}.cartrevival-live__hint{margin-block:0 14px}.cartrevival-live__list{display:grid;gap:12px}.cartrevival-live__empty{background:#fff;border:1px dashed #dcdcde;border-radius:8px;padding:40px 20px;text-align:center}.cartrevival-live__empty p{margin:0 0 4px}.cartrevival-visitor{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s}.cartrevival-visitor.is-new{border-color:#0b7a3b;box-shadow:0 0 0 3px rgba(11,122,59,.12)}.cartrevival-visitor__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:10px;flex-wrap:wrap}.cartrevival-visitor__who{display:flex;align-items:center;gap:8px;min-width:0}.cartrevival-visitor__flag{font-size:18px;line-height:1}.cartrevival-visitor__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}@media (max-width:960px){.cartrevival-visitor__body{grid-template-columns:minmax(0,1fr)}}.cartrevival-visitor__eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8c8f94;margin-block-end:2px}.cartrevival-visitor__page{margin-block-end:10px;min-width:0}.cartrevival-visitor__page a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__facts{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 14px}.cartrevival-visitor__facts li{margin:0;font-size:12px;min-width:0}.cartrevival-visitor__facts span{display:block;color:#8c8f94}.cartrevival-visitor__facts b{display:block;color:var(--crl-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-block-end:6px}.cartrevival-visitor__cart-head strong{font-size:15px}.cartrevival-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-block-end:1px solid #f0f0f1}.cartrevival-item:last-child{border-block-end:0}.cartrevival-item img{width:40px;height:40px;object-fit:cover;border-radius:5px;flex:none;background:#f0f0f1}.cartrevival-item__text{display:flex;flex-direction:column;min-width:0;flex:1}.cartrevival-item__name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-item__qty,.cartrevival-item__variation{font-size:11px;color:#8c8f94}.cartrevival-item__total{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.cartrevival-visitor__foot{display:flex;gap:14px;align-items:center;margin-block-start:10px;padding-block-start:10px;border-block-start:1px solid #f0f0f1;flex-wrap:wrap}.cartrevival-journey{margin-block-start:12px;font-size:12px}.cartrevival-journey__list{margin:0;padding:0;list-style:none}.cartrevival-journey__event{display:flex;align-items:center;gap:8px;padding:5px 0;border-inline-start:2px solid #dcdcde;padding-inline-start:12px;margin-inline-start:4px;flex-wrap:wrap}.cartrevival-journey__event.is-add_to_cart{border-inline-start-color:#0b7a3b}.cartrevival-journey__event.is-remove_from_cart{border-inline-start-color:#d63638}.cartrevival-journey__event.is-checkout_start{border-inline-start-color:#dba617}.cartrevival-journey__event.is-ordered,.cartrevival-journey__event.is-recovered{border-inline-start-color:#2271b1}.cartrevival-journey__time{color:#8c8f94;font-variant-numeric:tabular-nums;flex:none}.cartrevival-journey__gap{background:#e4e7eb;color:#50575e;border-radius:999px;padding:0 7px;font-size:11px;flex:none}.cartrevival-journey__body{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.cartrevival-journey__body img{border-radius:3px;flex:none}.cartrevival-pill--browsing{background:#f0f0f1;color:#50575e}.cartrevival-pill--cart{background:#e7f0f7;color:#12537e}.cartrevival-pill--converted{background:#e3f5e9;color:#0b6b35}.cartrevival-live__pro{margin-block-start:18px}.cartrevival-live__toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--crl-line);border-radius:999px;background:var(--crl-panel);color:var(--crl-text);font-size:13px;line-height:1.4;cursor:pointer;user-select:none}.cartrevival-live__toggle:hover{border-color:var(--crl-accent)}.cartrevival-live__toggle input{margin:0}.cartrevival-live__toggle:focus-within{outline:2px solid var(--crl-accent);outline-offset:1px}@media (prefers-color-scheme:dark){.cartrevival-live .cartrevival-chip,.cartrevival-live .cartrevival-pill--cart,.cartrevival-live .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live .cartrevival-pill--converted,.cartrevival-live .cartrevival-pill--ordered,.cartrevival-live .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}}.cartrevival-live.is-dark .cartrevival-chip,.cartrevival-live.is-dark .cartrevival-pill--cart,.cartrevival-live.is-dark .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live.is-dark .cartrevival-pill--converted,.cartrevival-live.is-dark .cartrevival-pill--ordered,.cartrevival-live.is-dark .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live.is-dark .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live.is-dark .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}.cartrevival-step{border:1px solid var(--crl-line);border-radius:8px;padding:4px 18px 14px;margin-block-end:18px;background:var(--crl-panel)}.cartrevival-step h3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cartrevival-inline-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400}.cartrevival-stats{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 4px;font-size:12px;color:var(--crl-muted)}.cartrevival-stats strong{color:var(--crl-text)}.cartrevival-preview__bar{display:flex;align-items:center;gap:8px;margin-block-end:10px}.cartrevival-preview__bar .button.is-active{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent)}.cartrevival-preview__frame{border:1px solid var(--crl-line);border-radius:8px;overflow:hidden;background:#fff;transition:max-width .2s}.cartrevival-preview__frame.is-desktop{max-width:100%}.cartrevival-preview__frame.is-mobile{max-width:390px}.cartrevival-preview__frame iframe{width:100%;height:520px;border:0;display:block}.cartrevival-country-picker{min-width:320px;max-width:100%}.cartrevival-locked{border:1px dashed var(--crl-line);border-radius:8px;background:var(--crl-sunk);padding:10px 14px;max-width:640px}.cartrevival-locked__title{margin:0 0 4px;font-weight:600;color:var(--crl-muted)}.cartrevival-locked__icon{margin-inline-end:6px;opacity:.7}.cartrevival-locked__body{margin:0;color:var(--crl-muted);font-size:13px}.cartrevival-tabs .nav-tab.cartrevival-tab--accent{color:var(--crl-accent-strong);font-weight:600}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){background:var(--crl-accent-soft);border-color:var(--crl-accent-soft)}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:focus,.cartrevival-tabs .nav-tab.cartrevival-tab--accent:hover{color:var(--crl-accent-strong);text-decoration:underline}.cartrevival-upgrade{max-width:900px;margin-block-start:20px}.cartrevival-upgrade__intro h2{margin-block-start:0;font-size:20px;line-height:1.35}.cartrevival-upgrade__intro p{max-width:68ch;color:var(--crl-muted)}.cartrevival-upgrade__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-block:20px}.cartrevival-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-block:20px}.cartrevival-price-card{position:relative;border:1px solid var(--crl-line);border-radius:var(--crl-radius);background:var(--crl-panel);box-shadow:var(--crl-shadow);padding:20px}.cartrevival-price-card--best{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent),var(--crl-shadow)}.cartrevival-price-card__flag{position:absolute;inset-block-start:-10px;inset-inline-start:20px;margin:0;padding:2px 10px;border-radius:999px;background:var(--crl-accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cartrevival-price-card__name{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--crl-muted);text-transform:uppercase;letter-spacing:.04em}.cartrevival-price-card__figure{margin:0 0 6px;display:flex;align-items:baseline;gap:6px}.cartrevival-price-card__amount{font-size:34px;font-weight:700;line-height:1;color:var(--crl-text);direction:ltr;unicode-bidi:isolate}.cartrevival-price-card__period{color:var(--crl-muted);font-size:13px}.cartrevival-price-card__note{margin:0;color:var(--crl-muted);font-size:12px}.cartrevival-price-card__cta{margin:14px 0 0}.cartrevival-compare{margin-block-end:16px}.cartrevival-compare th[scope=row]{font-weight:400;text-align:start}.cartrevival-compare__cell{text-align:center;width:22%}.cartrevival-compare__cell--pro{background:var(--crl-accent-soft)}.cartrevival-yes{color:#065f46;font-weight:700}.cartrevival-no{color:var(--crl-muted)}.cartrevival-conn-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-inline-end:8px}.cartrevival-conn-status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-conn-status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-meter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;background:#fff;border:1px solid #dcdcde;border-inline-start:4px solid #2271b1;border-radius:6px}.cartrevival-meter--register{border-inline-start-color:#996800}.cartrevival-meter--lost{border-inline-start-color:#b32d2e;background:#fcf0f1}.cartrevival-meter__body,.cartrevival-meter__head{flex:1 1 auto;min-width:240px}.cartrevival-meter__count{margin-inline-start:10px;font-variant-numeric:tabular-nums}.cartrevival-meter__foot{flex-basis:100%;margin-top:6px;font-size:12px}.cartrevival-meter__foot a{text-decoration:none}.cartrevival-meter__cta{flex:0 0 auto}.cartrevival-meter__bar{margin-top:8px;height:8px;background:#f0f0f1;border-radius:4px;overflow:hidden;max-width:420px}.cartrevival-meter__bar>span{display:block;height:100%;background:#2271b1;border-radius:4px}.cartrevival-pill--tier{background:#f0f6fc;color:#0a4b78}.cartrevival-badge--limit{display:inline-block;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:600;color:#b32d2e;background:#fcf0f1;border:1px solid #f0c3c4;border-radius:3px}.cartrevival-visitors__total{font-size:22px;font-weight:700;margin-inline-start:8px;font-variant-numeric:tabular-nums}.cartrevival-visitors__grid{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:end}.cartrevival-visitors__grid>*{min-width:0}.cartrevival-visitors__countries{overflow-wrap:anywhere}@media (max-width:782px){.cartrevival-visitors__grid{grid-template-columns:1fr}}.cartrevival-visitors__chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:8px 0;border-bottom:1px solid #dcdcde}.cartrevival-vbar{flex:1 1 auto;min-width:3px;background:#2271b1;border-radius:2px 2px 0 0;opacity:.85}.cartrevival-vbar:hover{opacity:1}.cartrevival-visitors__countries h3{margin:0 0 8px;font-size:13px}.cartrevival-mailstate{margin:10px 0 4px;font-size:13px}.cartrevival-mailstate.is-ok{color:#0b7a3b}.cartrevival-mailstate.is-bad{color:#b32d2e;font-weight:600}.cartrevival-recovery-cell{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cartrevival-chanicons{display:inline-flex;gap:4px}.cartrevival-chanicon{display:inline-flex;align-items:center;gap:2px;color:var(--crl-accent)}.cartrevival-chanicon--failed{color:#b32d2e}.cartrevival-chanicon__n{font-size:11px;font-weight:600}.cartrevival-msend-group{display:inline-flex;gap:2px;border-inline-start:1px solid var(--crl-line);padding-inline-start:8px}.cartrevival-msend{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:26px;height:24px;padding:0 4px;border-radius:5px;color:var(--crl-accent);cursor:pointer}.cartrevival-msend:hover:not( :disabled ){background:var(--crl-soft,#e7f4ec)}.cartrevival-msend:disabled{color:#a7aaad;cursor:default}.cartrevival-timeline-toggle{font-size:12px}.cartrevival-msend-toast{display:inline-block;margin-inline-start:6px;font-size:12px;color:var(--crl-accent)}.cartrevival-msend-toast--error{color:#b32d2e}.cartrevival-msend-pop{position:absolute;z-index:100;inset-block-start:100%;inset-inline-start:0;min-width:260px;max-width:340px;background:#fff;border:1px solid var(--crl-line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:12px}.cartrevival-msend-pop__body>*{display:block}.cartrevival-msend-pop__subject{font-weight:600;margin-top:4px}.cartrevival-msend-pop__snippet{color:var(--crl-muted);font-size:12px;margin-top:2px}.cartrevival-msend-pop__warning{color:#996800;font-size:12px;margin-top:6px}.cartrevival-msend-pop__actions{margin-top:10px}.cartrevival-timeline-tr>td{background:var(--crl-panel-2,#f6f7f7)}.cartrevival-timeline-wrap{padding:4px 8px}.cartrevival-timeline{margin:0;padding:0;list-style:none}.cartrevival-timeline__item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--crl-line);margin:0}.cartrevival-timeline__item:last-child{border-bottom:0}.cartrevival-timeline__icon{flex:none;display:inline-flex;margin-top:2px;color:var(--crl-accent)}.cartrevival-timeline__item--failed .cartrevival-timeline__icon{color:#b32d2e}.cartrevival-timeline__item--skipped .cartrevival-timeline__icon,.cartrevival-timeline__item--upcoming .cartrevival-timeline__icon{color:#a7aaad}.cartrevival-timeline__item--upcoming{color:var(--crl-muted)}.cartrevival-timeline__body{display:block}.cartrevival-timeline__time{display:block;font-size:11.5px;color:var(--crl-muted)}.cartrevival-timeline__reason{display:block;font-size:12px;color:#b32d2e}.cartrevival-timeline__badge{display:inline-block;padding:0 6px;border-radius:99px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cartrevival-timeline__badge--sent{background:var(--crl-soft,#e7f4ec);color:var(--crl-accent)}.cartrevival-timeline__badge--failed{background:#fcf0f1;color:#b32d2e}.cartrevival-timeline__badge--skipped{background:#f0f0f1;color:#646970}.cartrevival-wa-vars{margin:12px 0 4px;padding:0;border:0}.cartrevival-wa-vars legend{font-weight:600;padding:0 0 4px}.cartrevival-wa-var-table{margin:8px 0;max-width:780px}.cartrevival-wa-var-table th[scope=row]{width:34%;font-weight:600;vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table td{vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table code{word-break:break-all}.cartrevival-wa-sample code{background:#f0f6fc;display:inline-block;max-width:100%}.cartrevival-wa-bubble{max-width:420px;background:#e7ffdb;border-radius:10px;padding:10px 12px;margin:8px 0;color:#111;line-height:1.5}.cartrevival-wa-bubble-header{font-weight:700;margin-bottom:6px}.cartrevival-wa-bubble-body{white-space:pre-wrap}.cartrevival-wa-bubble-footer{margin-top:8px;font-size:12px;opacity:.6}.cartrevival-wa-bubble-button{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);text-align:center}.cartrevival-wa-bubble-button-text{display:block;color:#0a7cff;font-weight:600}.cartrevival-wa-bubble-url{display:block;font-size:11px;word-break:break-all;margin-top:4px}.cartrevival-wa-problems{margin:8px 0 0;padding-inline-start:18px;list-style:disc}.cartrevival-wa-test-form{margin:8px 0}.cartrevival-wa-test-label{display:block;font-weight:600;margin-bottom:8px}.cartrevival-wa-test-label input{display:block;margin-top:4px;direction:ltr;text-align:start}.cartrevival-wa-test-to{font-weight:700;direction:ltr;text-align:start;unicode-bidi:isolate}.cartrevival-wa-payload{max-height:260px;overflow:auto;background:#f6f7f7;padding:10px;font-size:11px;direction:ltr;text-align:start}.cartrevival-wa-health ul{margin:0 0 8px;padding-inline-start:18px;list-style:disc}.cartrevival .cartrevival-panel>table.widefat,.cartrevival table.widefat.striped{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cartrevival .cartrevival-panel>table.widefat>tbody,.cartrevival .cartrevival-panel>table.widefat>thead,.cartrevival table.widefat.striped>tbody,.cartrevival table.widefat.striped>thead{display:table;width:100%;table-layout:auto}.cartrevival-arm{padding:20px 22px;border-inline-start-width:4px;margin-block:16px}.cartrevival-arm__title{margin:0 0 8px;font-size:17px;line-height:1.35}.cartrevival-arm__body{margin:0 0 10px;max-width:68ch;font-size:14px}.cartrevival-arm__waiting{margin:0 0 14px;font-size:14px}.cartrevival-arm__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px}.cartrevival-arm__actions form{display:inline-flex;margin:0}.cartrevival-arm__note{margin:0}.cartrevival-livestrip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;box-sizing:border-box;max-width:100%;padding:14px 20px;margin-block:16px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-livestrip__cell{display:flex;flex-direction:column;gap:2px;min-width:0}.cartrevival-livestrip__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#646970}.cartrevival-livestrip__value{font-size:20px;font-weight:600;line-height:1.2;color:#1d2327}.cartrevival-livestrip__more{margin-inline-start:auto;font-size:13px;font-weight:600}@media screen and (max-width:782px){.cartrevival-livestrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:14px 16px}.cartrevival-livestrip__cell{min-width:0}.cartrevival-livestrip__value{font-size:18px;overflow-wrap:anywhere}.cartrevival-livestrip__more{margin-inline-start:0;grid-column:1/-1}}.cartrevival-guide{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow);padding:18px 22px;margin-block:16px;max-width:960px}.cartrevival-guide__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.cartrevival-guide__head h2{margin:0 0 4px;font-size:18px}.cartrevival-guide__progress{display:flex;align-items:center;gap:10px;font-size:13px}.cartrevival-guide__progress progress{width:120px;height:8px;accent-color:var(--crl-good)}.cartrevival-guide__hide{color:var(--crl-muted)}.cartrevival-guide__steps{list-style:none;margin:16px 0 0;padding:0}.cartrevival-guide__step{display:flex;gap:14px;padding-block:14px;border-block-start:1px solid var(--crl-line);margin:0}.cartrevival-guide__mark{flex:0 0 28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-guide__step.is-done .cartrevival-guide__mark{background:var(--crl-good);color:#fff}.cartrevival-guide__body{flex:1 1 auto;min-width:0}.cartrevival-guide__body h3{margin:3px 0 6px;font-size:15px}.cartrevival-guide__body p{margin:0 0 8px}.cartrevival-guide__step.is-done .cartrevival-guide__body>p:not( .cartrevival-guide__ok ){color:var(--crl-muted)}.cartrevival-guide__optional{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--crl-sunk);color:var(--crl-muted);margin-inline-start:6px;vertical-align:middle}.cartrevival-guide__actions,.cartrevival-guide__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block:8px}.cartrevival-guide__row form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cartrevival-guide__ok{color:var(--crl-good);font-weight:500}.cartrevival-guide__mini{margin:0 0 8px;padding-inline-start:20px}.cartrevival-guide-reopen{margin-block:8px 0;text-align:end}.cartrevival-essentials{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);padding:6px 22px 10px;margin-block:16px;max-width:960px}.cartrevival-essentials>h2{margin-block:14px 2px}.cartrevival-essentials__status{margin:0 0 6px}.cartrevival-essentials__status li{margin-block-end:4px}.cartrevival-advanced{margin-block:8px 16px}.cartrevival-advanced__heading{margin:0}.cartrevival-advanced__toggle{display:inline-flex;align-items:center;gap:8px;background:0 0;border:0;padding:6px 0;font:inherit;font-size:15px;font-weight:600;color:var(--crl-text);cursor:pointer}.cartrevival-advanced__toggle:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-advanced__chev{width:8px;height:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.cartrevival-advanced.is-open .cartrevival-advanced__chev,.rtl .cartrevival-advanced__chev,[dir=rtl] .cartrevival-advanced__chev{transform:rotate(45deg)}.rtl .cartrevival-advanced.is-open .cartrevival-advanced__chev{transform:rotate(-45deg)}.cartrevival-advanced__hint{margin:0 0 8px}.cartrevival-advanced.is-open .cartrevival-advanced__hint,.js .cartrevival-advanced:not( .is-open ) .cartrevival-advanced__body,.js .cartrevival-rcard:not( .is-open ) .cartrevival-rcard__body{display:none}.cartrevival-rcard{padding:12px 18px}.cartrevival-rcard__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.cartrevival-rcard .cartrevival-rcard__title{margin:0;font-size:14px;display:block}.cartrevival-rcard__when{font-weight:500}.cartrevival-rcard__chan{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-rcard__subject{flex:1 1 220px;min-width:0;color:var(--crl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-rcard.is-off .cartrevival-rcard__subject,.cartrevival-rcard.is-off .cartrevival-rcard__when{opacity:.55}.cartrevival-rcard.is-open .cartrevival-rcard__body{margin-block-start:12px;border-block-start:1px solid var(--crl-line)}.cartrevival-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cartrevival-switch input{position:absolute;opacity:0;inset-inline-start:0;width:34px;height:20px;margin:0;cursor:pointer}.cartrevival-switch__track{width:34px;height:20px;border-radius:999px;background:#c3c9d1;position:relative;transition:background-color .15s}.cartrevival-switch__track::after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}.cartrevival-switch input:checked+.cartrevival-switch__track{background:var(--crl-good)}.cartrevival-switch input:checked+.cartrevival-switch__track::after{inset-inline-start:16px}.cartrevival-switch input:focus-visible+.cartrevival-switch__track{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-badge-recommended{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--crl-good);color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-chov__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0 0}.cartrevival-chov__item{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 12px;border:1px solid var(--crl-line);border-radius:10px;background:var(--crl-sunk)}.cartrevival-chov__badge{align-self:flex-start;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e7e9ec;color:#3c434a}.cartrevival-chov__badge.is-ready{background:rgba(4,120,87,.12);color:#03684b}.cartrevival-chov__badge.is-setup{background:rgba(180,83,9,.12);color:#8a3f06}.cartrevival-chov__help,.cartrevival-chov__test{font-size:12px}.cartrevival-rcard__test{margin-inline-start:auto}.cartrevival-rcard .cartrevival-rcard__body>.cartrevival-stats{margin:10px 0 0}.cartrevival-optin__what{margin:8px 0 12px;padding:10px 14px;border-radius:8px;background:var(--crl-sunk,#f6f7f7)}.cartrevival-optin__what summary{cursor:pointer;font-weight:600}.cartrevival-optin__what ul{margin:8px 0;margin-inline-start:1.2em;list-style:disc}.cartrevival-optin__what li{margin:2px 0}.cartrevival-optin__email label{margin-inline-end:6px}.cartrevival-optin__choices{display:flex;flex-wrap:wrap;gap:8px}.cartrevival-optin__error{color:#b32d2e;font-weight:600}.cartrevival-support h2{margin-block-start:0}.cartrevival-support h2 span{color:#d63638}.cartrevival-support__list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none}.cartrevival-support__list li{margin:0}.cartrevival-support__hide{font-size:12px}.cartrevival-win details summary{cursor:pointer;color:#2271b1;margin-block-end:4px}.cartrevival-guide__eyebrow,.cartrevival-journey__eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0b7a3b}.cartrevival-guide__what{margin:4px 0 8px;padding-inline-start:18px;list-style:disc;color:#3c434a}.cartrevival-guide__what li{margin:0 0 2px}.cartrevival-journey{margin:16px 0;padding:18px 20px;background:#fff;border:1px solid #dcdcde;border-radius:10px}.cartrevival-journey h2{margin:0 0 8px;font-size:17px}.cartrevival-journey__steps{margin:0 0 12px;padding-inline-start:20px}.cartrevival-journey__cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;background:#f6f7f7;border-radius:8px}.cartrevival-journey__actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.cartrevival-journey__hero{padding:4px 0 8px}.cartrevival-journey__amount{margin:0;font-size:34px;font-weight:700;line-height:1.2;color:#0b7a3b}.cartrevival-journey__sub{margin:4px 0;font-size:14px}.cartrevival-journey__suggest{margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid #f0f0f1}.cartrevival-journey__suggest h3{margin:0 0 8px;font-size:14px}.cartrevival-journey__suggest ul{margin:0}.cartrevival-journey__tip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px}.cartrevival-journey__tip span{color:#50575e}.cartrevival-empty-state{max-width:760px}.cartrevival-empty-state h2{margin-block-start:0}.cartrevival-upgrade__how{max-width:760px;padding-inline-start:20px}.cartrevival-upgrade__how li{margin:0 0 6px}.cartrevival-pro-checklist{margin:16px 0}.cartrevival-pro-checklist__items{margin:0}.cartrevival-pro-checklist__items li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 10px}.cartrevival-chov__badge.is-off{background:#e7e9ec;color:#3c434a}
     1.cartrevival .cartrevival-tabs{margin-block-end:20px}.cartrevival{--crl-bg:#fff;--crl-panel:#fff;--crl-sunk:#f6f7f9;--crl-line:#e2e5ea;--crl-text:#1d2327;--crl-muted:#5b6470;--crl-accent:#2563eb;--crl-accent-soft:rgba( 37, 99, 235, 0.09 );--crl-good:#047857;--crl-warn:#b45309;--crl-hot:#b91c1c;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.05 ),0 4px 16px rgba( 16, 24, 40, 0.05 );--crl-radius:12px}.cartrevival-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ca3af;margin-inline-start:6px;vertical-align:middle;transition:background-color .2s}.cartrevival-dot[data-cartrevival-connection=live]{background:#059669}.cartrevival-dot[data-cartrevival-connection=connecting],.cartrevival-dot[data-cartrevival-connection=polling]{background:#d97706}.cartrevival-dot[data-cartrevival-connection=offline]{background:#9ca3af}.cartrevival-muted{color:var(--crl-muted);font-size:12px}.cartrevival-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-card{background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-card.is-good{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--crl-muted);margin-block-end:6px}.cartrevival-card__value{line-height:1.2;color:var(--crl-text)}.cartrevival-card__hint{font-size:12px;color:var(--crl-muted);margin-block-start:4px}.cartrevival-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.cartrevival-panel{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px 20px}.cartrevival-panel--wide{grid-column:1/-1}.cartrevival-panel--upsell{background:var(--crl-sunk);color:var(--crl-text);border-style:dashed;border-color:var(--crl-line)}.cartrevival-panel--upsell h2,.cartrevival-panel--upsell h3,.cartrevival-panel--upsell p{color:var(--crl-text)}.cartrevival-panel--upsell .cartrevival-muted{color:var(--crl-muted)}.cartrevival-panel h2{margin-block-start:0;font-size:15px}.cartrevival-panel h3{font-size:13px;margin-block-end:6px}.cartrevival-empty{margin-block:16px}.cartrevival-chart{width:100%;height:220px;display:block}.cartrevival-legend{display:flex;gap:18px;align-items:center;font-size:12px;color:#50575e;margin-block-start:8px;flex-wrap:wrap}.cartrevival-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:6px}.cartrevival-funnel{margin:0;padding:0;list-style:none}.cartrevival-funnel li{margin-block-end:14px}.cartrevival-funnel__head{display:flex;justify-content:space-between;align-items:baseline;margin-block-end:4px}.cartrevival-funnel__label{font-weight:600}.cartrevival-funnel__value{font-variant-numeric:tabular-nums}.cartrevival-funnel__bar{background:#f0f0f1;border-radius:4px;height:10px;overflow:hidden}.cartrevival-funnel__bar span{display:block;height:100%;background:linear-gradient(90deg,#2271b1,#0b7a3b);border-radius:4px}.cartrevival-funnel__meta{margin-block-start:4px}.cartrevival-table{width:100%;border-collapse:collapse}.cartrevival-table td{padding:7px 0;border-block-end:1px solid #f0f0f1;vertical-align:middle}.cartrevival-table tr:last-child td{border-block-end:0}.cartrevival-num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.cartrevival-thumbs{display:flex;gap:4px;align-items:center;margin-block-end:4px}.cartrevival-thumb{position:relative;display:inline-flex;width:38px;height:38px;border-radius:5px;overflow:hidden;background:#f0f0f1}.cartrevival-thumb img{width:38px;height:38px;object-fit:cover;display:block}.cartrevival-thumb__qty{position:absolute;inset-block-end:0;inset-inline-end:0;background:rgba(29,35,39,.82);color:#fff;font-size:10px;line-height:1;padding:2px 4px;border-start-start-radius:4px}.cartrevival-thumb--more{align-items:center;justify-content:center;font-size:12px;color:#50575e}.cartrevival-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.7;background:#f0f0f1;color:var(--crl-muted);white-space:nowrap}.cartrevival-pill--shopping{background:#e7f0f7;color:#12537e}.cartrevival-pill--checkout{background:#fcf3d8;color:#8a6116}.cartrevival-pill--abandoned{background:#fbe6e6;color:#a32828}.cartrevival-pill--ordered,.cartrevival-pill--recovered{background:#e3f5e9;color:#0b6b35}.cartrevival-chip{display:inline-block;padding:1px 7px;font-size:11px;background:#e7f0f7;color:#12537e}.cartrevival-chip.is-muted{background:#f0f0f1;color:var(--crl-muted)}.cartrevival-chip.is-bot{background:#fcf3d8;color:#6d4c0a;cursor:help}.cartrevival-flow-hero{margin-block:16px 8px;padding:28px 28px 20px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}.cartrevival-flow-hero h2{margin-block-start:0;font-size:20px}.cartrevival-flow-hero__how{display:flex;gap:24px;margin:12px 0 0;padding:0;counter-reset:cr-how;list-style:none}.cartrevival-flow-hero__how li{counter-increment:cr-how;font-weight:600;color:#2c3338}.cartrevival-flow-hero__how li::before{content:counter(cr-how);display:inline-flex;align-items:center;justify-content:center;inline-size:22px;block-size:22px;margin-inline-end:8px;border-radius:50%;background:#2271b1;color:#fff;font-size:12px}.cartrevival-flow-timeline{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:16px 8px;padding:14px 18px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;overflow-x:auto}.cartrevival-flow-timeline__origin{display:flex;flex-direction:column;justify-content:center;gap:4px;font-weight:600;color:#50575e;white-space:nowrap}.cartrevival-flow-timeline__dot{inline-size:10px;block-size:10px;border-radius:50%;background:#d63638}.cartrevival-flow-timeline__node{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #c3c4c7;border-inline-start:3px solid #2271b1;border-radius:6px;text-decoration:none;color:#2c3338;background:#f6f7f7;min-inline-size:130px}.cartrevival-flow-timeline__node:hover{border-color:#2271b1}.cartrevival-flow-timeline__delay{font-size:12px;font-weight:600;color:#135e96}.cartrevival-flow-timeline__channels{font-size:12px;color:var(--crl-muted)}.cartrevival-flow-presets{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-block:8px 16px}.cartrevival-flow-presets__title{align-self:center;font-weight:600;color:#50575e}.cartrevival-flow-preset{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;max-inline-size:320px;padding:12px 14px;border:1px solid #c3c4c7;border-radius:6px;background:#fff}.cartrevival-flow-preset .button{align-self:flex-start;margin-block-start:4px}.cartrevival-flow-preset.is-active{border-color:#00a32a;box-shadow:0 0 0 1px #00a32a;background:#f0f9f2}.cartrevival-badge-active{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:#00a32a;color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-flow-preset__on{margin-block-start:4px;font-weight:600;color:#007017}.cartrevival-flow-preset__needs{font-size:12px;color:#8a5a00;background:#fcf9e8;border-inline-start:3px solid #dba617;padding:4px 8px}.cartrevival-flow-preset__custom{display:block;font-weight:400;font-size:12px;color:#50575e}.cartrevival-flow-result{margin-block:8px}.cartrevival-flow-result .button-small{margin-inline-start:6px;vertical-align:middle}.cartrevival-rtabs{display:flex;gap:4px;flex-wrap:wrap;margin-block:4px 0;border-block-end:1px solid #c3c4c7}.cartrevival-rtab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-block-end:none;border-start-start-radius:6px;border-start-end-radius:6px;background:0 0;font-size:13px;font-weight:600;color:#2c3338;cursor:pointer}.cartrevival-rtab:hover{color:#135e96}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{background:#fff;border-color:#c3c4c7;position:relative;inset-block-end:-1px}a.cartrevival-rtab{text-decoration:none}a.cartrevival-rtab:focus{box-shadow:none}.cartrevival-rtab:focus-visible{outline:#2271b1 solid 2px;outline-offset:-2px}.cartrevival-rtab__status{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.cartrevival-rtab__status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-rtab__status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-rtab__status.is-setup{background:#fcf3d8;color:#6d4c0a}.cartrevival-rtab__status.is-locked{background:#f0f0f1;color:#50575e}.cartrevival-rpanel{padding-block-start:16px}.cartrevival-channel-head{display:flex;flex-direction:column;gap:4px;margin-block-end:12px}.cartrevival-channel-head__toggle{display:inline-flex;align-items:center;gap:8px;font-size:15px}.cartrevival-savebar{display:flex;gap:8px;align-items:center;margin-block-start:16px}.cartrevival-botline{margin-block:4px 16px;font-size:12px;color:var(--crl-muted)}.cartrevival-botline a{margin-inline-start:6px}.cartrevival-botline__warn{color:#8a4a0b;font-weight:600}.cartrevival-segments{display:inline-flex;gap:6px;margin-block:10px 4px}.cartrevival-segment{display:inline-block;padding:4px 12px;border:1px solid #c3c4c7;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;color:#2c3338;background:#fff}.cartrevival-segment .count{font-weight:400;color:var(--crl-muted)}.cartrevival-segment:hover{border-color:#2271b1;color:#135e96}.cartrevival-segment.is-active{background:#2271b1;border-color:#2271b1;color:#fff}.cartrevival-segment.is-active .count{color:#dceaf5}.cartrevival-pro-badge{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#0b7a3b;color:#fff!important;text-decoration:none;vertical-align:middle;margin-inline-start:6px}.cartrevival-pro-badge:focus,.cartrevival-pro-badge:hover{background:#096330;color:#fff!important}.cartrevival-tags{margin:0 0 20px;padding:0;list-style:none}.cartrevival-tags li{display:flex;align-items:baseline;gap:8px;margin-block-end:6px;flex-wrap:wrap}.cartrevival-tag{font-family:Menlo,Consolas,monospace;font-size:12px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:4px;padding:2px 7px;cursor:pointer}.cartrevival-tag.is-disabled{opacity:.55;cursor:default}.cartrevival-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-block-end:12px}.cartrevival-sequence__step{border:1px solid #dcdcde;border-radius:8px;padding:14px}.cartrevival-sequence__step.is-live{border-color:#b6e0c6;background:#f4fbf6}.cartrevival-sequence__step.is-pro{border-style:dashed;background:#fbfbfc}.cartrevival-sequence__step h3{margin-block-start:0}.cartrevival-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-end:8px}.cartrevival-custom-range[hidden]{display:none}.cartrevival-actions-bar{margin-block-start:16px;padding:14px 18px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-actions-bar form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cartrevival-live-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:18px}.cartrevival-live__status{display:flex;align-items:center;gap:8px;font-size:12px;color:#50575e;margin-block-end:4px}.cartrevival-live__indicator{width:9px;height:9px;border-radius:50%;background:#c3c4c7;flex:none}.cartrevival-live__indicator[data-cartrevival-connection=live]{background:#0b7a3b;box-shadow:0 0 0 0 rgba(11,122,59,.55);animation:2.2s ease-out infinite cartrevival-pulse}.cartrevival-live__indicator[data-cartrevival-connection=connecting]{background:#dba617}.cartrevival-live__indicator[data-cartrevival-connection=polling]{background:#2271b1}.cartrevival-live__indicator[data-cartrevival-connection=offline]{background:#d63638}@keyframes cartrevival-pulse{70%{box-shadow:0 0 0 7px rgba(11,122,59,0)}100%{box-shadow:0 0 0 0 rgba(11,122,59,0)}}@media (prefers-reduced-motion:reduce){.cartrevival-live__indicator[data-cartrevival-connection=live]{animation:none}}.cartrevival-live__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#fff;border:1px solid #dcdcde;border-radius:8px;margin-block-end:8px}.cartrevival-live__filters input[type=search]{min-width:260px}.cartrevival-live__check,.cartrevival-live__minvalue{display:inline-flex;align-items:center;gap:6px;font-size:13px}.cartrevival-live__hint{margin-block:0 14px}.cartrevival-live__list{display:grid;gap:12px}.cartrevival-live__empty{background:#fff;border:1px dashed #dcdcde;border-radius:8px;padding:40px 20px;text-align:center}.cartrevival-live__empty p{margin:0 0 4px}.cartrevival-visitor{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:14px 16px;transition:box-shadow .2s,border-color .2s}.cartrevival-visitor.is-new{border-color:#0b7a3b;box-shadow:0 0 0 3px rgba(11,122,59,.12)}.cartrevival-visitor__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:10px;flex-wrap:wrap}.cartrevival-visitor__who{display:flex;align-items:center;gap:8px;min-width:0}.cartrevival-visitor__flag{font-size:18px;line-height:1}.cartrevival-visitor__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}@media (max-width:960px){.cartrevival-visitor__body{grid-template-columns:minmax(0,1fr)}}.cartrevival-visitor__eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8c8f94;margin-block-end:2px}.cartrevival-visitor__page{margin-block-end:10px;min-width:0}.cartrevival-visitor__page a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__facts{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 14px}.cartrevival-visitor__facts li{margin:0;font-size:12px;min-width:0}.cartrevival-visitor__facts span{display:block;color:#8c8f94}.cartrevival-visitor__facts b{display:block;color:var(--crl-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-visitor__cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-block-end:6px}.cartrevival-visitor__cart-head strong{font-size:15px}.cartrevival-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-block-end:1px solid #f0f0f1}.cartrevival-item:last-child{border-block-end:0}.cartrevival-item img{width:40px;height:40px;object-fit:cover;border-radius:5px;flex:none;background:#f0f0f1}.cartrevival-item__text{display:flex;flex-direction:column;min-width:0;flex:1}.cartrevival-item__name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-item__qty,.cartrevival-item__variation{font-size:11px;color:#8c8f94}.cartrevival-item__total{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.cartrevival-visitor__foot{display:flex;gap:14px;align-items:center;margin-block-start:10px;padding-block-start:10px;border-block-start:1px solid #f0f0f1;flex-wrap:wrap}.cartrevival-journey{margin-block-start:12px;font-size:12px}.cartrevival-journey__list{margin:0;padding:0;list-style:none}.cartrevival-journey__event{display:flex;align-items:center;gap:8px;padding:5px 0;border-inline-start:2px solid #dcdcde;padding-inline-start:12px;margin-inline-start:4px;flex-wrap:wrap}.cartrevival-journey__event.is-add_to_cart{border-inline-start-color:#0b7a3b}.cartrevival-journey__event.is-remove_from_cart{border-inline-start-color:#d63638}.cartrevival-journey__event.is-checkout_start{border-inline-start-color:#dba617}.cartrevival-journey__event.is-ordered,.cartrevival-journey__event.is-recovered{border-inline-start-color:#2271b1}.cartrevival-journey__time{color:#8c8f94;font-variant-numeric:tabular-nums;flex:none}.cartrevival-journey__gap{background:#e4e7eb;color:#50575e;border-radius:999px;padding:0 7px;font-size:11px;flex:none}.cartrevival-journey__body{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.cartrevival-journey__body img{border-radius:3px;flex:none}.cartrevival-pill--browsing{background:#f0f0f1;color:#50575e}.cartrevival-pill--cart{background:#e7f0f7;color:#12537e}.cartrevival-pill--converted{background:#e3f5e9;color:#0b6b35}.cartrevival-live__pro{margin-block-start:18px}.cartrevival-live__toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--crl-line);border-radius:999px;background:var(--crl-panel);color:var(--crl-text);font-size:13px;line-height:1.4;cursor:pointer;user-select:none}.cartrevival-live__toggle:hover{border-color:var(--crl-accent)}.cartrevival-live__toggle input{margin:0}.cartrevival-live__toggle:focus-within{outline:2px solid var(--crl-accent);outline-offset:1px}@media (prefers-color-scheme:dark){.cartrevival-live .cartrevival-chip,.cartrevival-live .cartrevival-pill--cart,.cartrevival-live .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live .cartrevival-pill--converted,.cartrevival-live .cartrevival-pill--ordered,.cartrevival-live .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}}.cartrevival-live.is-dark .cartrevival-chip,.cartrevival-live.is-dark .cartrevival-pill--cart,.cartrevival-live.is-dark .cartrevival-pill--shopping{background:rgba(96,165,250,.16);color:#a8cbfd}.cartrevival-live.is-dark .cartrevival-pill--converted,.cartrevival-live.is-dark .cartrevival-pill--ordered,.cartrevival-live.is-dark .cartrevival-pill--recovered{background:rgba(52,211,153,.16);color:#6ee7b7}.cartrevival-live.is-dark .cartrevival-pill--abandoned{background:rgba(248,113,113,.16);color:#fca5a5}.cartrevival-live.is-dark .cartrevival-pill--idle{background:rgba(255,255,255,.08);color:#c3c9d1}.cartrevival-step{border:1px solid var(--crl-line);border-radius:8px;padding:4px 18px 14px;margin-block-end:18px;background:var(--crl-panel)}.cartrevival-step h3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cartrevival-inline-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400}.cartrevival-stats{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 4px;font-size:12px;color:var(--crl-muted)}.cartrevival-stats strong{color:var(--crl-text)}.cartrevival-preview__bar{display:flex;align-items:center;gap:8px;margin-block-end:10px}.cartrevival-preview__bar .button.is-active{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent)}.cartrevival-preview__frame{border:1px solid var(--crl-line);border-radius:8px;overflow:hidden;background:#fff;transition:max-width .2s}.cartrevival-preview__frame.is-desktop{max-width:100%}.cartrevival-preview__frame.is-mobile{max-width:390px}.cartrevival-preview__frame iframe{width:100%;height:520px;border:0;display:block}.cartrevival-country-picker{min-width:320px;max-width:100%}.cartrevival-locked{border:1px dashed var(--crl-line);border-radius:8px;background:var(--crl-sunk);padding:10px 14px;max-width:640px}.cartrevival-locked__title{margin:0 0 4px;font-weight:600;color:var(--crl-muted)}.cartrevival-locked__icon{margin-inline-end:6px;opacity:.7}.cartrevival-locked__body{margin:0;color:var(--crl-muted);font-size:13px}.cartrevival-tabs .nav-tab.cartrevival-tab--accent{color:var(--crl-accent-strong);font-weight:600}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){background:var(--crl-accent-soft);border-color:var(--crl-accent-soft)}.cartrevival-tabs .nav-tab.cartrevival-tab--accent:focus,.cartrevival-tabs .nav-tab.cartrevival-tab--accent:hover{color:var(--crl-accent-strong);text-decoration:underline}.cartrevival-upgrade{max-width:900px;margin-block-start:20px}.cartrevival-upgrade__intro h2{margin-block-start:0;font-size:20px;line-height:1.35}.cartrevival-upgrade__intro p{max-width:68ch;color:var(--crl-muted)}.cartrevival-upgrade__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-block:20px}.cartrevival-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-block:20px}.cartrevival-price-card{position:relative;border:1px solid var(--crl-line);border-radius:var(--crl-radius);background:var(--crl-panel);box-shadow:var(--crl-shadow);padding:20px}.cartrevival-price-card--best{border-color:var(--crl-accent);box-shadow:0 0 0 1px var(--crl-accent),var(--crl-shadow)}.cartrevival-price-card__flag{position:absolute;inset-block-start:-10px;inset-inline-start:20px;margin:0;padding:2px 10px;border-radius:999px;background:var(--crl-accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cartrevival-price-card__name{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--crl-muted);text-transform:uppercase;letter-spacing:.04em}.cartrevival-price-card__figure{margin:0 0 6px;display:flex;align-items:baseline;gap:6px}.cartrevival-price-card__amount{font-size:34px;font-weight:700;line-height:1;color:var(--crl-text);direction:ltr;unicode-bidi:isolate}.cartrevival-price-card__period{color:var(--crl-muted);font-size:13px}.cartrevival-price-card__note{margin:0;color:var(--crl-muted);font-size:12px}.cartrevival-price-card__cta{margin:14px 0 0}.cartrevival-compare{margin-block-end:16px}.cartrevival-compare th[scope=row]{font-weight:400;text-align:start}.cartrevival-compare__cell{text-align:center;width:22%}.cartrevival-compare__cell--pro{background:var(--crl-accent-soft)}.cartrevival-yes{color:#065f46;font-weight:700}.cartrevival-no{color:var(--crl-muted)}.cartrevival-conn-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-inline-end:8px}.cartrevival-conn-status.is-on{background:#e3f5e9;color:#0b6b35}.cartrevival-conn-status.is-off{background:#f0f0f1;color:#50575e}.cartrevival-meter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;background:#fff;border:1px solid #dcdcde;border-inline-start:4px solid #2271b1;border-radius:6px}.cartrevival-meter--register{border-inline-start-color:#996800}.cartrevival-meter--lost{border-inline-start-color:#b32d2e;background:#fcf0f1}.cartrevival-meter__body,.cartrevival-meter__head{flex:1 1 auto;min-width:240px}.cartrevival-meter__count{margin-inline-start:10px;font-variant-numeric:tabular-nums}.cartrevival-meter__foot{flex-basis:100%;margin-top:6px;font-size:12px}.cartrevival-meter__foot a{text-decoration:none}.cartrevival-meter__cta{flex:0 0 auto}.cartrevival-meter__bar{margin-top:8px;height:8px;background:#f0f0f1;border-radius:4px;overflow:hidden;max-width:420px}.cartrevival-meter__bar>span{display:block;height:100%;background:#2271b1;border-radius:4px}.cartrevival-pill--tier{background:#f0f6fc;color:#0a4b78}.cartrevival-badge--limit{display:inline-block;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:600;color:#b32d2e;background:#fcf0f1;border:1px solid #f0c3c4;border-radius:3px}.cartrevival-visitors__total{font-size:22px;font-weight:700;margin-inline-start:8px;font-variant-numeric:tabular-nums}.cartrevival-visitors__grid{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:end}.cartrevival-visitors__grid>*{min-width:0}.cartrevival-visitors__countries{overflow-wrap:anywhere}@media (max-width:782px){.cartrevival-visitors__grid{grid-template-columns:1fr}}.cartrevival-visitors__chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:8px 0;border-bottom:1px solid #dcdcde}.cartrevival-vbar{flex:1 1 auto;min-width:3px;background:#2271b1;border-radius:2px 2px 0 0;opacity:.85}.cartrevival-vbar:hover{opacity:1}.cartrevival-visitors__countries h3{margin:0 0 8px;font-size:13px}.cartrevival-mailstate{margin:10px 0 4px;font-size:13px}.cartrevival-mailstate.is-ok{color:#0b7a3b}.cartrevival-mailstate.is-bad{color:#b32d2e;font-weight:600}.cartrevival-recovery-cell{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cartrevival-chanicons{display:inline-flex;gap:4px}.cartrevival-chanicon{display:inline-flex;align-items:center;gap:2px;color:var(--crl-accent)}.cartrevival-chanicon--failed{color:#b32d2e}.cartrevival-chanicon__n{font-size:11px;font-weight:600}.cartrevival-msend-group{display:inline-flex;gap:2px;border-inline-start:1px solid var(--crl-line);padding-inline-start:8px}.cartrevival-msend{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:26px;height:24px;padding:0 4px;border-radius:5px;color:var(--crl-accent);cursor:pointer}.cartrevival-msend:hover:not( :disabled ){background:var(--crl-soft,#e7f4ec)}.cartrevival-msend:disabled{color:#a7aaad;cursor:default}.cartrevival-timeline-toggle{font-size:12px}.cartrevival-msend-toast{display:inline-block;margin-inline-start:6px;font-size:12px;color:var(--crl-accent)}.cartrevival-msend-toast--error{color:#b32d2e}.cartrevival-msend-pop{position:absolute;z-index:100;inset-block-start:100%;inset-inline-start:0;min-width:260px;max-width:340px;background:#fff;border:1px solid var(--crl-line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:12px}.cartrevival-msend-pop__body>*{display:block}.cartrevival-msend-pop__subject{font-weight:600;margin-top:4px}.cartrevival-msend-pop__snippet{color:var(--crl-muted);font-size:12px;margin-top:2px}.cartrevival-msend-pop__warning{color:#996800;font-size:12px;margin-top:6px}.cartrevival-msend-pop__actions{margin-top:10px}.cartrevival-timeline-tr>td{background:var(--crl-panel-2,#f6f7f7)}.cartrevival-timeline-wrap{padding:4px 8px}.cartrevival-timeline{margin:0;padding:0;list-style:none}.cartrevival-timeline__item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--crl-line);margin:0}.cartrevival-timeline__item:last-child{border-bottom:0}.cartrevival-timeline__icon{flex:none;display:inline-flex;margin-top:2px;color:var(--crl-accent)}.cartrevival-timeline__item--failed .cartrevival-timeline__icon{color:#b32d2e}.cartrevival-timeline__item--skipped .cartrevival-timeline__icon,.cartrevival-timeline__item--upcoming .cartrevival-timeline__icon{color:#a7aaad}.cartrevival-timeline__item--upcoming{color:var(--crl-muted)}.cartrevival-timeline__body{display:block}.cartrevival-timeline__time{display:block;font-size:11.5px;color:var(--crl-muted)}.cartrevival-timeline__reason{display:block;font-size:12px;color:#b32d2e}.cartrevival-timeline__badge{display:inline-block;padding:0 6px;border-radius:99px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cartrevival-timeline__badge--sent{background:var(--crl-soft,#e7f4ec);color:var(--crl-accent)}.cartrevival-timeline__badge--failed{background:#fcf0f1;color:#b32d2e}.cartrevival-timeline__badge--skipped{background:#f0f0f1;color:#646970}.cartrevival-wa-vars{margin:12px 0 4px;padding:0;border:0}.cartrevival-wa-vars legend{font-weight:600;padding:0 0 4px}.cartrevival-wa-var-table{margin:8px 0;max-width:780px}.cartrevival-wa-var-table th[scope=row]{width:34%;font-weight:600;vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table td{vertical-align:top;padding:10px 12px}.cartrevival-wa-var-table code{word-break:break-all}.cartrevival-wa-sample code{background:#f0f6fc;display:inline-block;max-width:100%}.cartrevival-wa-bubble{max-width:420px;background:#e7ffdb;border-radius:10px;padding:10px 12px;margin:8px 0;color:#111;line-height:1.5}.cartrevival-wa-bubble-header{font-weight:700;margin-bottom:6px}.cartrevival-wa-bubble-body{white-space:pre-wrap}.cartrevival-wa-bubble-footer{margin-top:8px;font-size:12px;opacity:.6}.cartrevival-wa-bubble-button{margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);text-align:center}.cartrevival-wa-bubble-button-text{display:block;color:#0a7cff;font-weight:600}.cartrevival-wa-bubble-url{display:block;font-size:11px;word-break:break-all;margin-top:4px}.cartrevival-wa-problems{margin:8px 0 0;padding-inline-start:18px;list-style:disc}.cartrevival-wa-test-form{margin:8px 0}.cartrevival-wa-test-label{display:block;font-weight:600;margin-bottom:8px}.cartrevival-wa-test-label input{display:block;margin-top:4px;direction:ltr;text-align:start}.cartrevival-wa-test-to{font-weight:700;direction:ltr;text-align:start;unicode-bidi:isolate}.cartrevival-wa-payload{max-height:260px;overflow:auto;background:#f6f7f7;padding:10px;font-size:11px;direction:ltr;text-align:start}.cartrevival-wa-health ul{margin:0 0 8px;padding-inline-start:18px;list-style:disc}.cartrevival .cartrevival-panel>table.widefat,.cartrevival table.widefat.striped{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cartrevival .cartrevival-panel>table.widefat>tbody,.cartrevival .cartrevival-panel>table.widefat>thead,.cartrevival table.widefat.striped>tbody,.cartrevival table.widefat.striped>thead{display:table;width:100%;table-layout:auto}.cartrevival-arm{padding:20px 22px;border-inline-start-width:4px;margin-block:16px}.cartrevival-arm__title{margin:0 0 8px;font-size:17px;line-height:1.35}.cartrevival-arm__body{margin:0 0 10px;max-width:68ch;font-size:14px}.cartrevival-arm__waiting{margin:0 0 14px;font-size:14px}.cartrevival-arm__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px}.cartrevival-arm__actions form{display:inline-flex;margin:0}.cartrevival-arm__note{margin:0}.cartrevival-livestrip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;box-sizing:border-box;max-width:100%;padding:14px 20px;margin-block:16px;background:#fff;border:1px solid #dcdcde;border-radius:8px}.cartrevival-livestrip__cell{display:flex;flex-direction:column;gap:2px;min-width:0}.cartrevival-livestrip__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#646970}.cartrevival-livestrip__value{font-size:20px;font-weight:600;line-height:1.2;color:#1d2327}.cartrevival-livestrip__more{margin-inline-start:auto;font-size:13px;font-weight:600}@media screen and (max-width:782px){.cartrevival-livestrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:14px 16px}.cartrevival-livestrip__cell{min-width:0}.cartrevival-livestrip__value{font-size:18px;overflow-wrap:anywhere}.cartrevival-livestrip__more{margin-inline-start:0;grid-column:1/-1}}.cartrevival-guide{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow);padding:18px 22px;margin-block:16px;max-width:960px}.cartrevival-guide__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.cartrevival-guide__head h2{margin:0 0 4px;font-size:18px}.cartrevival-guide__progress{display:flex;align-items:center;gap:10px;font-size:13px}.cartrevival-guide__progress progress{width:120px;height:8px;accent-color:var(--crl-good)}.cartrevival-guide__hide{color:var(--crl-muted)}.cartrevival-guide__steps{list-style:none;margin:16px 0 0;padding:0}.cartrevival-guide__step{display:flex;gap:14px;padding-block:14px;border-block-start:1px solid var(--crl-line);margin:0}.cartrevival-guide__mark{flex:0 0 28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-guide__step.is-done .cartrevival-guide__mark{background:var(--crl-good);color:#fff}.cartrevival-guide__body{flex:1 1 auto;min-width:0}.cartrevival-guide__body h3{margin:3px 0 6px;font-size:15px}.cartrevival-guide__body p{margin:0 0 8px}.cartrevival-guide__step.is-done .cartrevival-guide__body>p:not( .cartrevival-guide__ok ){color:var(--crl-muted)}.cartrevival-guide__optional{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--crl-sunk);color:var(--crl-muted);margin-inline-start:6px;vertical-align:middle}.cartrevival-guide__actions,.cartrevival-guide__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block:8px}.cartrevival-guide__row form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cartrevival-guide__ok{color:var(--crl-good);font-weight:500}.cartrevival-guide__mini{margin:0 0 8px;padding-inline-start:20px}.cartrevival-guide-reopen{margin-block:8px 0;text-align:end}.cartrevival-essentials{background:var(--crl-panel);border:1px solid var(--crl-line);border-radius:var(--crl-radius);padding:6px 22px 10px;margin-block:16px;max-width:960px}.cartrevival-essentials>h2{margin-block:14px 2px}.cartrevival-essentials__status{margin:0 0 6px}.cartrevival-essentials__status li{margin-block-end:4px}.cartrevival-advanced{margin-block:8px 16px}.cartrevival-advanced__heading{margin:0}.cartrevival-advanced__toggle{display:inline-flex;align-items:center;gap:8px;background:0 0;border:0;padding:6px 0;font:inherit;font-size:15px;font-weight:600;color:var(--crl-text);cursor:pointer}.cartrevival-advanced__toggle:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-advanced__chev{width:8px;height:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.cartrevival-advanced.is-open .cartrevival-advanced__chev,.rtl .cartrevival-advanced__chev,[dir=rtl] .cartrevival-advanced__chev{transform:rotate(45deg)}.rtl .cartrevival-advanced.is-open .cartrevival-advanced__chev{transform:rotate(-45deg)}.cartrevival-advanced__hint{margin:0 0 8px}.cartrevival-advanced.is-open .cartrevival-advanced__hint,.js .cartrevival-advanced:not( .is-open ) .cartrevival-advanced__body,.js .cartrevival-rcard:not( .is-open ) .cartrevival-rcard__body{display:none}.cartrevival-rcard{padding:12px 18px}.cartrevival-rcard__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.cartrevival-rcard .cartrevival-rcard__title{margin:0;font-size:14px;display:block}.cartrevival-rcard__when{font-weight:500}.cartrevival-rcard__chan{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--crl-accent-soft);color:var(--crl-accent)}.cartrevival-rcard__subject{flex:1 1 220px;min-width:0;color:var(--crl-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartrevival-rcard.is-off .cartrevival-rcard__subject,.cartrevival-rcard.is-off .cartrevival-rcard__when{opacity:.55}.cartrevival-rcard.is-open .cartrevival-rcard__body{margin-block-start:12px;border-block-start:1px solid var(--crl-line)}.cartrevival-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cartrevival-switch input{position:absolute;opacity:0;inset-inline-start:0;width:34px;height:20px;margin:0;cursor:pointer}.cartrevival-switch__track{width:34px;height:20px;border-radius:999px;background:#c3c9d1;position:relative;transition:background-color .15s}.cartrevival-switch__track::after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}.cartrevival-switch input:checked+.cartrevival-switch__track{background:var(--crl-good);background:var(--crl-accent)}.cartrevival-switch input:checked+.cartrevival-switch__track::after{inset-inline-start:16px}.cartrevival-switch input:focus-visible+.cartrevival-switch__track{outline:2px solid var(--crl-accent);outline-offset:2px}.cartrevival-badge-recommended{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--crl-good);color:#fff;margin-inline-start:4px;vertical-align:middle}.cartrevival-chov__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0 0}.cartrevival-chov__item{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 12px;border:1px solid var(--crl-line);border-radius:10px;background:var(--crl-sunk)}.cartrevival-chov__badge{align-self:flex-start;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e7e9ec;color:#3c434a}.cartrevival-chov__badge.is-ready{background:rgba(4,120,87,.12);color:#03684b}.cartrevival-chov__badge.is-setup{background:rgba(180,83,9,.12);color:#8a3f06}.cartrevival-chov__help,.cartrevival-chov__test{font-size:12px}.cartrevival-rcard__test{margin-inline-start:auto}.cartrevival-rcard .cartrevival-rcard__body>.cartrevival-stats{margin:10px 0 0}.cartrevival-optin__what{margin:8px 0 12px;padding:10px 14px;border-radius:8px;background:var(--crl-sunk,#f6f7f7)}.cartrevival-optin__what summary{cursor:pointer;font-weight:600}.cartrevival-optin__what ul{margin:8px 0;margin-inline-start:1.2em;list-style:disc}.cartrevival-optin__what li{margin:2px 0}.cartrevival-optin__email label{margin-inline-end:6px}.cartrevival-optin__choices{display:flex;flex-wrap:wrap;gap:8px}.cartrevival-optin__error{color:#b32d2e;font-weight:600}.cartrevival-support h2{margin-block-start:0}.cartrevival-support h2 span{color:#d63638}.cartrevival-support__list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none}.cartrevival-support__list li{margin:0}.cartrevival-support__hide{font-size:12px}.cartrevival-win details summary{cursor:pointer;color:#2271b1;margin-block-end:4px}.cartrevival-guide__eyebrow,.cartrevival-journey__eyebrow{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0b7a3b}.cartrevival-guide__what{margin:4px 0 8px;padding-inline-start:18px;list-style:disc;color:#3c434a}.cartrevival-guide__what li{margin:0 0 2px}.cartrevival-journey{margin:16px 0;padding:18px 20px;background:#fff;border:1px solid #dcdcde;border-radius:10px}.cartrevival-journey h2{margin:0 0 8px;font-size:17px}.cartrevival-journey__steps{margin:0 0 12px;padding-inline-start:20px}.cartrevival-journey__cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;background:#f6f7f7;border-radius:8px}.cartrevival-journey__actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}.cartrevival-journey__hero{padding:4px 0 8px}.cartrevival-journey__amount{margin:0;font-size:34px;font-weight:700;line-height:1.2;color:#0b7a3b}.cartrevival-journey__sub{margin:4px 0;font-size:14px}.cartrevival-journey__suggest{margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid #f0f0f1}.cartrevival-journey__suggest h3{margin:0 0 8px;font-size:14px}.cartrevival-journey__suggest ul{margin:0}.cartrevival-journey__tip{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 8px}.cartrevival-journey__tip span{color:#50575e}.cartrevival-empty-state{max-width:760px}.cartrevival-empty-state h2{margin-block-start:0}.cartrevival-upgrade__how{max-width:760px;padding-inline-start:20px}.cartrevival-upgrade__how li{margin:0 0 6px}.cartrevival-pro-checklist{margin:16px 0}.cartrevival-pro-checklist__items{margin:0}.cartrevival-pro-checklist__items li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 10px}.cartrevival-chov__badge.is-off{background:#e7e9ec;color:#3c434a}.cartrevival{--crl-accent-strong:#1e40af;--crl-accent:#0b7a3b;--crl-accent-strong:#085c2c;--crl-accent-soft:rgba( 11, 122, 59, 0.1 );--crl-accent-glow:rgba( 34, 197, 94, 0.22 );--crl-line:#e3e7ec;--crl-sunk:#f5f7f9;--crl-shadow:0 1px 2px rgba( 16, 24, 40, 0.04 ),0 6px 20px -8px rgba( 16, 24, 40, 0.12 );--crl-shadow-hover:0 2px 4px rgba( 16, 24, 40, 0.05 ),0 16px 32px -14px rgba( 16, 24, 40, 0.2 );--crl-radius:14px;--crl-ease:cubic-bezier( 0.22, 1, 0.36, 1 )}.cartrevival>h1.wp-heading-inline{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cartrevival-brand{display:flex;align-items:center;gap:10px;margin-block:14px 10px;direction:ltr}.rtl .cartrevival-brand{justify-content:flex-end}.cartrevival-brand__mark{width:30px;height:30px;border-radius:9px;position:relative;background:conic-gradient(from 200deg,#4ade80,#0b7a3b 40%,#0e3b23 70%,#4ade80);box-shadow:0 0 0 3px var(--crl-accent-glow),0 4px 10px -2px rgba(11,122,59,.5)}.cartrevival-brand__mark::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.cartrevival-brand__name{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--crl-text);line-height:1}.cartrevival-brand__name b{color:var(--crl-accent);font-weight:800}.cartrevival-brand__chip{font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--crl-sunk);border:1px solid var(--crl-line);color:var(--crl-muted);line-height:1.4}.cartrevival-brand__chip--pro{background:var(--crl-text);border-color:var(--crl-text);color:#fff;letter-spacing:.08em}.cartrevival .cartrevival-tabs.nav-tab-wrapper{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--crl-line);border-radius:999px;background:#fff;box-shadow:var(--crl-shadow);margin-block-end:22px}.cartrevival .cartrevival-tabs .nav-tab{margin:0;border:0;background:0 0;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;color:var(--crl-muted);float:none}.cartrevival .cartrevival-tabs .nav-tab:hover{background:var(--crl-sunk);color:var(--crl-text)}.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active,.cartrevival .cartrevival-tabs .nav-tab.nav-tab-active:hover{background:var(--crl-accent);color:#fff;box-shadow:0 6px 14px -8px rgba(11,122,59,.8)}.cartrevival .cartrevival-tabs .nav-tab.cartrevival-tab--accent:not( .nav-tab-active ){color:var(--crl-accent)}.cartrevival .cartrevival-tabs .nav-tab:focus-visible{outline:2px solid var(--crl-accent);outline-offset:2px;box-shadow:none}.cartrevival-rtab{border-radius:10px 10px 0 0;transition:color .2s,background .2s}.cartrevival-rtab.is-active,.cartrevival-rtab[aria-selected=true]{border-block-end-color:var(--crl-accent);color:var(--crl-accent-strong)}.cartrevival-card,.cartrevival-flow-preset,.cartrevival-panel,.cartrevival-rcard{border-color:var(--crl-line);border-radius:var(--crl-radius);box-shadow:var(--crl-shadow)}.cartrevival-card:hover,.cartrevival-flow-preset:hover{box-shadow:var(--crl-shadow-hover);transform:translateY(-2px);border-color:#cfe3d6}.cartrevival-card{position:relative;overflow:hidden;padding:18px 20px}.cartrevival-card::before{content:"";position:absolute;inset-inline-start:0;inset-block:0;width:4px;background:linear-gradient(180deg,#cbd5e1,#e2e8f0)}.cartrevival-card.is-good::before{background:linear-gradient(180deg,#4ade80,var(--crl-accent))}.cartrevival-card.is-good{background:linear-gradient(180deg,#f4fbf6,#fff)}.cartrevival-card__value{font-size:30px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.cartrevival-panel h2,.cartrevival-panel h3{letter-spacing:-.01em}.cartrevival-panel--upsell{background:radial-gradient(600px 240px at 90% 0,rgba(34,197,94,.28),transparent 60%),linear-gradient(160deg,#0b1f14,#06140d);border-color:#123623;color:#fff}.cartrevival .button-primary,.cartrevival .button.button-primary{background:linear-gradient(180deg,#119a4b,var(--crl-accent));border-color:var(--crl-accent-strong);color:#fff;border-radius:9px;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 14px -8px rgba(11,122,59,.8);text-shadow:none}.cartrevival .button-primary:focus,.cartrevival .button-primary:hover{background:linear-gradient(180deg,#0f8a43,var(--crl-accent-strong));border-color:var(--crl-accent-strong);color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(11,122,59,.9)}.cartrevival .button-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--crl-accent)}.cartrevival .button:not( .button-primary ):not( .button-link ){border-radius:9px;border-color:var(--crl-line);color:var(--crl-text);background:#fff}.cartrevival .button:not( .button-primary ):not( .button-link ):hover{border-color:var(--crl-accent);color:var(--crl-accent);box-shadow:var(--crl-shadow)}.cartrevival a:not( .button ):not( .nav-tab ){color:var(--crl-accent)}.cartrevival a:not( .button ):not( .nav-tab ):hover{color:var(--crl-accent-strong)}.cartrevival-chip{border-radius:999px}.cartrevival .cartrevival-notice,.cartrevival .notice{border-radius:12px;border-inline-start-width:4px;box-shadow:var(--crl-shadow);border-block:1px solid var(--crl-line);border-inline-end:1px solid var(--crl-line)}.cartrevival .cartrevival-table,.cartrevival .wp-list-table{border-radius:var(--crl-radius);overflow:hidden;border-color:var(--crl-line);box-shadow:var(--crl-shadow)}.cartrevival .wp-list-table thead th{background:var(--crl-sunk);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--crl-muted)}.cartrevival .wp-list-table tbody tr{transition:background .15s}.cartrevival .wp-list-table tbody tr:hover{background:#fafcfb}@keyframes cartrevival-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cartrevival .cartrevival-card,.cartrevival .cartrevival-panel,.cartrevival .cartrevival-rcard{animation:cartrevival-rise .5s var(--crl-ease) both}.cartrevival .cartrevival-cards>:nth-child(2),.cartrevival .cartrevival-grid>:nth-child(2){animation-delay:50ms}.cartrevival .cartrevival-cards>:nth-child(3),.cartrevival .cartrevival-grid>:nth-child(3){animation-delay:.1s}.cartrevival .cartrevival-cards>:nth-child(4),.cartrevival .cartrevival-grid>:nth-child(4){animation-delay:.15s}.cartrevival .cartrevival-cards>:nth-child(5){animation-delay:.2s}.cartrevival-live .cartrevival-card,.cartrevival-live .cartrevival-panel{animation:none;box-shadow:none;transform:none}@media (max-width:782px){.cartrevival .cartrevival-tabs.nav-tab-wrapper{display:flex;border-radius:16px}.cartrevival .cartrevival-tabs .nav-tab{flex:1 1 auto;text-align:center}.cartrevival-brand__name{font-size:19px}}@media (prefers-reduced-motion:reduce){.cartrevival *,.cartrevival ::after,.cartrevival ::before{animation-duration:0s!important;transition-duration:0s!important}}
  • cartrevival/trunk/cartrevival.php

    r3727923 r3729385  
    44 * Plugin URI:        https://cartrevival.com/
    55 * Description:       Abandoned cart recovery for WooCommerce with a real-time live visitor and cart monitor, exit intent and early capture popups, a three-step email series, and WhatsApp reminders through your own 6rsh account.
    6  * Version:           2.19.0
     6 * Version:           2.20.0
    77 * Requires at least: 6.2
    88 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'CARTREVIVAL_VERSION', '2.19.0' );
     22define( 'CARTREVIVAL_VERSION', '2.20.0' );
    2323define( 'CARTREVIVAL_FILE', __FILE__ );
    2424define( 'CARTREVIVAL_PATH', plugin_dir_path( __FILE__ ) );
  • cartrevival/trunk/includes/admin/class-admin.php

    r3727923 r3729385  
    22832283                $current = self::primary_for( $current );
    22842284
     2285                // Brand bar: one consistent header on every CartRevival screen so a
     2286                // merchant always knows where they are and which edition is running.
     2287                // The page's own <h1> stays in the DOM for assistive tech; CSS hides it
     2288                // visually because this bar carries the same name.
     2289                $pro_live = class_exists( '\CartRevival\Pro\Grant' ) && \CartRevival\Pro\Grant::allows_send();
     2290                echo '<div class="cartrevival-brand" aria-hidden="true">';
     2291                echo '<span class="cartrevival-brand__mark"></span>';
     2292                echo '<span class="cartrevival-brand__name">Cart<b>Revival</b></span>';
     2293                echo '<span class="cartrevival-brand__chip">v' . esc_html( CARTREVIVAL_VERSION ) . '</span>';
     2294                if ( $pro_live ) {
     2295                        echo '<span class="cartrevival-brand__chip cartrevival-brand__chip--pro">PRO</span>';
     2296                }
     2297                echo '</div>';
     2298
    22852299                echo '<nav class="nav-tab-wrapper cartrevival-tabs">';
    22862300
  • cartrevival/trunk/languages/cartrevival.pot

    r3727923 r3729385  
    88"Content-Type: text/plain; charset=UTF-8\n"
    99"Content-Transfer-Encoding: 8bit\n"
    10 "POT-Creation-Date: 2026-10-04T23:45:22+00:00\n"
     10"POT-Creation-Date: 2026-10-05T17:34:18+00:00\n"
    1111"X-Domain: cartrevival\n"
    1212
    1313#. translators: %d: number of carts.
    14 #: includes/admin/class-admin.php:2503
     14#: includes/admin/class-admin.php:2517
    1515msgid "%d bot cart removed."
    1616msgid_plural "%d bot carts removed."
    … …  
    2525
    2626#. translators: %d: number of carts.
    27 #: includes/admin/class-admin.php:2518
     27#: includes/admin/class-admin.php:2532
    2828msgid "%d cart deleted. Any reminder still queued for it has been cancelled."
    2929msgid_plural "%d carts deleted. Any reminders still queued for them have been cancelled."
    … …  
    122122msgstr[1] ""
    123123
    124 #: includes/admin/class-admin.php:2335
     124#: includes/admin/class-admin.php:2349
    125125msgid "The last %d attempt failed."
    126126msgid_plural "The last %d attempts failed."
    … …  
    204204
    205205#. translators: 1: the unknown merge tag, 2: the suggested replacement.
    206 #: includes/admin/class-admin.php:2452
     206#: includes/admin/class-admin.php:2466
    207207msgid "%1$s — did you mean %2$s?"
    208208msgstr ""
    … …  
    674674msgstr ""
    675675
    676 #: includes/admin/class-admin.php:2391
     676#: includes/admin/class-admin.php:2405
    677677msgid "An update is waiting, but this server will not let WordPress install it."
    678678msgstr ""
    … …  
    962962msgstr ""
    963963
    964 #: includes/admin/class-admin.php:2331
     964#: includes/admin/class-admin.php:2345
    965965msgid "CartRevival cannot send recovery emails from this site."
    966966msgstr ""
    … …  
    10221022msgstr ""
    10231023
    1024 #: includes/admin/class-admin.php:2339
     1024#: includes/admin/class-admin.php:2353
    10251025msgid "Carts are still being captured and nothing is lost, but no reminder is reaching anyone until mail works."
    10261026msgstr ""
    … …  
    12571257msgstr ""
    12581258
    1259 #: includes/admin/class-admin.php:2491
     1259#: includes/admin/class-admin.php:2505
    12601260msgid "Country corrected. This cart will now be dialled in the country you chose, and nothing inferred can override it."
    12611261msgstr ""
    … …  
    14121412msgstr ""
    14131413
    1414 #: includes/admin/class-admin.php:2403
     1414#: includes/admin/class-admin.php:2417
    14151415msgid "Dismiss until the next release"
    14161416msgstr ""
    … …  
    23932393msgstr ""
    23942394
    2395 #: includes/admin/class-admin.php:2506
     2395#: includes/admin/class-admin.php:2520
    23962396msgid "No bot carts found. Nothing was deleted."
    23972397msgstr ""
    … …  
    24092409msgstr ""
    24102410
    2411 #: includes/admin/class-admin.php:2488
     2411#: includes/admin/class-admin.php:2502
    24122412msgid "No carts were selected."
    24132413msgstr ""
    … …  
    29682968
    29692969#: includes/class-frontend.php:186
    2970 #: includes/admin/class-admin.php:2487
     2970#: includes/admin/class-admin.php:2501
    29712971#: includes/class-rest.php:495
    29722972msgid "Please enter a valid email address."
    … …  
    31733173msgstr ""
    31743174
    3175 #: includes/admin/class-admin.php:2490
     3175#: includes/admin/class-admin.php:2504
    31763176msgid "Recovery is live. Carts abandoned from now on will get the sequence you can see under Campaigns."
    31773177msgstr ""
    … …  
    33773377msgstr ""
    33783378
    3379 #: includes/admin/class-admin.php:2461
     3379#: includes/admin/class-admin.php:2475
    33803380msgid "Saved — but these merge tags do not exist, so they will be removed from the message rather than replaced:"
    33813381msgstr ""
    … …  
    34133413msgstr ""
    34143414
    3415 #: includes/admin/class-admin.php:2401
     3415#: includes/admin/class-admin.php:2415
    34163416msgid "See the details on the Tools screen"
    34173417msgstr ""
    … …  
    35883588msgstr ""
    35893589
    3590 #: includes/admin/class-admin.php:2484
     3590#: includes/admin/class-admin.php:2498
    35913591msgid "Settings saved."
    35923592msgstr ""
    … …  
    39103910msgstr ""
    39113911
    3912 #: includes/admin/class-admin.php:2485
     3912#: includes/admin/class-admin.php:2499
    39133913msgid "Test email sent."
    39143914msgstr ""
    … …  
    39403940msgstr ""
    39413941
    3942 #: includes/admin/class-admin.php:2492
     3942#: includes/admin/class-admin.php:2506
    39433943msgid "That country could not be applied to this cart. Use a two-letter country code CartRevival has a dial code for."
    39443944msgstr ""
    39453945
    3946 #: includes/admin/class-admin.php:2489
     3946#: includes/admin/class-admin.php:2503
    39473947msgid "That flow does not exist."
    39483948msgstr ""
    … …  
    46284628msgstr ""
    46294629
    4630 #: includes/admin/class-admin.php:2486
     4630#: includes/admin/class-admin.php:2500
    46314631msgid "WordPress could not send the test email. Check your mail configuration."
    46324632msgstr ""
    … …  
    46364636msgstr ""
    46374637
    4638 #: includes/admin/class-admin.php:2347
     4638#: includes/admin/class-admin.php:2361
    46394639msgid "WordPress has no mail server of its own — it hands mail to the host, and most hosts silently drop it. Installing an SMTP plugin and pointing it at your mail provider fixes this for every email the site sends, not just ours."
    46404640msgstr ""
    … …  
    46664666#: includes/class-telemetry.php:391
    46674667#: includes/class-manual-send.php:743
    4668 #: includes/admin/class-admin.php:2415
     4668#: includes/admin/class-admin.php:2429
    46694669msgid "You are not allowed to do that."
    46704670msgstr ""
  • cartrevival/trunk/readme.txt

    r3727923 r3729385  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 2.19.0
     7Stable tag: 2.20.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    199199== Changelog ==
    200200
     201= 2.20.0 =
     202* **A new look for every CartRevival screen.** A brand header shows the version and edition at a glance, the main navigation is a pill rail, and the whole admin — Dashboard, Carts, Campaigns, Settings, Live, Pro — now uses one visual system in CartRevival's own green: lifted cards with accent bars, bolder KPI tiles, rounded notices, consistent buttons and switches, and gentle entrance motion (off automatically when your system asks for reduced motion). Works in Arabic/RTL unchanged.
     203* **Clearer journey.** The page title and edition badge are always in the same place, the active section is unmistakable, and Pro panels share the look of cartrevival.com so Free and Pro feel like one product.
     204* **cartrevival.com** has a new animated home page covering every feature in Free and Pro.
     205* **Behind the scenes:** the release suite no longer pins the previous version into the update check, and the known-shopper privacy check judges every field except the random nonce (which could legitimately contain six digits in a row).
     206
    201207= 2.19.0 =
    202208* **Campaign presets now tell you what they did.** Activating a preset shows a clear confirmation, marks it "Active", and shows "Custom" once you edit steps by hand. A preset that needs WhatsApp says so if WhatsApp isn't connected, and starts it automatically once it is.
    … …  
    253259== Upgrade Notice ==
    254260
     261= 2.20.0 =
     262A fresh, consistent design across every CartRevival screen (brand header, pill navigation, one green visual system), plus small test-suite fixes. Required for CartRevival Pro 2.20.0.
     263
    255264= 2.19.0 =
    256265Clear preset feedback, a much richer Live monitor, a smoother first-run experience and several fixes (WhatsApp preview, Live "Send now"). Required for CartRevival Pro 2.19.0.
Note: See TracChangeset for help on using the changeset viewer.