/* PreflightX Pro, sold two ways: Monthly ($9.99/month) and Founder's Lifetime
   ($99 once). The landing pricing cards, the plan choice used after a scan, in
   the upgrade dialog and in Billing, the Monthly-to-Lifetime dialog and the offer
   bars. billing.js shows only the plans the server sells. */

/* ---- hero: who it is for ------------------------------------------------- */
body:not(.is-dashboard) .hero-sub b{color:#f2f5f8;font-weight:600}
.built-for{margin:14px 0 0;max-width:460px;color:#8fa4b3;font-size:11px;line-height:1.6}

/* ---- Why Pro ----------------------------------------------------------------- */
body:not(.is-dashboard) .why-pro{position:relative;background:radial-gradient(ellipse at 85% 0,#ffda3210,transparent 55%)}
.why-pro-head{max-width:720px}
.why-pro-head h2{margin:14px 0 14px;font-size:clamp(32px,4.6vw,52px);line-height:1.04;letter-spacing:-.03em}
.why-pro-head h2 em{font-style:normal;color:#ffda32}
.why-pro-usps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.why-pro-usps li{display:flex;gap:14px;padding:22px;border:1px solid #1f2e38;border-radius:14px;background:#0a1620;min-width:0}
.why-pro-usps h3{margin:0 0 8px;font-size:16px}
.why-pro-usps p{margin:0;color:#a9bac6;font-size:13px;line-height:1.65}
.why-pro-usps code{font-size:12px;color:#ffe27a}
.usp-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffda321a;color:#ffda32;font-size:16px}
.why-pro-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.why-pro-steps li{display:flex;gap:12px;align-items:flex-start;padding:16px 4px 0;border-top:1px solid #22323c;min-width:0}
.why-pro-steps li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #ffda3266;color:#ffda32;font-size:12px;font-weight:700}
.why-pro-steps p{margin:0;color:#a9bac6;font-size:13px;line-height:1.6}
.why-pro-steps b{color:#fff}

/* ---- pricing ----------------------------------------------------------------- */
.pricing-head{max-width:640px;margin-bottom:32px}
.pricing-head .eyebrow{margin-bottom:13px}
.pricing-head h2{margin:0!important;font-size:clamp(32px,4.4vw,50px);line-height:1.04;letter-spacing:-.03em}
.pricing-sub{max-width:560px;margin:14px 0 0;color:#a9bac6;font-size:14px;line-height:1.65}
.pricing-sub[hidden]{display:none}
.price-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.price-grid[data-count="1"]{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);max-width:880px}
.price-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 26px 24px;border:1px solid #2a3b45;border-radius:14px;background:linear-gradient(150deg,#13212b80,#08141d)}
.price-card[hidden]{display:none}
.price-free{background:linear-gradient(150deg,#0f1a2266,#07111a)}
.price-card.is-featured{border-color:#d0b62e;background:radial-gradient(ellipse at 95% 0,#ffda321c,transparent 60%),#09151e;box-shadow:0 0 36px #ffda320d}
.price-monthly{border-color:#3b4e5b}
.price-flag{position:absolute;top:-11px;left:24px;padding:4px 10px;border-radius:20px;background:#ffda32;color:#1d1a08;font-size:10px;font-weight:700;letter-spacing:.08em}
.price-kicker{margin:0 0 6px;color:#8fa4b3;font-size:10px;font-weight:600;letter-spacing:.14em}
.is-featured .price-kicker{color:#ffda32}
.price-card h3{margin:0;font-size:20px;letter-spacing:-.01em}
.price-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:14px 0 6px}
.price-amount b{font-family:'Space Grotesk',Inter,system-ui,sans-serif;font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:600;color:#fff}
.price-amount span{color:#a9bac6;font-size:14px}
.price-terms{margin:0 0 16px;color:#c4d1da;font-size:13px;line-height:1.55}
.price-points{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px;font-size:13px;line-height:1.5;color:#c9d5de}
.price-points li{position:relative;padding-left:22px}
.price-points li::before{content:'\2713';position:absolute;left:0;color:#ffda32}
.price-points b{color:#fff;font-weight:600}
:is(body:not(.is-dashboard),.app) .price-cta{width:100%;margin-top:auto;min-height:48px;font-size:14px}
:is(body:not(.is-dashboard),.app) .price-cta:disabled{border-color:#2a3b45;background:#14212b;color:#8fa2b0;box-shadow:none;cursor:not-allowed}
.price-note{min-height:18px;margin:10px 0 0;text-align:center;color:#8fa2b0;font-size:12px;line-height:1.5}
.price-note:empty{display:none}
.price-card.is-sold-out .price-amount b{text-decoration:line-through;text-decoration-thickness:2px;color:#9cabb6}
.founder-meter{margin:0 0 16px}
.founder-meter[hidden]{display:none}
.founder-meter-bar{height:8px;border-radius:8px;background:#1d2b35;overflow:hidden}
.founder-meter-bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#ffda32,#ffb400)}
.founder-meter p{margin:8px 0 0;color:#ffe27a;font-size:12px;font-weight:600}
.price-shared{margin:18px 0 0;padding:20px 24px;border:1px solid #22323c;border-radius:14px;background:#0a1620}
.price-shared h3{margin:0 0 12px;font-size:14px;color:#fff}
.price-shared ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px;font-size:13px;line-height:1.5;color:#c9d5de}
.price-shared li{position:relative;padding-left:22px}
.price-shared li::before{content:'\2713';position:absolute;left:0;color:#ffda32}
.payment-trust{margin:14px 0 0;text-align:center;color:#8fa2b0;font-size:12px}
.payment-trust[hidden]{display:none}

/* ---- the closing call to action and the mobile bar -------------------------- */
.final-offer{margin:14px 0 0;color:#c9d5de;font-size:13px;line-height:1.6}
.final-offer a{color:#ffda32;font-weight:600;text-decoration:none;white-space:nowrap}
.final-offer a:hover{text-decoration:underline}
.final-offer[hidden]{display:none}
.offer-sticky{display:none}
.offer-sticky[hidden]{display:none}

/* ---- the plan choice: after a scan, in the upgrade dialog and in Billing ------ */
.plan-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan-choice[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.plan-choice[hidden]{display:none}
.plan-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:16px 16px 14px;border:1px solid #2f414d;border-radius:12px;background:#0b1822;color:#e3eaf0;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.plan-option:hover:not(:disabled),.plan-option:focus-visible{border-color:#ffda32;background:#0f1f2a;outline:none}
.plan-option:focus-visible{box-shadow:0 0 0 2px #ffda3280}
.plan-option:disabled{opacity:.55;cursor:not-allowed}
.plan-option.is-lifetime{border-color:#8f7d2b;background:radial-gradient(ellipse at 100% 0,#ffda3214,transparent 65%),#0b1822}
.plan-option-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;width:100%}
.plan-option-name{font-size:14px;font-weight:650;color:#fff}
.plan-option-kicker{font-size:9.5px;font-weight:700;letter-spacing:.12em;color:#8fa4b3}
.is-lifetime .plan-option-kicker{color:#ffda32}
.plan-option-price{display:flex;align-items:baseline;gap:2px;color:#a9bac6;font-size:12.5px}
.plan-option-price b{font-family:'Space Grotesk',Inter,system-ui,sans-serif;font-size:26px;letter-spacing:-.03em;color:#fff;font-weight:600}
.plan-option-note{color:#a9bac6;font-size:12px;line-height:1.45}
.plan-option-action{margin-top:4px;color:#ffda32;font-size:12.5px;font-weight:650}

/* ---- the sign-up dialog names the chosen plan ------------------------------- */
.auth-plan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:-10px 0 22px;padding:10px 12px;border:1px solid #ffda3255;border-radius:8px;background:#ffda320d;color:#ffe27a;font-size:13px;font-weight:600}
.auth-plan .auth-text-button{font-size:12.5px;font-weight:500}

/* ---- the upgrade dialog and the Monthly-to-Lifetime dialog ------------------- */
.auth-dialog.plan-dialog{width:min(560px,calc(100% - 32px))}
.plan-dialog .plan-choice{margin:0 0 16px}
.plan-dialog-features{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:#c9d5de}
.plan-dialog-features li{position:relative;padding-left:18px}
.plan-dialog-features li::before{content:'\2713';position:absolute;left:0;color:#ffda32}
.auth-dialog.switch-dialog{width:min(520px,calc(100% - 32px))}
.switch-steps{margin:0 0 18px;padding-left:20px;display:grid;gap:8px;font-size:14px;line-height:1.55;color:#d3dde4}
.switch-steps b{color:#fff}
.switch-consent{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px;border:1px solid #2f414d;border-radius:8px;background:#0e1623;font-size:13.5px;line-height:1.5;cursor:pointer}
.switch-consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#ffda32}
.switch-dialog .btn,.plan-dialog .btn{width:100%;min-height:48px;justify-content:center;border:1px solid #ffe568;border-radius:8px;background:linear-gradient(110deg,#ffe54b,#ffd21d);color:#10150c;font-weight:650}
.switch-dialog .btn:disabled{opacity:.5;cursor:not-allowed}

/* ---- Billing ------------------------------------------------------------------- */
#dashboard .billing-warning{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(255,140,0,.45);border-left:3px solid #ff8c00;border-radius:8px;background:rgba(255,140,0,.08);color:#ffd3a1;font-size:13px;line-height:1.55}
#dashboard .billing-warning[hidden]{display:none}
#dashboard .billing-switch{border-color:rgba(255,210,26,.45);background:radial-gradient(ellipse at 100% 0,rgba(255,210,26,.1),transparent 60%),var(--card,#0b141d)}
#dashboard .billing-switch .btn,#dashboard .billing-choose .plan-choice{margin-top:12px}
#dashboard .billing-switch-seats:empty{display:none}
#dashboard .billing-switch[hidden],#dashboard .billing-choose[hidden]{display:none}

/* ---- responsive -------------------------------------------------------------- */
@media(max-width:1100px){
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-grid .price-free{grid-column:1 / -1;order:3}
  .price-grid[data-count="1"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .price-grid[data-count="1"] .price-free{grid-column:auto;order:0}
  .price-shared ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-pro-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .why-pro-usps{grid-template-columns:1fr}
  body:not(.is-dashboard) .offer-sticky:not([hidden]){position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border:1px solid #d0b62e;border-radius:14px;background:#0b1822f2;box-shadow:0 8px 30px #0008;backdrop-filter:blur(8px)}
  .offer-sticky p{margin:0;min-width:0;font-size:13px;color:#c9d5de;line-height:1.35}
  .offer-sticky p b{display:block;color:#fff}
  .offer-sticky .btn{flex:none;min-height:40px;padding:9px 14px;white-space:nowrap}
}
@media(max-width:720px){
  .price-grid,.price-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
  .price-grid .price-free,.price-grid[data-count="1"] .price-free{grid-column:auto;order:3}
  .price-card{padding:26px 20px 22px}
  .price-shared{padding:18px 18px}
  .price-shared ul{grid-template-columns:minmax(0,1fr)}
  .why-pro-steps{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .plan-choice{grid-template-columns:minmax(0,1fr)}
  .price-amount b{font-size:40px}
}
body.is-dashboard .offer-sticky{display:none!important}
@media(prefers-reduced-motion:reduce){.plan-option{transition:none}}
