*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ac:#0E7C7B;--ac-d:#0A5C5B;--ac-bg:#ccfbf1;--ac-bg-l:#f0fdfa;--ac-border:#99f6e4;
  --ink:#16151c;--mut:#5F5E5A;--line:#e9e7e1;--bg:#f4f3f0;--white:#fff;
  --rad:18px;--rad-md:12px;--rad-sm:8px;--font:'Inter',system-ui,sans-serif;
}
html{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}

/* ── PAGE WRAPPER ── */
.page{background:var(--bg);width:100%;margin:0;}


/* ── HEADER ── */
.hd{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eae7df;padding:15px max(24px,calc((100% - 1100px)/2));position:sticky;top:0;z-index:100}
.hd-l{display:flex;align-items:center;gap:10px}
.hd-logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,#1a1a17,#3a3832);position:relative;flex:0 0 auto;box-shadow:0 4px 12px -3px rgba(26,26,23,.4)}
.hd-logo::before{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:15px;height:3px;background:#fff;border-radius:2px;box-shadow:0 5px 0 rgba(255,255,255,.9),0 10px 0 #fff}
.hd-name{font-weight:700;font-size:18px;color:#16151c;line-height:1}.hd-name span{color:#16151c}
.hd-r{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500}
.hd-r .nl{color:#4a4843;padding:8px 12px;border-radius:8px;transition:background .15s}.hd-r .nl:hover{background:#f4f3f0}
.hd-get{background:#16151c;color:#fff;font-weight:600;padding:9px 18px;border-radius:99px;font-size:14px;transition:background .15s}.hd-get:hover{background:#000}
.mega-w{position:relative}
.mega-t{display:flex;align-items:center;gap:5px;cursor:default;color:#4a4843;padding:8px 12px;border-radius:8px;transition:background .15s}.mega-w:hover .mega-t{background:#f4f3f0}.mega-t .cv{font-size:10px;color:#a7a297}
.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);width:430px;background:#fff;border:1px solid #eae7df;border-radius:16px;padding:10px;box-shadow:0 30px 60px -28px rgba(26,26,23,.4);opacity:0;visibility:hidden;transition:.2s;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mega-w:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.mi{display:flex;gap:10px;padding:10px;border-radius:11px;transition:background .15s}.mi:hover{background:#f6f5f1}
.mi .mic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;color:#fff}
.mi b{font-size:13.5px;font-weight:600;color:#1a1a17;display:block;line-height:1.3}.mi s{text-decoration:none;font-size:11.5px;color:#9b968b}

/* ── CONTENT WRAP ── */
.wrap{padding:18px;display:flex;flex-direction:column;gap:14px}

/* ── CARDS ── */
.card{background:#fff;border:0.5px solid var(--line);border-radius:var(--rad);overflow:hidden}
.card-p{padding:22px}

/* ── TYPE ── */
.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ac);margin-bottom:10px;display:block}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;background:var(--ac-bg);color:#0f766e;width:fit-content;line-height:1.4}
h1.pg-title{font-size:28px;font-weight:700;line-height:1.13;letter-spacing:-.02em;color:var(--ink)}
h2.sec-title{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:var(--ink);margin-bottom:8px}
.lede{font-size:15px;color:#4a4843;line-height:1.65}
.sub{font-size:13.5px;color:var(--mut);line-height:1.6}
.pull-quote{font-size:15px;line-height:1.65;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:4px 0}
.pull-quote span{color:var(--ac);font-weight:500}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1;transition:background .15s,border-color .15s}
.btn:hover{background:var(--bg)}
.btn-p{background:var(--ac);color:#fff;border-color:transparent}.btn-p:hover{background:var(--ac-d)}
.btn-ghost-w{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);font-size:13px;font-weight:600;padding:9px 18px;border-radius:99px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;line-height:1;transition:background .15s}.btn-ghost-w:hover{background:rgba(255,255,255,.1)}

/* ── FEATURE LIST ── */
.fl{list-style:none;display:flex;flex-direction:column;gap:7px}
.fl li{font-size:13px;color:var(--mut);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.fl li i{color:#16a34a;font-size:15px;margin-top:1px;flex-shrink:0}
.fl li em{color:var(--ink);font-style:normal;font-weight:600}

/* ── SURFACE ── */
.surface{background:var(--bg);border-radius:var(--rad-md);padding:14px;display:flex;flex-direction:column;gap:6px}
.surface-ac{background:var(--ac-bg-l);border:1px solid var(--ac-border);border-radius:var(--rad-md);padding:13px}

/* ── TABS ── */
.tabs-bar{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 4px;overflow-x:auto;background:#fff}
.tab{padding:11px 14px;font-size:12.5px;font-weight:600;cursor:pointer;color:#9b968b;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s}
.tab.on{color:var(--ac);border-bottom-color:var(--ac)}
.tab:hover:not(.on){color:var(--ink)}
.pane{display:none;padding:18px}.pane.on{display:block}
.tab-invite{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#9b968b;padding:18px 18px 0;font-weight:500}
.tab-invite i{font-size:13px;color:var(--ac)}

/* ── ADMIN MOCK ── */
.admin{display:flex;border:1px solid var(--line);border-radius:var(--rad-md);overflow:hidden;min-height:260px;background:#fff}
.a-sb{width:148px;flex-shrink:0;background:#1a1a18;padding:8px 0;display:flex;flex-direction:column}
.a-sb-top{padding:8px 10px 8px;border-bottom:1px solid #2a2a28;margin-bottom:5px}
.a-sb-logo{color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}
.a-mark{width:22px;height:22px;border-radius:5px;background:#0E7C7B;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:800}
.a-sb-i{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:11px;color:#94a3b8;cursor:pointer;transition:background .15s}
.a-sb-i.on{color:#fff;background:#0E7C7B}
.a-sb-i:hover:not(.on){color:#e2e8f0;background:#2a2a28}
.a-main{flex:1;padding:13px 15px;min-width:0;overflow:auto}
.a-title{font-size:13px;font-weight:600;margin-bottom:10px;color:#1e293b}
.a-stat{background:#f8fafc;border:0.5px solid #e2e8f0;border-radius:7px;padding:8px 10px;text-align:center}
.a-stat-n{font-size:17px;font-weight:700;color:#0E7C7B}
.a-stat-l{font-size:9.5px;color:#64748b;margin-top:1px}
.a-card{background:#f8fafc;border-radius:7px;padding:10px 12px;margin-bottom:9px}
.a-tbl{width:100%;border-collapse:collapse;font-size:11px}
.a-tbl th{text-align:left;padding:5px 6px;font-size:9.5px;font-weight:600;color:#94a3b8;border-bottom:0.5px solid #e2e8f0;background:#f8fafc;text-transform:uppercase;letter-spacing:.04em}
.a-tbl td{padding:7px 6px;border-bottom:0.5px solid #f1f5f9;color:#334155;vertical-align:middle}
.a-tbl tr:last-child td{border-bottom:none}
.a-bk{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;font-size:10px;font-weight:500;border:0.5px solid #e2e8f0;cursor:pointer;background:#fff;color:#334155;font-family:inherit}
.a-bk:hover{background:#f1f5f9}
.a-bkp{background:#0E7C7B;color:#fff;border-color:#0E7C7B}.a-bkp:hover{background:#0A5C5B}
.a-inp{width:100%;padding:5px 8px;font-size:11px;border:0.5px solid #e2e8f0;border-radius:5px;background:#fff;color:#1e293b;font-family:inherit}
.a-sel{width:100%;padding:5px 8px;font-size:11px;border:0.5px solid #e2e8f0;border-radius:5px;background:#fff;color:#1e293b;font-family:inherit}
.a-lbl{font-size:9.5px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;display:block}
.a-fr{margin-bottom:8px}
.a-row{display:grid;gap:9px}

/* step card in builder */
.step-card{background:#fff;border:0.5px solid #e2e8f0;border-radius:6px;padding:7px 10px;display:flex;align-items:center;gap:8px;margin-bottom:5px;cursor:pointer}
.step-card.sel{border-color:#0E7C7B;background:#f0fdfa}
.step-num{width:20px;height:20px;border-radius:50%;background:#ccfbf1;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#0f766e;flex-shrink:0}

/* field type badge */
.ft-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:0.5px solid var(--line);border-radius:99px;font-size:11.5px;margin:2px;color:var(--ink)}
.ft-badge i{font-size:13px;color:var(--ac)}

/* ── WIZARD FRONTEND MOCK ── */
.wiz{background:#fff;border-radius:var(--rad-md);box-shadow:0 4px 24px rgba(14,124,123,.1);border:0.5px solid #ECEAE3;display:flex;overflow:hidden;min-height:240px}
.wiz-rail{width:155px;flex-shrink:0;background:linear-gradient(165deg,#0E7C7B,#0A5C5B);padding:16px;display:flex;flex-direction:column}
.wiz-brand{font-size:12.5px;font-weight:700;color:#fff;margin-bottom:2px}
.wiz-sub{font-size:9.5px;color:rgba(255,255,255,.65);margin-bottom:16px;line-height:1.45}
.wiz-steps-rail{display:flex;flex-direction:column;gap:1px}
.ws{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:10.5px;color:rgba(255,255,255,.45)}
.ws .d{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}
.ws.done{color:rgba(255,255,255,.85)}.ws.done .d{background:rgba(255,255,255,.88);border:none;color:#0A5C5B;font-size:10px}
.ws.now{color:#fff;font-weight:600}.ws.now .d{background:#fff;border:none;color:#0A5C5B}
.wiz-rail-foot{margin-top:auto;font-size:9.5px;color:rgba(255,255,255,.3)}
.wiz-body{flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.wiz-prog-lbl{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0E7C7B}
.wiz-h{font-size:15px;font-weight:700;letter-spacing:-.02em;color:#1A1A18}
.wiz-d{font-size:11px;color:#5F5E5A;line-height:1.5}
.wiz-cards{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.wiz-card{flex:1;min-width:80px;border:1.5px solid #E0DDD6;border-radius:7px;padding:9px 7px;font-size:11px;font-weight:500;text-align:center;cursor:pointer;color:#1A1A18}
.wiz-card.sel{border-color:#0E7C7B;background:#E6F4F4;color:#0A5C5B}
.wiz-inp{width:100%;border:1px solid #E0DDD6;border-radius:6px;padding:7px 9px;font-size:11.5px;font-family:inherit;color:#1A1A18}
.wiz-lbl{font-size:10px;font-weight:600;color:#1A1A18;display:block;margin-bottom:4px}
.wiz-nav{margin-top:auto;display:flex;align-items:center;gap:8px;padding-top:12px}
.wiz-bar{flex:1;height:3px;background:#F8F8F6;border-radius:99px;overflow:hidden}
.wiz-bar-f{height:3px;background:#0E7C7B;border-radius:99px}
.wiz-btn{background:#0E7C7B;color:#fff;border:none;border-radius:7px;padding:8px 14px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit}
.wiz-back{background:transparent;color:#5F5E5A;border:none;padding:8px 10px;font-size:11.5px;cursor:pointer;font-family:inherit}
.wiz-upload-area{margin-top:6px;border:1.5px dashed #E0DDD6;border-radius:8px;padding:18px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}

/* ── SHIFT ── */
.shift-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── USE CASE CARDS ── */
.uc-steps{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.uc-step{font-size:10.5px;padding:3px 8px;background:var(--ac-bg);color:#0f766e;border-radius:99px;font-weight:500}

/* ── COMPLETION ACTIONS ── */
.ac-item{display:flex;flex-direction:column;gap:5px}
.ac-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}

/* ── FEATURES GRID ── */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.feat-cell{background:var(--bg);border-radius:var(--rad-md);padding:15px;display:flex;flex-direction:column;gap:6px}
.feat-ic{font-size:20px;color:var(--ac)}
.feat-name{font-size:13px;font-weight:600;color:var(--ink)}
.feat-desc{font-size:12px;color:var(--mut);line-height:1.55}

/* ── FAQ ── */
.faq-item{border-bottom:0.5px solid var(--line);padding:13px 0}
.faq-item:last-child{border-bottom:none;padding-bottom:0}
.faq-q{font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;line-height:1.4;user-select:none}
.faq-q i{font-size:14px;color:var(--ac);flex-shrink:0;transition:transform .2s}
.faq-a{font-size:13px;color:var(--mut);line-height:1.65;margin-top:9px;display:none}
.faq-a code{font-size:11.5px;background:var(--bg);padding:1px 5px;border-radius:4px;color:var(--ac);font-family:ui-monospace,monospace}

/* ── HERO CARD ── */
.hcard{background:#0d1f1f;border-radius:20px;overflow:hidden;display:flex;align-items:stretch;position:relative;background-image:radial-gradient(70% 140% at 92% 5%,#0f4040 0%,transparent 55%)}
.hcard .tx{flex:1;padding:38px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.hcard .eye{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5eead4}
.hcard h1{font-size:30px;font-weight:800;line-height:1.08;color:#fff;letter-spacing:-.02em}
.hcard h1 em{font-style:normal;color:#99f6e4}
.hcard .lede-hero{font-size:14px;color:#a7f3d0;line-height:1.65;max-width:330px}
.hcard .hbtns{display:flex;gap:10px;flex-wrap:wrap}
.hcard .hero-r{flex:1;align-self:stretch;margin:22px 22px 22px 0;min-width:240px}

/* hero wizard preview */
.hero-wiz{height:100%;min-height:260px;background:#fbfaf8;border-radius:14px;box-shadow:0 24px 50px -26px rgba(0,0,0,.5);display:flex;overflow:hidden}
.hero-wiz .wiz-rail{width:130px}
.hero-wiz .wiz-body{padding:14px 16px}

/* ── CTA DARK ── */
.cta-dark{background:#0d1f1f;border-radius:20px;padding:42px 36px;background-image:radial-gradient(80% 120% at 50% -10%,#0f4040 0%,transparent 55%)}

/* ── FOOTER ── */
.ft{padding:20px 26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:12.5px;color:#8a8579;border-top:1px solid #e6e4dd}
.ft a{color:var(--ac);font-weight:500}

/* ── RESPONSIVE ── */
@media(max-width:700px){
  .hcard{flex-direction:column}.hcard .hero-r{margin:0 20px 20px;min-width:auto}
  .feat-grid{grid-template-columns:1fr 1fr}
  .shift-grid{grid-template-columns:1fr}
  .mega{width:300px;grid-template-columns:1fr}
}
@media(max-width:480px){.feat-grid{grid-template-columns:1fr}.hd-r .nl:not(:last-of-type){display:none}}
/* touch: tap-to-open mega menu (added by theme) */
.mega-w.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* --- site layout (full-width page, centered content @ 1100px) --- */
.wrap{max-width:1100px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}
.fz-head,.fz-sub,.fz-pad{max-width:1100px;margin-left:auto;margin-right:auto}
.ft{padding-left:max(24px,calc((100% - 1100px)/2));padding-right:max(24px,calc((100% - 1100px)/2))}

/* ===== responsive header / mega-menu (real-device safe) ===== */
.hd-get{white-space:nowrap}
.hd-name{white-space:nowrap}
.mega{max-width:calc(100vw - 20px);box-sizing:border-box;top:calc(100% + 8px)}
@media(max-width:760px){
  /* header stays on ONE row at all widths */
  .hd{flex-wrap:nowrap;gap:6px}
  .hd-r{gap:2px;flex-wrap:nowrap}
  .hd-r .nl{padding:8px 8px}
  /* Anchor the dropdown to the HEADER bar (its sticky positioned ancestor),
     not to the small Plugins trigger — so it spans correctly and tracks the
     header at every scroll position. */
  .mega-w{position:static}
  .mega{position:absolute;top:100%;left:auto;right:10px;
        transform:translateY(6px);width:min(340px,calc(100vw - 20px));
        grid-template-columns:1fr;margin-top:2px}
  .mega-w:hover .mega,.mega-w.open .mega{transform:translateY(0)}
  /* re-create the hover bridge for the new offset */
  .mega::before{top:-12px;height:12px}
}
@media(max-width:520px){
  .hd{padding-left:14px !important;padding-right:14px !important;gap:4px}
  .hd-logo{width:26px;height:26px}
  .hd-name{font-size:16px}
  .hd-r .nl{display:none}
  .mega-t{padding:7px 9px}
  .hd-get{padding:8px 13px;font-size:13px}
  /* full-width dropdown under the bar, anchored to the header */
  .mega{left:10px;right:10px;width:auto;max-width:none;transform:translateY(6px)}
  .mega-w:hover .mega,.mega-w.open .mega{transform:translateY(0)}
}

/* ===== mobile: plugin demo widgets (≤640px) ===== */
@media(max-width:640px){
  /* hero CTA buttons go full-width on mobile only */
  .hbtns{flex-direction:column;align-items:stretch;width:100%}
  .hbtns .btn,.hbtns .btn-p,.hbtns .dest-btn{width:100%;justify-content:center;box-sizing:border-box}
  /* every demo grid collapses to a single column */
  /* force every multi-column grid inside cards to a single column on mobile */
  .feat-grid,.shift-grid,.uc-grid,.st-grid,.dest-grid,.panel-split,.adv-grid,.comp-grid,.int-grid,.build-grid,.uc2-grid,.two-col,[class*="-grid"]{grid-template-columns:1fr !important}
  .feat-grid > *,.shift-grid > *,[class*="-grid"] > *{min-width:0}
  .feat-grid,.shift-grid{grid-template-columns:1fr !important}
  /* prevent any demo block from forcing horizontal scroll */
  .wrap, .card{max-width:100%;overflow-x:hidden}
  /* admin-panel demo: stack the sidebar over the table, allow inner scroll */
  .admin,.panel-split{flex-direction:column;min-height:0}
  .admin > *,.panel-split > *{width:100% !important;max-width:100%}
  .admin .adm-nav,.admin nav{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}
  .adm-main,.admin-main{overflow-x:auto}
}

/* ===== mobile: NEVER two equal columns inside content (overrides inline styles) ===== */
@media(max-width:640px){
  /* symmetric card grids → single column. Matches inline 1fr 1fr / repeat(n) / Npx Npx */
  .wrap [style*="1fr 1fr"],
  .wrap [style*="repeat(2"], .wrap [style*="repeat(3"], .wrap [style*="repeat(4"],
  .wrap [class*="-grid"],
  .wrap .feat-grid, .wrap .shift-grid, .wrap .uc-grid, .wrap .st-grid,
  .wrap .dest-grid, .wrap .panel-split{
    grid-template-columns:1fr !important;
  }
  /* asymmetric icon/sidebar layouts (e.g. 168px 1fr) → stack icon over content */
  .wrap [style*="px 1fr"]{grid-template-columns:1fr !important}
  .wrap [class*="-grid"] > *,
  .wrap [style*="grid-template-columns"] > *{min-width:0 !important;max-width:100% !important}
}
