/* Sign-in / sign-up / book-demo / analyze modals carried over from the previous landing page.
   Rules are extracted from styles.css + landing.css; .legacy-ui isolates them from the home page design. */
/* cyrillic-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwkT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwAT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwgT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwcT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwsT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwoT9mI1F55MKw.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCm3FwrK3iLTcvnUwQT9mI1F54.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvvYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvmYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvuYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvhYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvtYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvsYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Voxe Legacy Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwYZ8UA3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.legacy-ui {color-scheme:normal;--bg: #08090a;
    --surface: #0c0e12;
    --surface-2: #12141a;
    --border: rgba(255, 255, 255, 0.06);
    --border-strong: rgba(255, 255, 255, 0.1);
    --border-sub: rgba(255, 255, 255, 0.12);
    --text: #f7f8f8;
    --muted: #8a8f98;
    --footer-c: #6e7380;
    --accent: #4512e6;
    --accent-soft: #5e6ad2;
    --accent-l: #8b9bff;;font-family:"Voxe Legacy Inter",system-ui,-apple-system,sans-serif;font-optical-sizing:auto;font-weight:400;font-size:16px;line-height:normal;letter-spacing:-0.011em;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:where(.legacy-ui) a {color:revert;text-decoration:revert}
:where(.legacy-ui) button {font:revert}
:where(.legacy-ui) a:focus-visible, :where(.legacy-ui) button:focus-visible, :where(.legacy-ui) [tabindex]:focus-visible {outline:revert;outline-offset:revert}
:where(.legacy-ui) h1, :where(.legacy-ui) h2, :where(.legacy-ui) h3, :where(.legacy-ui) p {margin:0;font-weight:revert;letter-spacing:revert;font-size:revert;line-height:revert;color:revert}
:where(.legacy-ui) footer {padding:0}
:where(.legacy-ui) svg {width:auto;height:auto;fill:initial;stroke:initial;stroke-width:initial;stroke-linecap:initial;stroke-linejoin:initial;flex-shrink:initial}
:where(.legacy-ui) svg:where([fill="none"]) {fill:none}
:where(.legacy-ui) svg:where([height="13"]) {height:13px}
:where(.legacy-ui) svg:where([height="16"]) {height:16px}
:where(.legacy-ui) svg:where([stroke-linecap="round"]) {stroke-linecap:round}
:where(.legacy-ui) svg:where([stroke-linejoin="round"]) {stroke-linejoin:round}
:where(.legacy-ui) svg:where([stroke-width="1.5"]) {stroke-width:1.5}
:where(.legacy-ui) svg:where([stroke-width="2"]) {stroke-width:2}
:where(.legacy-ui) svg:where([stroke="currentColor"]) {stroke:currentColor}
:where(.legacy-ui) svg:where([width="13"]) {width:13px}
:where(.legacy-ui) svg:where([width="16"]) {width:16px}
:where(.legacy-ui) * {margin: 0;
    padding: 0;
    box-sizing: border-box;}
.modal-overlay {position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding: 40px 20px;
    overflow-y: auto;}
.modal-overlay.active {opacity: 1;
    visibility: visible;}
.modal-container {background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    width: 100%;
    max-width: 420px;
    text-align: center;
    transform: translateY(20px);
    transition: transform 0.3s ease;
    margin: auto;
    flex-shrink: 0;}
.modal-overlay.active .modal-container {transform: translateY(0);}
.modal-title {font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 500;
    color: #313042;
    margin: 0 0 8px 0;}
.modal-subtext {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #504F5E;
    margin: 0 0 28px 0;}
.modal-oauth-buttons {display: flex;
    gap: 12px;
    margin-bottom: 28px;}
.oauth-btn {flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: #ffffff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;}
.oauth-btn:hover {background: #F7F7F7;
    border-color: #D0D0D0;}
.oauth-icon {width: 20px;
    height: 20px;}
.oauth-btn span {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #313042;}
.modal-email-label {display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #313042;
    text-align: left;
    margin-bottom: 12px;}
.modal-input-wrapper {position: relative;
    margin-bottom: 20px;}
.input-icon {position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    pointer-events: none;}
.modal-email-input {width: 100%;
    padding: 14px 14px 14px 44px;
    background: #ffffff;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #313042;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-email-input::placeholder {color: #6B7280;}
.modal-email-input:hover {border-color: #9CA3AF;}
.modal-email-input:focus {border-color: #4512E6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(69, 18, 230, 0.18), inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-submit-btn {width: 100%;
    padding: 14px 20px;
    background: #313042;
    border: none;
    border-radius: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-bottom: 20px;}
.modal-submit-btn:hover {background: #25263a;}
.modal-signin-text {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #313042;
    margin: 0 0 40px 0;}
.modal-signin-text--compact {margin-bottom: 20px;}
.modal-password-wrapper .modal-email-input {padding-left: 14px;}
.modal-password-row {margin-top: -8px;}
.modal-link-btn {display: inline;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    color: #4512E6;
    text-decoration: none;}
.modal-link-btn:hover {text-decoration: underline;}
.modal-forgot-password-row {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    text-align: center;
    margin: 0 0 16px 0;}
.modal-forgot-password-row--password-panel {text-align: right;
    margin: 4px 0 0 0;}
#signin-otp-password-panel .modal-password-wrapper {margin-bottom: 0;}
.modal-signin-link {color: #4512E6;
    text-decoration: none;
    font-weight: 500;}
.modal-signin-link:hover {text-decoration: underline;}
.modal-terms {font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #9D9DA5;
    margin: 0;
    line-height: 1.5;}
.modal-terms-link {color: #4512E6;
    text-decoration: underline;}
.modal-terms-link:hover {opacity: 0.8;}
@media (max-width: 480px) {
  .modal-container {padding: 28px 24px;
        max-width: 100%;}
  .modal-title {font-size: 24px;}
  .modal-oauth-buttons {flex-direction: column;
        gap: 10px;}
  .oauth-btn {padding: 12px 16px;}
}
body.modal-open {overflow: hidden;}
.modal-otp-back-row {width: 100%;
    text-align: left;
    margin: 0 0 8px 0;}
.modal-otp-back {display: inline-flex;
    align-items: center;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #4512E6;
    cursor: pointer;
    transition: opacity 0.2s ease;}
.modal-otp-back:hover {opacity: 0.88;
    text-decoration: underline;}
.modal-otp-back::before {content: '←';
    margin-right: 8px;
    text-decoration: none;
    font-weight: 600;}
.modal-auth-step--otp {margin-bottom: 4px;}
.modal-container .modal-otp-row {display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 20px;
    flex-wrap: nowrap;}
.modal-container .modal-otp-row[hidden],
.modal-container .modal-otp-resend-row[hidden] {display: none !important;}
.modal-container .modal-otp-cell {width: 44px;
    height: 48px;
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #313042;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    background: #F7F7F7;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s ease, background 0.2s ease;}
.modal-container .modal-otp-cell:focus {border-color: #4512E6;
    background: #fff;}
.modal-container .modal-otp-cell:disabled {opacity: 0.65;}
.modal-otp-email-hint {color: #4512E6;
    font-weight: 600;
    word-break: break-all;}
.modal-auth-error {font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #c62828;
    margin: -8px 0 12px 0;
    text-align: left;
    line-height: 1.4;}
.modal-auth-error[hidden] {display: none !important;}
.modal-otp-resend-row {margin-top: 4px;
    margin-bottom: 4px;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;}
.modal-otp-resend-countdown {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #81818B;
    margin: 0;}
.modal-otp-resend-countdown[hidden],
.modal-otp-resend-btn[hidden] {display: none !important;}
.modal-otp-resend-btn {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #4512E6;
    background: none;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;}
.modal-otp-resend-btn:hover:not(:disabled) {opacity: 0.88;}
.modal-otp-resend-btn:disabled {opacity: 0.5;
    cursor: not-allowed;
    text-decoration: none;}
.signin-otp-password-footer {margin-top: 12px;}
.modal-otp-password-link-row,
.modal-otp-back-code-row {font-family: 'Outfit', sans-serif;
    font-size: 14px;
    text-align: center;
    margin: 14px 0 0 0;}
.modal-otp-back-code-row {margin-top: 10px;
    margin-bottom: 0;}
.signin-otp-password-submit {margin-top: 14px;
    margin-bottom: 0;}
@media (max-width: 480px) {
  .modal-container .modal-otp-cell {width: 40px;
        height: 44px;
        font-size: 18px;}
  .modal-container .modal-otp-row {gap: 6px;}
}
.verify-card.modal-container {transform: none;
    text-align: center;}
.verify-otp-row {display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 24px;
    flex-wrap: nowrap;}
.verify-otp-cell {width: 44px;
    height: 48px;
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #313042;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    background: #F7F7F7;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s ease;}
.verify-otp-cell:focus {border-color: #4512E6;
    background: #fff;}
.verify-otp-cell:disabled {opacity: 0.7;}
@media (max-width: 480px) {
  .verify-otp-cell {width: 40px;
        height: 44px;
        font-size: 18px;}
  .verify-otp-row {gap: 6px;}
}
.demo-form-row {display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;}
.demo-form-row .modal-input-wrapper {margin-bottom: 0;}
#demo-form .modal-input-wrapper {margin-bottom: 16px;}
#demo-form .demo-form-row {margin-bottom: 16px;}
.modal-text-input {width: 100%;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #313042;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-text-input::placeholder {color: #6B7280;}
.modal-text-input:hover {border-color: #9CA3AF;}
.modal-text-input:focus {outline: none;
    border-color: #4512E6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(69, 18, 230, 0.18), inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-select-input {width: 100%;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #313042;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(12, 13, 8, 0.04);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;}
.modal-select-input:hover {border-color: #9CA3AF;}
.modal-select-input:focus {outline: none;
    border-color: #4512E6;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(69, 18, 230, 0.18), inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-select-input option {color: #313042;}
.modal-select-input option:disabled {color: #6B7280;}
.modal-textarea-input {width: 100%;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #313042;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(12, 13, 8, 0.04);
    resize: vertical;
    min-height: 80px;}
.modal-textarea-input::placeholder {color: #6B7280;}
.modal-textarea-input:hover {border-color: #9CA3AF;}
.modal-textarea-input:focus {outline: none;
    border-color: #4512E6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(69, 18, 230, 0.18), inset 0 1px 2px rgba(12, 13, 8, 0.04);}
.modal-phone-wrapper {display: flex;
    gap: 0;}
.phone-country-select {flex-shrink: 0;}
.modal-country-code {height: 100%;
    padding: 14px 6px 14px 10px;
    background: #ffffff;
    border: 1px solid #D1D5DB;
    border-right: none;
    border-radius: 8px 0 0 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #313042;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 5px center;
    padding-right: 18px;
    width: 75px;}
.modal-country-code:hover {border-color: #9CA3AF;}
.modal-country-code:focus {outline: none;
    border-color: #4512E6;
    box-shadow: 0 0 0 3px rgba(69, 18, 230, 0.18);
    z-index: 1;
    position: relative;}
.modal-phone-wrapper .modal-phone-input {flex: 1;
    border-radius: 0 8px 8px 0;
    min-width: 0;}
.modal-phone-wrapper .modal-phone-input:focus {z-index: 1;
    position: relative;}
#demo-form .modal-submit-btn {margin-bottom: 0;}
.demo-field-hint {font-size: 12px;
    color: #6B7280;
    margin: 6px 0 0;
    line-height: 1.45;}
.demo-field-error {font-size: 12px;
    color: #DC2626;
    margin: 6px 0 0;
    line-height: 1.4;}
.demo-field-group.has-field-error .modal-text-input,
.demo-field-group.has-field-error .modal-select-input,
.demo-field-group.has-field-error .modal-textarea-input,
.demo-field-group.has-field-error .modal-country-code {border-color: #DC2626;}
.demo-field-group.has-field-error .modal-phone-wrapper .modal-text-input {border-color: #DC2626;}
.demo-form-banner {font-size: 13px;
    line-height: 1.45;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 16px;}
.demo-form-banner--error {background: rgba(220, 38, 38, 0.08);
    color: #991B1B;
    border: 1px solid rgba(220, 38, 38, 0.25);}
.demo-form-success {text-align: center;
    padding: 0;}
.demo-success-hint {font-size: 13px;
    color: #6B7280;
    margin: 16px 0 0;
    line-height: 1.45;}
.demo-success-schedule-btn.modal-submit-btn {margin-bottom: 0;
    width: 100%;
    max-width: 100%;}
@media (max-width: 480px) {
  .demo-form-row {grid-template-columns: 1fr;
        gap: 0;}
  .demo-form-row .modal-input-wrapper {margin-bottom: 16px;}
  .modal-country-code {width: 70px;
        padding: 12px 5px 12px 8px;
        font-size: 13px;}
  .modal-phone-wrapper .modal-phone-input {padding: 12px;
        font-size: 14px;}
}
.am-id-modal {position: relative;
    z-index: 1;
    width: min(58em, 98%);
    max-height: min(90cqh, 92%);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #1e1e1e;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0.85em;
    box-shadow: 0 1.5em 4em rgba(0, 0, 0, 0.55);
    font-size: clamp(13px, 1.18cqw, 15.5px);}
.analyze-dialog-overlay {position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 200ms ease, visibility 200ms ease;}
.analyze-dialog-overlay.active {opacity: 1;
    visibility: visible;}
.analyze-dialog-content {--analyze-dialog-inset: 30px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(405px, 95%);
    min-height: 309px;
    max-height: 90vh;
    overflow: visible;
    padding: 0;
    border: 1px solid #414141;
    border-radius: 16px;
    background: #303030;
    color: #eaeaea;
    box-shadow: -4px 5px 16px #00000029;
    text-align: left;
    outline: none;
    opacity: 0;
    transform: scale(0.95) translateY(2%);
    transition:
        opacity 200ms ease,
        transform 200ms ease;}
.analyze-dialog-overlay.active .analyze-dialog-content {opacity: 1;
    transform: scale(1) translateY(0);}
.analyze-dialog-close {display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    padding: 0;
    border: none;
    background: transparent;
    color: #EAEAEA;
    opacity: 1;
    cursor: pointer;
    transition: opacity 200ms ease;}
.analyze-dialog-close:hover {opacity: 0.85;}
.analyze-dialog-close:focus-visible {outline: 2px solid #4512e6;
    outline-offset: 2px;}
.analyze-dialog-close-icon {width: 13px;
    height: 13px;}
.analyze-dialog-sr-only {position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;}
.analyze-dialog-header {display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: left;
    position: relative;
    padding: 16px var(--analyze-dialog-inset) 12px var(--analyze-dialog-inset);
    flex-shrink: 0;}
.analyze-dialog-header::after {content: '';
    position: absolute;
    left: var(--analyze-dialog-inset);
    right: var(--analyze-dialog-inset);
    bottom: 0;
    height: 1px;
    background: #414141;}
.analyze-dialog-title {flex: 1;
    min-width: 0;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 23px;
    letter-spacing: 0;
    text-align: left;
    color: #EAEAEA;
    margin: 0;}
.analyze-dialog-body {display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
    padding: 16px 30px 0;}
.analyze-dialog-section-title {font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #eaeaea;
    margin: 0;}
.analyze-dialog-description {font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #8a8f98;
    margin: 0;}
.analyze-dialog-search {position: relative;
    margin-top: 4px;}
.analyze-dialog-search-input {width: 100%;
    padding: 10px 40px 10px 12px;
    background: #262626;
    border: 1px solid #414141;
    border-radius: 8px;
    font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #eaeaea;
    outline: none;
    box-sizing: border-box;
    transition: border-color 200ms ease, box-shadow 200ms ease;}
.analyze-dialog-search-input::placeholder {color: #8a8f98;}
.analyze-dialog-search-input:hover {border-color: #3a3a3a;}
.analyze-dialog-search-input:focus {border-color: #4512e6;
    box-shadow: 0 0 0 2px rgba(69, 18, 230, 0.2);}
.analyze-dialog-search-icon {position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #8a8f98;
    pointer-events: none;}
.analyze-dialog-results {position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 10;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #262626;
    border: 1px solid #414141;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    max-height: 232px;
    overflow-y: auto;}
.analyze-dialog-result-item {display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #eaeaea;
    cursor: pointer;
    transition: background 150ms ease;}
.analyze-dialog-result-item:hover,
.analyze-dialog-result-item[aria-selected="true"] {background: #3a3a3a;}
.analyze-dialog-result-item--status {cursor: default;
    color: #8a8f98;}
.analyze-dialog-result-item--status:hover {background: transparent;}
.analyze-dialog-result-icon {flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: cover;
    background: #3d3d3d;}
.analyze-dialog-result-icon--hidden {display: none;}
.analyze-dialog-result-name {flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;}
.analyze-dialog-footer {display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 8px;
    flex-shrink: 0;
    margin-top: 36px;
    padding: 0 30px 34px;}
.analyze-dialog-btn {display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 87px;
    height: 41px;
    padding: 0;
    border: none;
    border-radius: 6px;
    font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    opacity: 1;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, opacity 200ms ease;}
.analyze-dialog-btn--outline {background: #3D3D3D;
    color: #eaeaea;}
.analyze-dialog-btn--outline:hover {background: #474747;}
.analyze-dialog-btn--primary {background: #eaeaea;
    color: #303030;}
.analyze-dialog-btn--primary:hover {background: #ffffff;}
.analyze-dialog-btn:focus-visible {outline: 2px solid #4512e6;
    outline-offset: 2px;}
@media (min-width: 640px) {
  .analyze-dialog-footer {flex-direction: row;
        justify-content: flex-end;
        align-items: center;}
}
.analyze-dialog-content.is-loading .analyze-dialog-header,
.analyze-dialog-content.is-loading .analyze-dialog-body,
.analyze-dialog-content.is-loading .analyze-dialog-footer {display: none;}
.analyze-dialog-content.is-loading .analyze-dialog-loading {display: flex !important;}
.analyze-dialog-loading {display: none;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 28px 30px 30px;
    text-align: left;}
.analyze-steps {width: 100%;}
.analyze-steps[hidden],
.analyze-dialog-content.is-error .analyze-steps {display: none !important;}
.analyze-steps-header-inner {display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.25rem;}
.analyze-steps-badge {width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;}
.analyze-steps-badge--icon {background: #2e2e2e;}
.analyze-steps-icon {width: 44px;
    height: 44px;
    object-fit: cover;
    display: block;}
.analyze-steps-badge-text {color: #fff;
    font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -0.5px;}
.analyze-steps-title {margin: 0;
    font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #eaeaea;
    line-height: 1.4;}
.analyze-steps-subtitle {margin: 2px 0 0;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: #7e7e7e;}
.analyze-steps-divider {height: 0.5px;
    background: #414141;
    margin-bottom: 1.25rem;}
.analyze-steps-list {display: flex;
    flex-direction: column;}
.analyze-step-row {display: flex;}
.analyze-step-rail {display: flex;
    flex-direction: column;
    align-items: center;
    width: 28px;
    flex-shrink: 0;
    margin-right: 12px;}
.analyze-step-icon {width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s, border-color 0.2s;}
.analyze-step-icon--idle {border: 1.5px solid #555;
    background: transparent;}
.analyze-step-icon--active,
.analyze-step-icon--done {border: 2px solid #5b4fcf;
    background: transparent;}
.analyze-step-icon--done {background: #5b4fcf;}
.analyze-step-spinner {width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(91, 79, 207, 0.25);
    border-top-color: #5b4fcf;
    animation: analyze-step-spin 0.7s linear infinite;}
.analyze-step-check {animation: analyze-step-pop-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;}
.analyze-step-connector {width: 1.5px;
    flex: 1;
    min-height: 24px;
    margin: 3px 0;
    background: #414141;
    position: relative;
    overflow: hidden;}
.analyze-step-connector-fill {position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: #5b4fcf;
    transition: height 0.4s ease;}
.analyze-step-connector-fill--full {height: 100%;}
.analyze-step-content {padding-bottom: 20px;
    padding-top: 1px;
    flex: 1;
    min-width: 0;}
.analyze-step-content--last {padding-bottom: 0;}
.analyze-step-label {margin: 0;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    color: #7e7e7e;
    transition: color 0.2s;}
.analyze-step-label--active {color: #eaeaea;
    font-weight: 500;}
.analyze-step-progress {margin-top: 8px;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: #414141;
    overflow: hidden;}
.analyze-step-progress-fill {height: 100%;
    border-radius: 999px;
    background: #5b4fcf;
    transition: width 0.35s ease;}
.analyze-loading-error {display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;}
.analyze-loading-error[hidden] {display: none;}
.analyze-loading-error-text {font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #eaeaea;
    margin: 0;
    max-width: 301px;
    text-align: center;}
.analyze-loading-error-actions {display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;}
.preview-ingestion-bar {position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2500;
    display: flex;
    justify-content: center;
    padding: 0 16px 20px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease;}
.preview-ingestion-bar[hidden] {display: none;}
.preview-ingestion-bar.active {opacity: 1;
    visibility: visible;
    transform: translateY(0);}
.preview-ingestion-bar-btn {pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: min(480px, 100%);
    padding: 10px 16px;
    background: #303030;
    border: 1px solid #414141;
    border-radius: 999px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transition: background 200ms ease, border-color 200ms ease;}
.preview-ingestion-bar-btn:hover {background: #383838;
    border-color: #4d4d4d;}
.preview-ingestion-bar .analyze-spinner {--spinner-size: 20px;
    --spinner-color: #eaeaea;
    width: var(--spinner-size);
    height: var(--spinner-size);
    margin-bottom: 0;}
.preview-ingestion-bar-text {font-family: 'Voxe Legacy Inter', system-ui, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    color: #eaeaea;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;}
.analyze-spinner {--spinner-size: 88px;
    --spinner-speed: 1s;
    --spinner-color: #ffffff;
    position: relative;
    display: inline-block;
    width: var(--spinner-size);
    height: var(--spinner-size);
    flex-shrink: 0;
    margin-bottom: 16px;}
.analyze-spinner i {position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--spinner-size) * 0.1);
    height: calc(var(--spinner-size) * 0.295);
    margin-top: calc(var(--spinner-size) * -0.5);
    margin-left: calc(var(--spinner-size) * -0.05);
    border-radius: calc(var(--spinner-size) * 0.05);
    background: var(--spinner-color);
    transform-origin: center calc(var(--spinner-size) * 0.5);
    animation: analyze-spinner-fade var(--spinner-speed) linear infinite;}
.analyze-spinner i:nth-child(1) {transform: rotate(0deg);   animation-delay: -1s;}
.analyze-spinner i:nth-child(2) {transform: rotate(30deg);  animation-delay: -0.916667s;}
.analyze-spinner i:nth-child(3) {transform: rotate(60deg);  animation-delay: -0.833333s;}
.analyze-spinner i:nth-child(4) {transform: rotate(90deg);  animation-delay: -0.75s;}
.analyze-spinner i:nth-child(5) {transform: rotate(120deg); animation-delay: -0.666667s;}
.analyze-spinner i:nth-child(6) {transform: rotate(150deg); animation-delay: -0.583333s;}
.analyze-spinner i:nth-child(7) {transform: rotate(180deg); animation-delay: -0.5s;}
.analyze-spinner i:nth-child(8) {transform: rotate(210deg); animation-delay: -0.416667s;}
.analyze-spinner i:nth-child(9) {transform: rotate(240deg); animation-delay: -0.333333s;}
.analyze-spinner i:nth-child(10) {transform: rotate(270deg); animation-delay: -0.25s;}
.analyze-spinner i:nth-child(11) {transform: rotate(300deg); animation-delay: -0.166667s;}
.analyze-spinner i:nth-child(12) {transform: rotate(330deg); animation-delay: -0.083333s;}
@media (prefers-reduced-motion: reduce) {
  .analyze-spinner {--spinner-speed: 2s;}
}
@keyframes analyze-step-spin {
    to { transform: rotate(360deg); }
}
@keyframes analyze-step-pop-in {
    0%   { transform: scale(0); opacity: 0; }
    60%  { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
@keyframes analyze-spinner-fade {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.08;
    }
}
