/* ===========================================================================
   The public screens of the application, 2026-10-26 redesign (inc/lux.php).
   Sign in, sign up, open a plan, verify, pricing, help, contact. Loaded only for a
   signed-out visitor; the signed-in workspace never sees this sheet.
   plans.css is heavy and specific, so these rules lead with html body and use
   !important only for the properties it fights over.
   ========================================================================= */

html body.tp-body{background:#FAFBFA!important;font-family:Inter,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;-webkit-font-smoothing:antialiased;color:#0B1F19}
html body .tp-auth{font-family:inherit!important;color:#0B1F19}
html body .tp-auth h1,html body .tp-auth h2,html body .tp-auth h3{font-family:inherit!important;letter-spacing:-.025em;color:#0B1F19}
html body .tp-auth a{color:#0F5740}
html body .tp-auth a:hover{color:#0B1F19}

/* The card */
html body .tp-auth__card{background:#FFFFFF!important;border:1px solid #E8ECEA!important;border-radius:24px!important;box-shadow:0 30px 60px -40px rgba(11,31,25,.25)!important}
html body .tp-auth__card h1{font-size:30px!important;font-weight:600!important;line-height:1.15}
html body .tp-auth__intro{color:#4E625C!important;font-size:15px!important;line-height:1.55!important}
html body .tp-auth__small,html body .tp-auth__after,html body .tp-auth__aside{color:#4E625C!important}

/* Tabs: a segmented control */
html body .tp-auth__tabs{display:flex!important;padding:4px!important;border-radius:999px!important;background:#F1F4F2!important;border:0!important;gap:0!important}
html body .tp-auth__tabs a{flex:1;text-align:center;padding:11px 0!important;border-radius:999px!important;color:#4E625C!important;text-decoration:none!important;font-size:14px!important;font-weight:500!important;border:0!important;background:transparent!important}
html body .tp-auth__tabs a[aria-current="page"]{background:#FFFFFF!important;color:#0B1F19!important;box-shadow:0 1px 3px rgba(11,31,25,.12)!important}

/* Fields */
html body .tp-auth__form label,html body .tp-auth__lbl{font-family:inherit!important;font-size:14px!important;font-weight:500!important;color:#0B1F19!important}
html body .tp-auth__form input[type="email"],html body .tp-auth__form input[type="password"],html body .tp-auth__form input[type="text"],html body .tp-auth__form input[type="tel"],html body .tp-auth__form input:not([type]),html body .tp-auth__form select,html body .tp-done__resend input{min-height:52px!important;border-radius:14px!important;border:1px solid #D5DED9!important;background:#FFFFFF!important;font-family:inherit!important;font-size:16px!important;color:#0B1F19!important;box-shadow:none!important}
html body .tp-auth__form input:focus,html body .tp-auth__form select:focus{border-color:#0F5740!important;outline:2px solid rgba(15,87,64,.18)!important;outline-offset:0!important}

/* Buttons: one green, pill. Never a border on .tp-auth__btn (it misdraws there). */
html body .tp-auth__btn{min-height:52px!important;border-radius:999px!important;background:#0F5740!important;color:#FFFFFF!important;font-family:inherit!important;font-size:16px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
html body .tp-auth__btn:hover{background:#0B1F19!important}
html body .tp-auth__btn--ghost{background:#FFFFFF!important;color:#0F5740!important;box-shadow:inset 0 0 0 1px #CFDCD5!important}
html body .tp-auth__btn--ghost:hover{background:#F1F5F2!important;color:#0B1F19!important}
html body .tp-auth__ok{border-radius:14px!important}

/* The new buttons keep their own colours inside this frame, whose link colour is green. */
html body a.lx-btn,html body a.lx-btn:visited{color:#FFFFFF!important;text-decoration:none!important}
html body a.lx-btn:hover{color:#FFFFFF!important;background:#0B1F19!important;border-color:#0B1F19!important}
html body a.lx-btn--ghost,html body a.lx-btn--ghost:visited{color:#0F5740!important;background:transparent!important;border-color:#CFDCD5!important}
html body a.lx-btn--ghost:hover{color:#0B1F19!important;background:#F1F5F2!important;border-color:#CFDCD5!important}
html body .lx-head a{opacity:1!important}

/* Wide pages (pricing, help, contact) carry the site header, so the lockup and the
   account row inside the frame step aside. */
html body .tp-auth.lx-wide{padding-top:0!important;background:transparent!important}
html body .tp-auth.lx-wide > .tp-auth__logo,html body .tp-auth.lx-wide > .tp-auth__links--foot,html body .tp-auth.lx-wide > .tp-auth__aside{display:none!important}
html body .lx-head{background:rgba(255,255,255,.9)}

/* ---- Pricing ------------------------------------------------------------ */
.lx-pr{max-width:1080px;margin:0 auto;padding:88px 24px 104px;font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;color:#0B1F19}
.lx-pr *{box-sizing:border-box}
html body .lx-pr h1{margin:0;text-align:center;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:600;letter-spacing:-.035em}
.lx-pr__sub{margin:16px 0 0;text-align:center;font-size:18px;color:#4E625C}
.lx-pr__toggle{margin:36px auto 0;width:max-content;max-width:100%;display:flex;padding:4px;border-radius:999px;background:#F1F4F2}
.lx-pr__toggle button{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:#4E625C;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.lx-pr__toggle button[aria-pressed="true"]{background:#FFFFFF;color:#0B1F19;box-shadow:0 1px 3px rgba(11,31,25,.12)}
.lx-pr__cards{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lx-pr__card{display:flex;flex-direction:column;align-items:stretch;background:#FFFFFF;border:1px solid #E8ECEA;border-radius:24px;padding:32px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.lx-pr__card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -28px rgba(11,31,25,.28)}
.lx-pr__card.is-main{border:1.5px solid #0F5740}
.lx-pr__card.is-ent{background:#FAFBFA}
html body .lx-pr__card h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}
.lx-pr__who{margin:6px 0 0;font-size:14px;color:#4E625C}
.lx-pr__fig{margin:28px 0 0;font-size:46px;font-weight:600;letter-spacing:-.035em;line-height:1.05}
.lx-pr__fig--word{font-size:28px;letter-spacing:-.025em;line-height:1.2}
.lx-pr__per{margin:6px 0 32px;font-size:14px;color:#4E625C}
.lx-pr__card .lx-btn{margin-top:auto}
.lx-pr__note{margin:-16px 0 20px;font-size:13px;color:#4E625C}
/* A clean ground behind the wide pages: no decorative pattern. */
html body.tp-body:has(.lx-wide){background:#FFFFFF!important;background-image:none!important}
html body.tp-body:has(.lx-wide)::before,html body.tp-body:has(.lx-wide)::after,html body .tp-auth.lx-wide::before,html body .tp-auth.lx-wide::after{display:none!important;content:none!important}
.lx-pr__inc,.lx-pr__faq{margin-top:72px;padding-top:48px;border-top:1px solid #E8ECEA}
html body .lx-pr__inc h2,html body .lx-pr__faq h2{margin:0 0 24px;font-size:24px;font-weight:600;letter-spacing:-.02em}
.lx-pr__inc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}
.lx-pr__inc li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.lx-pr__inc svg{flex:none;width:18px;height:18px;margin-top:2px;fill:none;stroke:#0F5740;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lx-pr__faq{max-width:760px}
.lx-pr__faq details{border-bottom:1px solid #E8ECEA;padding:18px 0}
.lx-pr__faq summary{cursor:pointer;list-style:none;font-size:16px;font-weight:500;display:flex;justify-content:space-between;gap:16px;min-height:28px;align-items:center}
.lx-pr__faq summary::-webkit-details-marker{display:none}
.lx-pr__faq summary::after{content:"+";font-size:20px;font-weight:400;color:#4E625C;transition:transform .2s ease}
.lx-pr__faq details[open] summary::after{transform:rotate(45deg)}
.lx-pr__faq p{margin:10px 0 0;font-size:15px;line-height:1.55;color:#4E625C}
.lx-pr__more{margin-top:20px;font-size:14px}
.lx-pr [hidden]{display:none!important}

@media (max-width:860px){
  .lx-pr{padding:56px 20px 72px}
  .lx-pr__cards,.lx-pr__inc ul{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .lx-pr__card,.lx-pr__faq summary::after{transition:none}
}
