/* Visual system for the Vite application. Route guard deliberately excludes /explorer. */
html.wpb-design {
  --wpb-bg: #f2f6f3;
  --wpb-paper: #ffffff;
  --wpb-ink: #102c31;
  --wpb-muted: #557078;
  --wpb-line: #d7e4df;
  --wpb-teal: #087f79;
  --wpb-teal-deep: #075650;
  --wpb-lime: #d8f37c;
  --wpb-shadow: 0 24px 65px rgba(17, 57, 55, .10);
  background: var(--wpb-bg);
  scroll-behavior: smooth;
}
html.wpb-design.dark {
  --wpb-bg: #091d23;
  --wpb-paper: #102b31;
  --wpb-ink: #eff8f4;
  --wpb-muted: #a6c1bf;
  --wpb-line: #34565a;
  --wpb-teal: #6bddd0;
  --wpb-teal-deep: #a3efe1;
  --wpb-shadow: 0 24px 65px rgba(0, 0, 0, .24);
}
html.wpb-design body,
html.wpb-design button,
html.wpb-design input,
html.wpb-design select,
html.wpb-design textarea {
  font-family: "Segoe UI Variable", "Aptos", "Inter", "Segoe UI", sans-serif;
}
html.wpb-design body { background: var(--wpb-bg); color: var(--wpb-ink); }
html.wpb-design ::selection { background: #b4eadc; color: #073d3b; }
html.wpb-design :focus-visible { outline: 3px solid #5ed7c4 !important; outline-offset: 3px; }
html.wpb-design #root > .fixed.bottom-4 { left: 18px !important; bottom: 18px !important; }
html.wpb-design #root > .fixed.bottom-4 button {
  border-radius: 999px !important;
  background: var(--wpb-paper) !important;
  border: 1px solid var(--wpb-line) !important;
  color: var(--wpb-ink) !important;
  box-shadow: 0 8px 30px rgba(0, 26, 27, .13);
}
html.wpb-design #root > .min-h-screen { background: var(--wpb-bg) !important; }

/* Public navigation */
html.wpb-design #root header {
  background: rgba(250, 253, 251, .93) !important;
  border-color: var(--wpb-line) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  box-shadow: 0 1px 0 rgba(6, 63, 58, .04);
}
html.wpb-design.dark #root header { background: rgba(10, 33, 38, .93) !important; }
html.wpb-design #root header > div { max-width: 1440px; }
html.wpb-design #root header img { border-radius: 11px; }
html.wpb-design #root header span.font-bold { color: var(--wpb-ink) !important; letter-spacing: -.04em; }
html.wpb-design #root header nav a:not(:last-child) { color: var(--wpb-muted) !important; }
html.wpb-design #root header nav a:hover { color: var(--wpb-teal) !important; }
html.wpb-design #root header nav a:last-child {
  background: var(--wpb-ink) !important; color: var(--wpb-paper) !important;
  border-radius: 999px !important; padding: 11px 21px !important;
  box-shadow: 0 8px 20px rgba(8, 86, 80, .16);
}
html.wpb-design #root header nav a:last-child:hover { background: var(--wpb-teal-deep) !important; color: #fff !important; }

/* Landing page */
html.wpb-design.wpb-home #root > .min-h-screen { background: var(--wpb-bg) !important; }
html.wpb-design.wpb-home #root section.relative.pt-32 {
  min-height: min(870px, 95vh); margin: 72px 18px 18px; padding-top: 96px;
  border-radius: 30px; overflow: hidden; isolation: isolate;
}
html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 {
  background-image: url('/assets/hero-ai.png') !important;
  background-position: center 48% !important;
  filter: saturate(.82);
  transform: scale(1.01);
}
html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 > .absolute {
  background: linear-gradient(90deg, rgba(4, 31, 40, .94) 0%, rgba(5, 43, 49, .82) 35%, rgba(3, 39, 45, .20) 78%),
              linear-gradient(0deg, rgba(3, 28, 35, .56), transparent 55%) !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32 > .relative.z-10 {
  max-width: 1420px; padding-left: clamp(24px, 5vw, 90px); padding-right: clamp(24px, 5vw, 90px);
}
html.wpb-design.wpb-home #root section.relative.pt-32 h1 {
  max-width: 800px; font-size: clamp(3.25rem, 6vw, 6.75rem) !important;
  line-height: .98 !important; letter-spacing: -.075em; text-wrap: balance;
}
html.wpb-design.wpb-home #root section.relative.pt-32 h1 .wpb-highlight { color: var(--wpb-lime); }
html.wpb-design.wpb-home #root section.relative.pt-32 p { max-width: 720px; }
html.wpb-design.wpb-home #root section.relative.pt-32 .inline-block.rounded-full {
  background: rgba(216, 243, 124, .13) !important; border-color: rgba(216, 243, 124, .48) !important;
  color: var(--wpb-lime) !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32 a[href="/register-company"]:not(ol a) {
  background: var(--wpb-lime) !important; color: #173d39 !important;
  border-radius: 999px !important; box-shadow: 0 14px 35px rgba(4, 23, 29, .2);
}
html.wpb-design.wpb-home #root section.relative.pt-32 a[href="/login"]:not(ol a) { border-radius: 999px !important; }
html.wpb-design.wpb-home #root section.relative.pt-32 ol a {
  border-radius: 18px !important; background: rgba(255, 255, 255, .13) !important;
  border-color: rgba(255, 255, 255, .25) !important; box-shadow: 0 14px 30px rgba(4, 22, 29, .08);
}
html.wpb-design.wpb-home #root section.relative.pt-32 ol a:hover { background: rgba(255, 255, 255, .22) !important; }
.wpb-ai-label {
  position: absolute; right: 24px; bottom: 20px; z-index: 12;
  color: #fff; background: rgba(4, 30, 36, .65); padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px;
  backdrop-filter: blur(8px); font-size: 11px; letter-spacing: .025em;
}
html.wpb-design.wpb-home #root section:not(.relative) { background: var(--wpb-bg) !important; }
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(even) {
  background: linear-gradient(135deg, rgba(164, 225, 209, .17), rgba(239, 247, 226, .45)) !important;
}
html.wpb-design.wpb-home #root section:not(.relative) h2,
html.wpb-design.wpb-home #root section:not(.relative) h3 { color: var(--wpb-ink) !important; letter-spacing: -.045em; }
html.wpb-design.wpb-home #root section:not(.relative) h2 { text-wrap: balance; }
html.wpb-design.wpb-home #root section:not(.relative) p { color: var(--wpb-muted) !important; }
html.wpb-design.wpb-home #root section:not(.relative) .rounded-xl,
html.wpb-design.wpb-home #root section:not(.relative) .rounded-2xl {
  border-radius: 22px !important; border-color: var(--wpb-line) !important;
  background: var(--wpb-paper) !important; box-shadow: 0 12px 45px rgba(20, 82, 75, .055);
}
html.wpb-design.wpb-home #root section:not(.relative) .rounded-xl:hover,
html.wpb-design.wpb-home #root section:not(.relative) .rounded-2xl:hover { box-shadow: var(--wpb-shadow); transform: translateY(-3px); }

/* Introductory month: content stays explicit next to normal recurring prices. */
.wpb-intro {
  border-radius: 22px; padding: clamp(18px, 2.6vw, 29px);
  background: linear-gradient(115deg, #d9f5dd, #f3fbd9 65%, #d4f2ec);
  color: #163e3b; border: 1px solid #b2ddd0;
  box-shadow: 0 15px 38px rgba(6, 69, 60, .09);
}
.wpb-intro__eyebrow { display: block; color: #0b756a; font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 7px; }
.wpb-intro strong { display: block; font-size: clamp(1.24rem, 2vw, 1.72rem); letter-spacing: -.04em; line-height: 1.2; }
.wpb-intro p { margin-top: 10px; color: #315750 !important; font-size: .95rem; line-height: 1.55; }
.wpb-intro a { color: #075e59; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.wpb-intro--hero { max-width: 730px; margin-top: 32px; }
.wpb-intro--pricing { max-width: 980px; margin: -25px auto 38px; }
.wpb-intro--registration { margin-bottom: 26px; }
.wpb-trial-chip { display: inline-flex; margin: 0 0 14px; padding: 6px 10px; border-radius: 999px; background: #ddf5e7; color: #075e53; font-size: .75rem; font-weight: 800; }

/* Pricing cards and information pages */
html.wpb-design.wpb-pricing #root > .min-h-screen { background: var(--wpb-bg) !important; }
html.wpb-design.wpb-pricing #root section { background: transparent !important; padding-top: 72px; }
html.wpb-design.wpb-pricing #root section h1 { color: var(--wpb-ink) !important; letter-spacing: -.065em; }
html.wpb-design.wpb-pricing #root section > div > .text-center p { color: var(--wpb-muted) !important; }
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: stretch; }
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div {
  background: var(--wpb-paper) !important; border: 1px solid var(--wpb-line) !important;
  border-radius: 25px !important; padding: 30px !important; box-shadow: 0 14px 45px rgba(13, 70, 65, .06);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div:hover {
  transform: translateY(-5px); border-color: #8bccba !important; box-shadow: var(--wpb-shadow);
}
html.wpb-design.wpb-pricing #root section h3 { color: var(--wpb-ink) !important; letter-spacing: -.04em; }
html.wpb-design.wpb-pricing #root section .text-4xl.font-bold { color: var(--wpb-ink) !important; letter-spacing: -.055em; }
html.wpb-design.wpb-pricing #root section .grid a[href="/subscription"] {
  border-radius: 999px !important; background: var(--wpb-ink) !important; color: var(--wpb-paper) !important;
  min-height: 48px;
}
html.wpb-design.wpb-pricing #root section .grid a[href="/subscription"]:hover { background: var(--wpb-teal-deep) !important; color: #fff !important; }
html.wpb-design.wpb-pricing #root section .inline-flex.bg-slate-100,
html.wpb-design.wpb-pricing #root section .inline-flex.dark\:bg-slate-800 { border-radius: 999px !important; background: var(--wpb-paper) !important; border: 1px solid var(--wpb-line); padding: 5px !important; }
html.wpb-design.wpb-pricing #root section .inline-flex button { border-radius: 999px !important; }

/* Forms, account pages and product chrome */
html.wpb-design.wpb-auth #root > .min-h-screen,
html.wpb-design.wpb-auth #root > div.min-h-screen {
  background: radial-gradient(circle at 10% 12%, rgba(38, 165, 146, .35), transparent 31%),
              radial-gradient(circle at 91% 88%, rgba(179, 222, 127, .23), transparent 29%), #09282d !important;
  padding: 48px 18px !important;
}
html.wpb-design.wpb-auth #root > .min-h-screen > .max-w-md,
html.wpb-design.wpb-auth #root > .min-h-screen > .max-w-2xl,
html.wpb-design.wpb-auth #root > div.min-h-screen > .max-w-md,
html.wpb-design.wpb-auth #root > div.min-h-screen > .max-w-2xl {
  background: #f8fbf8 !important; color: #143a3c !important;
  border: 1px solid #dbe9e1; border-radius: 30px !important;
  box-shadow: 0 40px 100px rgba(0, 18, 23, .3); padding: clamp(24px, 4vw, 44px) !important;
}
html.wpb-design.wpb-auth #root .max-w-md h2,
html.wpb-design.wpb-auth #root .max-w-2xl h2,
html.wpb-design.wpb-auth #root .max-w-2xl h3 { color: #143a3c !important; letter-spacing: -.04em; }
html.wpb-design.wpb-auth #root .max-w-md label,
html.wpb-design.wpb-auth #root .max-w-2xl label { color: #31585a !important; }
html.wpb-design.wpb-auth #root input,
html.wpb-design.wpb-auth #root select,
html.wpb-design.wpb-auth #root textarea {
  background: #fff !important; color: #173d40 !important; border: 1px solid #c8ddd5 !important;
  border-radius: 13px !important; min-height: 45px;
}
html.wpb-design.wpb-auth #root input::placeholder { color: #728d89 !important; }
html.wpb-design.wpb-auth #root button[type="submit"] {
  background: #087f79 !important; color: #fff !important; min-height: 49px;
  border-radius: 999px !important; box-shadow: 0 12px 24px rgba(8, 127, 121, .18);
}
html.wpb-design.wpb-auth #root button[type="submit"]:hover { background: #076a65 !important; }
html.wpb-design.wpb-auth #root .max-w-md a,
html.wpb-design.wpb-auth #root .max-w-2xl a { color: #087f79 !important; }
html.wpb-design.wpb-auth #root .max-w-2xl .rounded-lg.border { background: #ecf8f1 !important; border-color: #bedcce !important; }
html.wpb-design.wpb-auth #root .max-w-2xl .rounded-lg.border p,
html.wpb-design.wpb-auth #root .max-w-2xl .rounded-lg.border strong { color: #285249 !important; }

html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main { background: var(--wpb-bg); }
html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main h1,
html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main h2 { letter-spacing: -.045em; }
html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main input,
html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main select,
html.wpb-design:not(.wpb-home):not(.wpb-pricing):not(.wpb-auth) #root main textarea { border-radius: 12px; }
html.wpb-design #root > .flex.h-screen { background: var(--wpb-bg) !important; }
html.wpb-design #root > .flex.h-screen > aside {
  background: var(--wpb-paper) !important; border-color: var(--wpb-line) !important;
  box-shadow: 10px 0 35px rgba(0, 36, 38, .045);
}
html.wpb-design #root > .flex.h-screen > aside > div:first-child { background: #082e32 !important; }
html.wpb-design #root > .flex.h-screen > aside nav { padding: 0 12px; }
html.wpb-design #root > .flex.h-screen > aside nav a {
  border: 0 !important; border-radius: 13px; padding: 13px 15px !important;
  margin-bottom: 4px; color: var(--wpb-muted) !important;
}
html.wpb-design #root > .flex.h-screen > aside nav a:hover { background: rgba(10, 145, 131, .11) !important; color: var(--wpb-teal) !important; }
html.wpb-design #root > .flex.h-screen > aside nav a.bg-primary\/10,
html.wpb-design #root > .flex.h-screen > aside nav a.dark\:bg-primary\/20 {
  background: rgba(10, 145, 131, .15) !important; color: var(--wpb-teal-deep) !important;
}
html.wpb-design #root > .flex.h-screen main {
  background: radial-gradient(circle at 95% 0%, rgba(127, 211, 180, .1), transparent 38%), var(--wpb-bg) !important;
}
html.wpb-design #root > .flex.h-screen main h1,
html.wpb-design #root > .flex.h-screen main h2 { color: var(--wpb-ink) !important; }
html.wpb-design #root > .flex.h-screen main .bg-white.dark\:bg-slate-800.rounded-xl,
html.wpb-design #root > .flex.h-screen main .bg-white.dark\:bg-slate-800.rounded-lg {
  background: var(--wpb-paper) !important; border: 1px solid var(--wpb-line) !important;
  border-radius: 20px !important; box-shadow: 0 12px 34px rgba(12, 73, 67, .06);
}
html.wpb-design #root > .flex.h-screen main button.bg-primary,
html.wpb-design #root > .flex.h-screen main a.bg-primary { background: #087f79 !important; border-radius: 999px !important; }
html.wpb-design #root > .flex.h-screen main button.bg-primary:hover,
html.wpb-design #root > .flex.h-screen main a.bg-primary:hover { background: #076a65 !important; }
html.wpb-design #root > .flex.h-screen main table { border-collapse: separate; border-spacing: 0; }
html.wpb-design #root > .flex.h-screen main table tr:hover td { background: rgba(127, 211, 180, .075); }
html.wpb-design #root button[hidden] { display: none !important; }
html.wpb-design #root footer { background: #08252b !important; border-top: 1px solid #236164 !important; }
html.wpb-design #root footer h3,
html.wpb-design #root footer a:hover { color: #e8fff6 !important; }
html.wpb-design #root footer a,
html.wpb-design #root footer p { color: #acc8c5 !important; }

@media (max-width: 1050px) {
  html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  html.wpb-design.wpb-home #root section.relative.pt-32 { margin: 64px 8px 8px; padding-top: 90px; min-height: auto; border-radius: 22px; }
  html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 { background-position: 63% center !important; }
  html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 > .absolute { background: linear-gradient(90deg, rgba(3, 31, 38, .91), rgba(3, 31, 38, .52)), linear-gradient(0deg, rgba(3, 31, 38, .5), transparent) !important; }
  html.wpb-design.wpb-home #root section.relative.pt-32 h1 { font-size: clamp(2.8rem, 12vw, 4.6rem) !important; }
  html.wpb-design.wpb-home #root section.relative.pt-32 ol { padding-bottom: 35px; }
  .wpb-ai-label { right: 14px; bottom: 12px; font-size: 10px; }
  html.wpb-design.wpb-pricing #root section { padding: 56px 18px 80px; }
  html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 { grid-template-columns: 1fr !important; }
  html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div { padding: 25px !important; }
  .wpb-intro--pricing { margin-top: -30px; }
}
@media (prefers-reduced-motion: reduce) {
  html.wpb-design { scroll-behavior: auto; }
  html.wpb-design * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
