/* Extracted from market\templates\market\pricing.html to stabilize the ABM CSS cascade. */
:root{
    --abm-ink:#111827;
    --abm-muted:#6b7280;
    --abm-line:rgba(15,39,64,.10);
    --abm-line-strong:rgba(15,39,64,.16);
    --abm-soft:#f6f8fb;
    --abm-soft-2:#eef3f9;
    --abm-amber:#f5b301;
    --abm-amber-700:#c88700;
    --abm-blue:#0d6efd;
    --abm-good:#10b981;
    --abm-warn:#f59e0b;
    --abm-danger:#ef4444;
    --abm-dark:#111827;
    --abm-shadow:0 18px 42px rgba(15,39,64,.08);
    --abm-shadow-sm:0 8px 20px rgba(15,39,64,.06);
    --abm-shadow-lg:0 26px 64px rgba(15,39,64,.12);
  }

  .abm-shell{
    max-width:1360px;
    margin:0 auto;
    padding:24px 16px 44px;
  }

  .abm-anchor{
    scroll-margin-top:110px;
  }

  .abm-card{
    background:#fff;
    border:1px solid var(--abm-line);
    border-radius:24px;
    box-shadow:var(--abm-shadow);
  }

  .abm-card-soft{
    background:
      radial-gradient(circle at top right, rgba(245,179,1,.12), transparent 24%),
      linear-gradient(135deg, rgba(245,179,1,.06), rgba(13,110,253,.04));
  }

  .abm-hero{
    padding:20px;
    margin-bottom:18px;
  }

  .abm-hero-grid{
    display:grid;
    grid-template-columns:1.14fr .86fr;
    gap:16px;
  }

  .abm-hero-panel{
    border:1px solid rgba(15,39,64,.08);
    border-radius:20px;
    background:rgba(255,255,255,.88);
    padding:18px;
    min-width:0;
  }

  .abm-kicker{
    margin:0 0 6px;
    color:var(--abm-amber-700);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .abm-title{
    margin:0 0 10px;
    font-size:2.18rem;
    line-height:1.02;
    font-weight:900;
    letter-spacing:-.03em;
    color:#111827;
    text-wrap:balance;
  }

  .abm-subtitle,
  .abm-copy{
    color:var(--abm-muted);
    line-height:1.58;
  }

  .abm-copy-strong{
    color:#475569;
    line-height:1.6;
  }

  .abm-inline-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
  }

  .abm-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:46px;
    padding:.78rem 1.05rem;
    border-radius:999px;
    border:1px solid rgba(15,39,64,.14);
    text-decoration:none;
    font-weight:800;
    line-height:1;
    background:#fff;
    color:#111827;
    transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
  }

  .abm-btn:hover{
    transform:translateY(-1px);
    color:#111827;
    box-shadow:var(--abm-shadow-sm);
  }

  .abm-shell :is(a,button,input,select,textarea):focus-visible{
    outline:3px solid rgba(245,179,1,.45);
    outline-offset:3px;
  }

  .abm-btn--primary{
    background:var(--abm-amber);
    border-color:var(--abm-amber);
  }

  .abm-btn--dark{
    background:#111827;
    border-color:#111827;
    color:#fff;
  }

  .abm-btn--dark:hover{
    color:#fff;
  }

  .abm-btn--ghost{
    background:#fff;
  }

  .abm-chip{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.34rem .66rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(15,39,64,.10);
    font-size:.76rem;
    font-weight:800;
    color:#111827;
    white-space:nowrap;
  }

  .abm-chip--good{
    background:rgba(16,185,129,.12);
    border-color:rgba(16,185,129,.20);
    color:#065f46;
  }

  .abm-chip--warn{
    background:rgba(245,158,11,.14);
    border-color:rgba(245,158,11,.22);
    color:#92400e;
  }

  .abm-chip--danger{
    background:rgba(239,68,68,.10);
    border-color:rgba(239,68,68,.18);
    color:#991b1b;
  }

  .abm-chip--dark{
    background:#111827;
    border-color:#111827;
    color:#fff;
  }

  .abm-chip--ghost{
    background:rgba(255,255,255,.72);
  }

  .abm-chip--soft{
    background:rgba(13,110,253,.06);
    border-color:rgba(13,110,253,.14);
    color:#0b4ec2;
  }

  .abm-chip--free{
    background:rgba(15,23,42,.05);
    border-color:rgba(15,23,42,.08);
    color:#475569;
  }

  .abm-kpi-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }

  .abm-kpi{
    border:1px solid rgba(15,39,64,.08);
    border-radius:18px;
    background:#fff;
    padding:14px;
  }

  .abm-kpi-label{
    color:var(--abm-muted);
    font-size:.78rem;
    margin-bottom:4px;
  }

  .abm-kpi-value{
    color:#111827;
    font-size:1.08rem;
    font-weight:900;
    line-height:1.2;
  }

  .abm-proof-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
  }

  .abm-proof{
    border:1px solid rgba(15,39,64,.08);
    border-radius:18px;
    background:#fff;
    padding:14px;
  }

  .abm-proof-title{
    margin:0 0 4px;
    font-size:.92rem;
    font-weight:900;
    color:#111827;
  }

  .abm-proof-copy{
    margin:0;
    color:#475569;
    font-size:.86rem;
    line-height:1.5;
  }

  .abm-section{
    margin-bottom:18px;
  }

  .abm-section-card{
    padding:18px;
  }

  .abm-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:14px;
  }

  .abm-section-title{
    margin:0;
    font-size:1.18rem;
    font-weight:900;
    color:#111827;
  }

  .abm-section-sub{
    margin:6px 0 0;
    color:var(--abm-muted);
    line-height:1.55;
  }

  .abm-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.38rem .72rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(15,39,64,.10);
    font-size:.78rem;
    font-weight:800;
    color:#111827;
  }

  .abm-grid-4{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
  }

  .abm-grid-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  .abm-grid-2{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:16px;
  }

  .abm-grid-2-equal{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .abm-plan{
    border:1px solid rgba(15,39,64,.08);
    border-radius:24px;
    background:#fff;
    padding:18px;
    display:grid;
    gap:14px;
    min-height:100%;
    position:relative;
    box-shadow:var(--abm-shadow-sm);
  }

  .abm-plan--featured{
    border-color:rgba(245,179,1,.34);
    box-shadow:0 20px 44px rgba(245,179,1,.12);
    background:
      radial-gradient(circle at top right, rgba(245,179,1,.10), transparent 30%),
      linear-gradient(180deg, rgba(245,179,1,.05), rgba(255,255,255,1));
  }

  .abm-plan--founder{
    border-color:rgba(16,185,129,.24);
    background:
      radial-gradient(circle at top right, rgba(16,185,129,.10), transparent 30%),
      #fff;
  }

  .abm-plan-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
  }

  .abm-plan-name{
    font-size:1.08rem;
    font-weight:900;
    color:#111827;
    margin:0 0 6px;
  }

  .abm-plan-tag{
    color:#64748b;
    font-size:.88rem;
    line-height:1.45;
  }

  .abm-price-row{
    display:flex;
    align-items:flex-end;
    gap:8px;
    flex-wrap:wrap;
  }

  .abm-price{
    font-size:2.3rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
    color:#111827;
  }

  .abm-price-meta{
    color:#6b7280;
    font-size:.9rem;
    margin-bottom:4px;
  }

  .abm-price-subline{
    color:#64748b;
    font-size:.84rem;
    line-height:1.45;
    margin-top:-4px;
  }

  .abm-old-price{
    color:#94a3b8;
    text-decoration:line-through;
    font-weight:800;
    font-size:.95rem;
  }

  .abm-divider{
    height:1px;
    background:rgba(15,39,64,.08);
  }

  .abm-list{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:10px;
  }

  .abm-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    color:#334155;
    line-height:1.5;
    font-size:.92rem;
  }

  .abm-list-dot{
    width:18px;
    height:18px;
    margin-top:2px;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(16,185,129,.12);
    color:#065f46;
    font-size:.72rem;
    font-weight:900;
    border:1px solid rgba(16,185,129,.18);
  }

  .abm-plan-note{
    color:#64748b;
    font-size:.84rem;
    line-height:1.5;
  }

  .abm-plan-result{
    border:1px solid rgba(15,39,64,.08);
    border-radius:16px;
    background:var(--abm-soft);
    padding:12px 14px;
    color:#334155;
    font-size:.86rem;
    line-height:1.5;
  }

  .abm-mini-card{
    border:1px solid rgba(15,39,64,.08);
    border-radius:20px;
    background:#fff;
    padding:16px;
    height:100%;
  }

  .abm-mini-title{
    font-size:1rem;
    font-weight:900;
    color:#111827;
    margin:0 0 8px;
  }

  .abm-mini-kicker{
    font-size:.74rem;
    color:var(--abm-amber-700);
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin:0 0 6px;
  }

  .abm-usecase-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }

  .abm-usecase{
    border:1px solid rgba(15,39,64,.08);
    border-radius:18px;
    background:#fff;
    padding:14px;
  }

  .abm-usecase h3{
    margin:0 0 6px;
    font-size:.95rem;
    font-weight:900;
    color:#111827;
  }

  .abm-usecase p{
    margin:0;
    color:#475569;
    font-size:.87rem;
    line-height:1.5;
  }

  .abm-table-wrap{
    overflow:auto;
  }

  .abm-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
    min-width:620px;
  }

  .abm-table thead th{
    font-size:.78rem;
    color:#6b7280;
    font-weight:800;
    padding:0 10px 6px;
    white-space:nowrap;
  }

  .abm-table tbody tr{
    background:#fff;
    box-shadow:var(--abm-shadow-sm);
  }

  .abm-table tbody td{
    padding:14px 10px;
    vertical-align:middle;
    border-top:1px solid rgba(15,39,64,.08);
    border-bottom:1px solid rgba(15,39,64,.08);
    color:#334155;
  }

  .abm-table tbody td:first-child{
    border-left:1px solid rgba(15,39,64,.08);
    border-top-left-radius:16px;
    border-bottom-left-radius:16px;
  }

  .abm-table tbody td:last-child{
    border-right:1px solid rgba(15,39,64,.08);
    border-top-right-radius:16px;
    border-bottom-right-radius:16px;
  }

  .abm-kpi-showcase{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
  }

  .abm-kpi-showcase-card{
    border:1px solid rgba(15,39,64,.08);
    border-radius:18px;
    background:#fff;
    padding:14px;
  }

  .abm-kpi-showcase-card h3{
    margin:0 0 8px;
    font-size:.98rem;
    font-weight:900;
    color:#111827;
  }

  .abm-kpi-showcase-card p{
    margin:0;
    color:#475569;
    font-size:.88rem;
    line-height:1.5;
  }

  .abm-note{
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(15,39,64,.08);
    background:var(--abm-soft);
    color:#475569;
    font-size:.88rem;
    line-height:1.55;
  }

  .abm-note + .abm-note{
    margin-top:10px;
  }

  .abm-accordion .accordion-item{
    border:1px solid rgba(15,39,64,.08);
    border-radius:18px !important;
    overflow:hidden;
    box-shadow:none;
    background:#fff;
  }

  .abm-accordion .accordion-item + .accordion-item{
    margin-top:10px;
  }

  .abm-accordion .accordion-button{
    font-weight:800;
    color:#111827;
    box-shadow:none !important;
    background:#fff;
  }

  .abm-accordion .accordion-button:not(.collapsed){
    background:rgba(245,179,1,.08);
    color:#111827;
  }

  .abm-legal{
    display:grid;
    gap:10px;
    margin-top:14px;
  }

  .abm-legal-line{
    border:1px solid rgba(15,39,64,.08);
    border-radius:16px;
    background:#fff;
    padding:12px 14px;
    color:#475569;
    font-size:.88rem;
    line-height:1.5;
  }

  .abm-final-cta{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:16px;
    align-items:stretch;
  }

  .abm-final-cta-panel{
    border:1px solid rgba(15,39,64,.08);
    border-radius:20px;
    background:#fff;
    padding:18px;
  }

  @media (max-width: 1180px){
    .abm-grid-4{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (max-width: 1100px){
    .abm-hero-grid,
    .abm-grid-2,
    .abm-grid-2-equal,
    .abm-final-cta{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 900px){
    .abm-grid-3,
    .abm-kpi-grid,
    .abm-kpi-showcase,
    .abm-proof-grid,
    .abm-usecase-grid{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 720px){
    .abm-shell{
      padding:18px 12px 30px;
    }

    .abm-title{
      font-size:1.72rem;
    }

    .abm-btn{
      width:100%;
    }

    .abm-price{
      font-size:2rem;
    }

    .abm-grid-4{
      grid-template-columns:1fr;
    }
  }

  .abm-pricing-decision-strip{
    margin:0 0 18px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:18px;
    border-radius:24px;
    background:
      radial-gradient(circle at top left, rgba(245,179,1,.20), transparent 34%),
      linear-gradient(135deg, rgba(17,24,39,.98), rgba(30,41,59,.96));
    color:#fff;
    box-shadow:var(--abm-shadow-lg);
  }
  .abm-pricing-decision-strip .abm-copy{ color:rgba(255,255,255,.74); }
  .abm-pricing-decision-eyebrow{
    display:block;
    margin-bottom:5px;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:rgba(255,255,255,.62);
  }
  .abm-pricing-decision-title{
    margin:0;
    font-size:clamp(1.12rem,2vw,1.55rem);
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.04em;
  }
  .abm-pricing-decision-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
  }
  .abm-pricing-choice-grid,
  .abm-pricing-trust-strip{
    grid-column:1 / -1;
  }
  .abm-pricing-choice-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .abm-pricing-choice-card{
    min-width:0;
    padding:12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .abm-pricing-choice-card span{
    display:block;
    margin-bottom:4px;
    color:rgba(255,255,255,.62);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .abm-pricing-choice-card strong{
    display:block;
    color:#fff;
    font-size:.98rem;
    line-height:1.2;
  }
  .abm-pricing-choice-card p{
    margin:5px 0 0;
    color:rgba(255,255,255,.72);
    font-size:.82rem;
    line-height:1.42;
  }
  .abm-pricing-choice-card--pro{
    border-color:rgba(16,185,129,.24);
    background:rgba(16,185,129,.10);
  }
  .abm-pricing-choice-card--premium{
    border-color:rgba(245,179,1,.30);
    background:rgba(245,179,1,.12);
  }
  .abm-pricing-trust-strip{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    padding-top:2px;
  }
  .abm-pricing-trust-strip span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.78);
    font-size:.73rem;
    font-weight:850;
    white-space:nowrap;
  }
  .abm-pricing-chooser{ margin:18px 0; }
  .abm-pricing-chooser-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .abm-pricing-chooser-card{
    padding:14px;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(15,39,64,.08);
    box-shadow:var(--abm-shadow-sm);
  }
  .abm-pricing-chooser-card strong{
    display:block;
    color:#111827;
    font-size:.98rem;
    margin-bottom:5px;
  }
  .abm-pricing-chooser-card span{
    color:#64748b;
    font-size:.88rem;
    line-height:1.45;
  }
  .abm-plan-choice{
    position:absolute;
    top:14px;
    right:14px;
    z-index:2;
  }
  #plans .abm-plan{
    padding:16px;
    gap:12px;
  }
  #plans .abm-list{
    gap:8px;
  }
  #plans .abm-list li{
    font-size:.88rem;
    line-height:1.42;
  }
  #plans .abm-plan-result{
    padding:10px 12px;
    font-size:.82rem;
  }
  .abm-mobile-pricing-bar{ display:none; }
  @media (max-width:900px){
    .abm-pricing-decision-strip{ grid-template-columns:1fr; }
    .abm-pricing-choice-grid{ grid-template-columns:1fr; }
    .abm-pricing-decision-actions{ justify-content:stretch; }
    .abm-pricing-decision-actions .abm-btn{ width:100%; }
    .abm-pricing-chooser-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:720px){
    .abm-mobile-pricing-bar{
      position:sticky;
      bottom:0;
      z-index:60;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin:18px -12px -30px;
      padding:10px 12px;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(16px);
      border-top:1px solid rgba(15,39,64,.10);
    }
    .abm-mobile-pricing-bar .abm-btn{
      min-height:42px;
      padding:.68rem .8rem;
      font-size:.88rem;
    }
  }
