:root {
    --jam-green: #159b86;
    --jam-green-dark: #087363;
    --jam-ink: #102421;
    --jam-muted: #5e706d;
    --jam-line: #d6e7e3;
    --jam-soft: #eff9f6;
    --jam-error: #a12c35;
    --jam-white: #ffffff;
}

.journey-auth-mobile,
.journey-auth-mobile * { box-sizing: border-box; }
.journey-auth-mobile { min-height: 100vh; margin: 0; background: #e9f4f1; color: var(--jam-ink); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.5; }
.journey-auth-mobile a { color: var(--jam-green-dark); text-underline-offset: 3px; }
.journey-auth-mobile :focus-visible { outline: 3px solid #075f53; outline-offset: 3px; }
.journey-auth-mobile .jam-shell { width: min(100%, 480px); min-height: 100vh; margin: 0 auto; padding: calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom)); background: var(--jam-white); }
.journey-auth-mobile .jam-brand { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--jam-ink); text-decoration: none; }
.journey-auth-mobile .jam-brand-logo { display: block; width: 128px; height: auto; }
.journey-auth-mobile .jam-brand-journey { font-size: .88rem; font-weight: 800; letter-spacing: .01em; }
.journey-auth-mobile .jam-card { padding: 8px 2px 24px; }
.journey-auth-mobile .jam-card h1 { margin: 0 0 10px; font-size: clamp(1.7rem, 8vw, 2.15rem); line-height: 1.12; }
.journey-auth-mobile .jam-card h2 { margin-top: 26px; font-size: 1.15rem; }
.journey-auth-mobile .jam-eyebrow { margin: 0 0 8px; color: var(--jam-green-dark); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.journey-auth-mobile .jam-lead, .journey-auth-mobile .jam-card > p { color: var(--jam-muted); }
.journey-auth-mobile .jam-form { display: grid; gap: 17px; margin-top: 24px; }
.journey-auth-mobile .jam-field { display: grid; gap: 6px; min-width: 0; }
.journey-auth-mobile .jam-field label { font-weight: 750; }
.journey-auth-mobile .jam-required { color: var(--jam-error); font-weight: 900; }
.journey-auth-mobile input, .journey-auth-mobile select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #a9bfba; border-radius: 9px; background: #fff; color: var(--jam-ink); font: inherit; }
.journey-auth-mobile input[aria-invalid="true"] { border-color: var(--jam-error); }
.journey-auth-mobile .jam-phone-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 10px; }
.journey-auth-mobile .jam-native-country{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.journey-auth-mobile .jam-country-trigger{display:grid;width:100%;min-height:54px;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:7px 10px;border:1px solid #a9bfba;border-radius:9px;background:#fff;color:var(--jam-ink);font:inherit;text-align:start;cursor:pointer}.journey-auth-mobile .jam-country-trigger>img{width:30px;height:22px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px rgba(16,36,33,.12)}.journey-auth-mobile .jam-country-trigger>span{display:grid;min-width:0}.journey-auth-mobile .jam-country-trigger strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.journey-auth-mobile .jam-country-trigger small{color:var(--jam-green-dark);font-size:.78rem;font-weight:800}.journey-auth-mobile .jam-country-trigger>svg{width:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jam-dialog-open{overflow:hidden}.journey-auth-mobile .jam-country-dialog{position:fixed;z-index:1000;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:max(20px,env(safe-area-inset-top));background:rgba(8,31,27,.54);backdrop-filter:blur(2px)}.journey-auth-mobile .jam-country-dialog[hidden]{display:none}.journey-auth-mobile .jam-country-sheet{display:grid;width:min(100%,480px);max-height:min(88vh,760px);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -10px 40px rgba(8,31,27,.18)}.journey-auth-mobile .jam-country-sheet header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 20px 12px}.journey-auth-mobile .jam-country-sheet header p,.journey-auth-mobile .jam-country-sheet header h2{margin:0}.journey-auth-mobile .jam-country-sheet header p{color:var(--jam-green-dark);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.journey-auth-mobile .jam-country-sheet header h2{font-size:1.25rem}.journey-auth-mobile .jam-country-sheet header button{width:42px;height:42px;border:0;border-radius:50%;background:var(--jam-soft);color:var(--jam-ink);font:300 1.8rem/1 system-ui;cursor:pointer}.journey-auth-mobile .jam-country-search{position:relative;margin:0 16px 12px}.journey-auth-mobile .jam-country-search svg{position:absolute;top:14px;left:14px;width:20px;fill:none;stroke:#647975;stroke-width:2;stroke-linecap:round}.journey-auth-mobile .jam-country-search input{padding-inline-start:44px;border-color:var(--jam-line);border-radius:13px;background:#f5faf9}.journey-auth-mobile .jam-country-list{overflow-y:auto;padding:0 10px calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain}.journey-auth-mobile .jam-country-list>button{display:grid;width:100%;min-height:62px;grid-template-columns:36px minmax(0,1fr) auto 22px;align-items:center;gap:11px;padding:8px 10px;border:0;border-bottom:1px solid #e8f0ee;background:#fff;color:var(--jam-ink);font:inherit;text-align:start;cursor:pointer}.journey-auth-mobile .jam-country-list>button[hidden]{display:none}.journey-auth-mobile .jam-country-list img{width:34px;height:25px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px rgba(16,36,33,.12)}.journey-auth-mobile .jam-country-list span{display:grid;min-width:0;font-weight:750}.journey-auth-mobile .jam-country-list span small{color:var(--jam-muted);font-size:.7rem;font-weight:650}.journey-auth-mobile .jam-country-list b{color:var(--jam-green-dark);font-size:.87rem}.journey-auth-mobile .jam-country-list i{width:20px;height:20px;border:2px solid #a8bcb7;border-radius:50%}.journey-auth-mobile .jam-country-list [aria-selected="true"]{border-radius:11px;background:var(--jam-soft)}.journey-auth-mobile .jam-country-list [aria-selected="true"] i{border:6px solid var(--jam-green)}.journey-auth-mobile .jam-country-empty{margin:20px;padding:22px;border-radius:12px;background:var(--jam-soft);color:var(--jam-muted);text-align:center}.journey-auth-mobile .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}
.journey-auth-mobile .jam-password { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.journey-auth-mobile .jam-password input { border-start-end-radius: 0; border-end-end-radius: 0; }
[dir="rtl"] .journey-auth-mobile .jam-password input { border-radius: 0 9px 9px 0; }
.journey-auth-mobile .jam-password button { display:grid;min-width:52px;place-items:center;border: 1px solid #a9bfba; border-inline-start: 0; border-radius: 0 9px 9px 0; background: var(--jam-soft); color: var(--jam-green-dark); font-weight: 750; cursor: pointer; }
.journey-auth-mobile .jam-password button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.journey-auth-mobile .jam-password button .jam-eye-slash{display:none}.journey-auth-mobile .jam-password button.is-revealed .jam-eye-slash{display:block}
[dir="rtl"] .journey-auth-mobile .jam-password button { border: 1px solid #a9bfba; border-inline-start: 0; border-radius: 9px 0 0 9px; }
.journey-auth-mobile .jam-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 10px 18px; border: 0; border-radius: 10px; background: var(--jam-green); color: #fff; font: inherit; font-weight: 850; text-decoration: none; cursor: pointer; }
.journey-auth-mobile .jam-field-error { margin: 0; color: var(--jam-error); font-size: .88rem; font-weight: 650; }
.journey-auth-mobile .jam-hint { margin: 0; color: var(--jam-muted); font-size: .82rem; }
.journey-auth-mobile .jam-username-availability { min-height: 22px; color: var(--jam-muted); font-size: .82rem; }
.journey-auth-mobile .jam-username-availability p { margin: 0; }
.journey-auth-mobile .jam-username-availability.is-checking p::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; border: 2px solid #b7cac6; border-top-color: #168d79; border-radius: 50%; animation: jam-spin .7s linear infinite; }
.journey-auth-mobile .jam-username-availability.is-available p { color: #087f68; font-weight: 750; }
.journey-auth-mobile .jam-username-availability.is-unavailable p { color: #a14a36; font-weight: 750; }
.journey-auth-mobile .jam-username-availability [data-username-suggestions] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.journey-auth-mobile .jam-username-availability [data-username-suggestions][hidden] { display: none; }
.journey-auth-mobile .jam-username-suggestion { padding: 5px 9px; border: 1px solid #bfd9d3; border-radius: 999px; background: #f0f8f6; color: #087f68; font: inherit; font-weight: 750; cursor: pointer; }
@keyframes jam-spin { to { transform: rotate(360deg); } }
.journey-auth-mobile .jam-check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: start; font-size: .92rem; }
.journey-auth-mobile .jam-check input { width: 20px; min-height: 20px; margin: 2px 0 0; }
.journey-auth-mobile .jam-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 22px; }
.journey-auth-mobile .jam-links.jam-register-login { justify-content: center; text-align: center; }
.journey-auth-mobile .jam-feedback { margin: 0 0 18px; padding: 12px 14px; border-radius: 9px; }
.journey-auth-mobile .jam-feedback p { margin: 0; font-weight: 750; }
.journey-auth-mobile .jam-feedback ul { margin-bottom: 0; padding-inline-start: 20px; }
.journey-auth-mobile .jam-feedback-success { background: var(--jam-soft); color: var(--jam-green-dark); }
.journey-auth-mobile .jam-feedback-error { background: #fff0f1; color: var(--jam-error); }
.journey-auth-mobile .jam-secondary-form { margin-top: 14px; text-align: center; }
.journey-auth-mobile .jam-text-button { border: 0; background: transparent; color: var(--jam-green-dark); font: inherit; font-weight: 750; text-decoration: underline; cursor: pointer; }
.journey-auth-mobile .jam-centered { padding-top: min(16vh, 100px); text-align: center; }
.journey-auth-mobile .jam-centered .jam-button { margin-top: 16px; }
.journey-auth-mobile .jam-legal { max-width: 680px; }
.journey-auth-mobile .jam-deletion-submit { display: flex; width: min(100%, 280px); margin: 24px auto 0; background: #9f3039; box-shadow: 0 7px 18px rgba(159, 48, 57, .2); text-align: center; }
.journey-auth-mobile .jam-deletion-submit:hover { background: #892830; }
@media (max-width: 360px) { .journey-auth-mobile .jam-phone-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .journey-auth-mobile *, .journey-auth-mobile *::before, .journey-auth-mobile *::after { scroll-behavior: auto; transition-duration: .01ms; } }
/* Journey invitations */
.journey-auth-mobile .jai-public-person { display: flex; align-items: center; gap: 12px; margin: 18px 0; padding: 13px; border-radius: 12px; background: #eff9f6; }
.journey-auth-mobile .jai-public-person > span { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; background: #159b86; color: #fff; font-weight: 900; }
.journey-auth-mobile .jai-public-person div { display: grid; min-width: 0; }
.journey-auth-mobile .jai-public-person b { color: #60716e; font-size: .88rem; }
.journey-auth-mobile .jai-public-actions { display: grid; gap: 10px; margin-top: 18px; }
.journey-auth-mobile .jam-secondary-link { display: grid; min-height: 48px; place-items: center; border: 1px solid #d7e7e3; border-radius: 10px; color: #087363; font-weight: 800; text-decoration: none; }
[dir="rtl"] .journey-auth-mobile .jai-public-person { direction: rtl; }
[dir="rtl"] .journey-auth-mobile .jai-public-person b { direction: ltr; text-align: right; }
