@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

.login-signup-page { min-height: 100%; margin: 0; color: #0b1548; background-color: #0f55c8; font-family: "Public Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.login-signup-page *, .login-signup-page *::before, .login-signup-page *::after { box-sizing: border-box; }
.login-signup-page button, .login-signup-page input { margin: 0; font: inherit; }
.login-signup-page button { cursor: pointer; }
.login-signup-page img, .login-signup-page svg { display: block; max-width: 100%; }
.login-signup-page p, .login-signup-page h1, .login-signup-page h2, .login-signup-page h3, .login-signup-page h4, .login-signup-page h5, .login-signup-page h6 { margin: 0; }
.login-signup-page [hidden] { display: none !important; }

.ilp { display: grid; min-height: 100vh; padding: 4rem 2rem; align-items: center; justify-items: center; grid-template-rows: auto 1fr; background: #123a9f; position: relative; overflow: hidden; }
.ilp__scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.ilp__scene-sky, .ilp__scene-hills, .ilp__scene-clouds, .ilp__scene-stars, .ilp__scene-moon, .ilp__scene-sun, .ilp__scene-rays, .ilp__scene-flight, .ilp__scene-birds { transition: opacity .45s ease, filter .45s ease; }
.ilp__scene-birds { transform-box: fill-box; transform-origin: center; animation: ilp-birds 9s ease-in-out infinite alternate; }
.ilp__bird-wing { transform-box: fill-box; transform-origin: 68% 65%; }
/* Every crane has a separate wing beat, progressing along the flight path. */
.ilp__scene-birds > g:nth-child(1) .ilp__bird-wing { transform: rotate(17deg) scaleY(1.16); animation: ilp-wing-up 2.8s ease-in-out infinite alternate; }
.ilp__scene-birds > g:nth-child(2) .ilp__bird-wing { transform: rotate(-10deg) scaleY(.8); animation: ilp-wing-down 3.1s ease-in-out -.7s infinite alternate; }
.ilp__scene-birds > g:nth-child(3) .ilp__bird-wing { transform: rotate(9deg) scaleY(1.08); animation: ilp-wing-up 2.6s ease-in-out -1.4s infinite alternate; }
.ilp__scene-birds > g:nth-child(4) .ilp__bird-wing { transform: rotate(-15deg) scaleY(.76); animation: ilp-wing-down 3s ease-in-out -2s infinite alternate; }
.ilp__scene-birds > g:nth-child(5) .ilp__bird-wing { transform: rotate(13deg) scaleY(1.12); animation: ilp-wing-up 2.7s ease-in-out -1s infinite alternate; }
.ilp__scene-stars { animation: ilp-scene-stars 3.8s ease-in-out infinite; }
@keyframes ilp-birds { to { transform: translate(18px,-10px); } } @keyframes ilp-scene-stars { 50% { opacity: .45; } }
@keyframes ilp-wing-up { to { transform: rotate(-7deg) scaleY(.84); } } @keyframes ilp-wing-down { to { transform: rotate(14deg) scaleY(1.13); } }
[data-theme="dark"] .ilp__scene-sky { filter: brightness(.38) saturate(.9); }
[data-theme="dark"] .ilp__scene-glow, [data-theme="dark"] .ilp__scene-sun, [data-theme="dark"] .ilp__scene-rays, [data-theme="dark"] .ilp__scene-clouds { opacity: .12; }
[data-theme="dark"] .ilp__scene-hills { filter: brightness(.45) saturate(.85); }
[data-theme="dark"] .ilp__scene-birds { filter: brightness(.72) saturate(.8); }
[data-theme="dark"] .ilp__scene-moon { opacity: .9; }
/* A full-scene veil gives dark mode a clear visual change in every browser. */
[data-theme="dark"] .ilp::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(135deg, rgba(3,8,31,.62), rgba(4,12,43,.48)); }
.ilp::before { content: ''; position: absolute; inset: 0; background:
  radial-gradient(circle at 12% 22%, rgba(255,255,255,.9) 0 2px, transparent 3px),
  radial-gradient(circle at 28% 68%, rgba(255,255,255,.75) 0 2.5px, transparent 3.5px),
  radial-gradient(circle at 72% 18%, rgba(255,255,255,.85) 0 2px, transparent 3px),
  radial-gradient(circle at 88% 63%, rgba(255,255,255,.7) 0 2.5px, transparent 3.5px),
  radial-gradient(circle at 56% 84%, rgba(255,255,255,.8) 0 2px, transparent 3px); opacity: .65; animation: ilp-dots 7s ease-in-out infinite alternate; pointer-events: none; }
.ilp > * { position: relative; z-index: 1; }
.ilp > .ilp__scene { position: absolute; z-index: 0; }
@keyframes ilp-dots { 0%, 100% { opacity: .35; transform: translate(0, 0); } 50% { opacity: .85; transform: translate(8px, -5px); } }
.ilp__logo { width: min(100%, 68rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ilp__theme { display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; background: rgba(7,16,51,.24); backdrop-filter: blur(.5rem); cursor: pointer; }
.ilp__theme svg { width: 1.15rem; height: 1.15rem; }.ilp__theme .i-moon { display: none; }
[data-theme="dark"] .ilp__theme .i-sun { display: none; } [data-theme="dark"] .ilp__theme .i-moon { display: block; }
[data-theme="dark"] .login-signup-page { color: #eef2ff; background-color: #071033; }
[data-theme="dark"] .ilp__container { background: rgba(10,17,54,.92); border-color: rgba(255,255,255,.16); box-shadow: 0 1.25rem 3.25rem rgba(0,0,0,.38); }
[data-theme="dark"] .ilp__divider { background: rgba(255,255,255,.14); }
[data-theme="dark"] .ilp__h1, [data-theme="dark"] .ilp__h2, [data-theme="dark"] .ilp__h3 { color: #fff; }
[data-theme="dark"] .ilp__text, [data-theme="dark"] .ilp__label, [data-theme="dark"] .ilp__mfa-help, [data-theme="dark"] .ilp__news-description, [data-theme="dark"] .ilp__news-date { color: #b9c3df; }
[data-theme="dark"] .ilp__control, [data-theme="dark"] .ilp__mfa-code, [data-theme="dark"] .ilp__social, [data-theme="dark"] .ilp__news-card { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.18); color: #eef2ff; }
[data-theme="dark"] .ilp__input, [data-theme="dark"] .ilp__mfa-code { color: #fff; }
[data-theme="dark"] .ilp__control:focus-within, [data-theme="dark"] .ilp__mfa-code:focus { background: rgba(255,255,255,.09); }
[data-theme="dark"] .ilp__news-card:hover { background: rgba(255,255,255,.09); }

.ilp__logo-link { display: inline-block; text-decoration: none; }
.ilp__logo-link:hover img { opacity: .92; }
.ilp__logo img { width: 12rem; height: auto; margin-bottom: 1rem; transition: opacity 160ms ease; }
.ilp__container { display: grid; grid-template-columns: minmax(20rem, 25rem) 1px minmax(24rem, 1fr); width: min(100%, 68rem); gap: 2.25rem; padding: 2.5rem; border: 1px solid rgba(255, 255, 255, .72); border-radius: 1.25rem; background: rgba(255, 255, 255, .92); box-shadow: 0 1.25rem 3.25rem rgba(4, 18, 58, .2); backdrop-filter: blur(.75rem); }
.ilp__login, .ilp__news, .ilp__login-view { min-width: 0; }
.ilp__h1 { font-size: 2.125rem; font-weight: 800; line-height: 1.2; }
.ilp__h2 { font-size: 2rem; font-weight: 700; line-height: 1.25; }
.ilp__h3 { display: block; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.ilp__text { max-width: 22rem; margin: 1rem 0 1.5rem; color: #4d5b85; font-size: 1rem; }
.ilp__login-view > .ilp__text { margin-bottom: 2rem; }
.ilp__label { font-size: .875rem; font-weight: 600; line-height: 1.25; }
.ilp__error { margin-bottom: 1rem; color: #c6292d; font-size: .875rem; font-weight: 400; line-height: 1.5; }
.ilp__input, .ilp__button { font-family: "Public Sans", sans-serif; font-size: 1rem; line-height: 1.25; }
.ilp__hidden-input { display: none; }
.ilp__divider { width: 1px; min-height: 100%; background: #e3e8f3; }
.ilp__form { display: grid; gap: 1rem; }
.ilp__reset-view, .ilp__create-view, .ilp__mfa-view { min-width: 0; align-content: start; }
.ilp__reset-form, .ilp__create-form, .ilp__mfa-form { display: grid; gap: 1rem; }
.ilp__reset-actions, .ilp__create-actions, .ilp__mfa-actions { margin-top: .25rem; }
.ilp__reset-back, .ilp__create-back, .ilp__mfa-back { display: inline-flex; align-items: center; justify-self: start; gap: .375rem; margin-bottom: 1.25rem; padding: 0; border: 0; color: #086cff; background: transparent; font-size: .8125rem; font-weight: 600; }
.ilp__notice { margin-top: 1rem; padding: .875rem 1rem; border: 1px solid #bfe4c5; border-radius: .5rem; color: #1f7a37; background-color: #ebf8ee; font-size: .8125rem; }
.ilp__reset-help, .ilp__create-help { margin-top: 1rem; color: #7280a6; font-size: .8125rem; }
.ilp__mfa-method { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1.25rem; padding: .75rem .875rem; border: 1px solid #e3e8f3; border-radius: .5rem; color: #4d5b85; background-color: rgba(255,255,255,.64); font-size: .8125rem; font-weight: 600; }
.ilp__mfa-method .ilp__icon { color: #086cff; }
.ilp__mfa-code { width: 100%; min-height: 3.25rem; padding: 0 .875rem; border: 1px solid #cfd7ea; border-radius: .375rem; outline: 0; color: #0b1548; background-color: rgba(255,255,255,.76); font-size: 1.5rem; font-weight: 700; line-height: 1.2; letter-spacing: .35rem; text-align: center; font-variant-numeric: tabular-nums; transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.ilp__mfa-code::placeholder { color: #cfd7ea; }.ilp__mfa-code:focus { border-color: #086cff; background-color: #fff; box-shadow: 0 0 0 .1875rem rgba(8,108,255,.12); }.ilp__mfa-help { color: #7280a6; font-size: .8125rem; }
.ilp__mfa-secondary-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }.ilp__link-button { padding: 0; border: 0; color: #086cff; background: transparent; font-size: .8125rem; font-weight: 600; text-align: left; }.ilp__link-button:hover { color: #004ed8; }
.ilp__strength { display: grid; gap: .375rem; --ilp-strength-color: #7280a6; --ilp-strength-width: 0%; }.ilp__strength[data-ilp-strength="weak"] { --ilp-strength-color: #c6292d; }.ilp__strength[data-ilp-strength="fair"] { --ilp-strength-color: #d98217; }.ilp__strength[data-ilp-strength="good"] { --ilp-strength-color: #086cff; }.ilp__strength[data-ilp-strength="strong"] { --ilp-strength-color: #1f7a37; }
.ilp__strength-track { height: .5rem; overflow: hidden; border-radius: 999px; background-color: #e3e8f3; }.ilp__strength-bar { display: block; width: var(--ilp-strength-width); height: 100%; border-radius: inherit; background-color: var(--ilp-strength-color); transition: width 160ms ease, background-color 160ms ease; }.ilp__strength-row { display: flex; justify-content: space-between; gap: 1rem; color: #7280a6; font-size: .8125rem; }.ilp__strength-label, .ilp__strength-score { color: var(--ilp-strength-color); font-weight: 600; }
.ilp__requirements { display: grid; gap: .375rem; margin: .25rem 0 0; padding: 0; color: #7280a6; font-size: .8125rem; list-style: none; }.ilp__requirements li { display: flex; align-items: center; gap: .5rem; }.ilp__requirements li::before { width: .5rem; height: .5rem; border-radius: 50%; background-color: #cfd7ea; content: ''; }.ilp__requirements li.is-met { color: #4d5b85; }.ilp__requirements li.is-met::before { background-color: #1f7a37; }
.ilp__field { display: grid; gap: .5rem; }
.ilp__control { display: grid; grid-template-columns: 1.5rem 1fr; align-items: center; min-height: 3rem; padding: 0 .875rem; border: 1px solid #cfd7ea; border-radius: .375rem; background-color: rgba(255, 255, 255, .76); transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease; }
.ilp__control:focus-within { border-color: #086cff; background-color: #fff; box-shadow: 0 0 0 .1875rem rgba(8, 108, 255, .12); }
.ilp__input { width: 100%; min-width: 0; border: 0; outline: 0; color: #0b1548; background: transparent; }
.ilp__input::placeholder { color: #7280a6; }
.ilp__icon { display: inline-flex; flex: 0 0 auto; width: 1rem; height: 1rem; align-items: center; justify-content: center; color: currentColor; }
.ilp__icon svg { display: block; width: 100%; height: 100%; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.ilp__control .ilp__icon { width: 1.25rem; height: 1.25rem; color: #7280a6; }
.ilp__form-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: -.125rem; }
.ilp__remember { display: inline-flex; align-items: center; gap: .5rem; color: #4d5b85; font-size: .8125rem; }
.ilp__checkbox { width: 1rem; height: 1rem; accent-color: #086cff; }
.ilp__link, .ilp__news-more { color: #7280a6; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.ilp__link:hover, .ilp__news-more:hover { color: #4d5b85; }
.ilp__actions { margin-top: .25rem; }
.ilp__button { display: inline-flex; width: 100%; min-height: 3.125rem; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: .375rem; font-weight: 700; text-decoration: none; }
.ilp__button--submit { color: #fff; background: linear-gradient(90deg, #ff5b16, #ff4a0a); box-shadow: 0 .625rem 1.25rem rgba(255, 82, 13, .24); }
.ilp__button--outline { gap: .5rem; color: #ff5a16; border-color: #ff5a16; background: #fff; }
.ilp__button .ilp__icon { width: 1.25rem; height: 1.25rem; }
.ilp__separator { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .875rem; margin: 1.125rem 0; color: #7280a6; font-size: .8125rem; }
.ilp__separator::before, .ilp__separator::after { height: 1px; background-color: #e3e8f3; content: ''; }
.ilp__separator--compact { margin: 1rem 0; }
.ilp__socials { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.ilp__social { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .5rem; border: 1px solid #cfd7ea; border-radius: .375rem; color: #0b1548; background-color: rgba(255, 255, 255, .74); font-size: .8125rem; font-weight: 700; }
.ilp__icon--google { color: #1a73e8; }.ilp__icon--facebook { color: #1877f2; }.ilp__icon--apple { color: #0b1548; }
.ilp__security { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.25rem; color: #4d5b85; font-size: .8125rem; }.ilp__icon--security { color: #4d5b85; }
.ilp__news { display: grid; align-content: start; }.ilp__news-header { margin-bottom: 1.5rem; }.ilp__news-text { max-width: 27rem; margin-top: .75rem; color: #4d5b85; }.ilp__news-list { display: grid; gap: 1rem; }
.ilp__news-card { display: grid; grid-template-columns: 4.5rem 1fr 1.25rem; min-height: 9rem; align-items: center; gap: 1rem; padding: 1.25rem 1.25rem 1.25rem 1rem; border: 1px solid rgba(207, 215, 234, .8); border-radius: .875rem; color: inherit; background: rgba(255, 255, 255, .78); box-shadow: 0 .75rem 1.75rem rgba(18, 31, 74, .12); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.ilp__news-card:hover { transform: translateY(-.125rem); box-shadow: 0 1rem 2rem rgba(18, 31, 74, .16); }
.ilp__news-icon { display: inline-flex; width: 4rem; height: 4rem; align-items: center; justify-content: center; border-radius: 50%; }.ilp__news-icon .ilp__icon { width: 2rem; height: 2rem; }.ilp__news-icon--automation { color: #ff5a16; background-color: #fff1e8; }.ilp__news-icon--reports { color: #086cff; background-color: #eaf1ff; }.ilp__news-icon--segments { color: #32a852; background-color: #e7f5e6; }
.ilp__news-body { display: grid; gap: .375rem; }.ilp__badge { justify-self: start; padding: .125rem .5rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; line-height: 1.4; }.ilp__badge--news { color: #ff5a16; background-color: #fff1e8; }.ilp__badge--update { color: #086cff; background-color: #eaf1ff; }.ilp__badge--tip { color: #269046; background-color: #e7f5e6; }.ilp__news-description, .ilp__news-date { color: #4d5b85; font-size: .8125rem; }.ilp__news-date { color: #7280a6; }.ilp__news-arrow { width: 1.25rem; height: 1.25rem; color: #0b1548; }
.ilp__news-more { display: inline-flex; align-items: center; justify-self: start; gap: .5rem; margin-top: 1.25rem; font-size: 1rem; }
@media (max-width: 58rem) { .ilp { padding: 1.5rem; }.ilp__container { grid-template-columns: 1fr; width: min(100%, 34rem); gap: 2rem; padding: 1.5rem; }.ilp__divider { width: 100%; min-height: 1px; height: 1px; }.ilp__news-card { grid-template-columns: 3.5rem 1fr 1rem; min-height: auto; }.ilp__news-icon { width: 3.25rem; height: 3.25rem; } }
@media (max-width: 30rem) { .ilp { padding: 1rem; }.ilp__container { padding: 1.25rem; }.ilp__h1 { font-size: 1.875rem; }.ilp__h2 { font-size: 1.625rem; }.ilp__form-row, .ilp__socials { display: grid; grid-template-columns: 1fr; } }
