@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-heading:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-data:ui-monospace,SFMono-Regular,Menlo,monospace;--text-caption:14px;--text-support:16px;--text-body:18px;--text-card-title:20px;--text-section-title:22px;--text-page-title:34px;--leading-body:1.5;--leading-title:1.2}
html{-webkit-text-size-adjust:100%}button,input,select,textarea{font-family:var(--font-body)}
.roster-app,.onboarding-app,.landing,.auth-wrap,.header,.footer{font-family:var(--font-body);line-height:var(--leading-body)}
.roster-app{font-size:var(--text-support)}
.roster-app h1,.roster-app h2,.roster-app h3,.roster-app .wordmark,.onboarding-app h1,.onboarding-app .wordmark,.landing h1,.landing h2,.landing h3,.header .brand,.auth-wrap h1{font-family:var(--font-heading)}
.roster-app .main h1{font-size:var(--text-page-title);line-height:var(--leading-title)}
.roster-app .main h2,.roster-app .panel h3,.roster-app .section-row h2{font-size:var(--text-section-title);line-height:1.3}
.roster-app .profile h3,.roster-app .booking-head h3,.roster-app .access-row .access-person>b,.roster-app .mobile-card-title b{font-size:var(--text-card-title);line-height:1.3;font-weight:700}
.roster-app .profile-sheet .detail-top h3{font-size:26px;line-height:1.25}
.roster-app .subtitle,.roster-app .booking-toolbar .subtitle,.roster-app .muted-box,.roster-app .setting-row p,.roster-app .access-row .access-person>small,.roster-app .profile .role,.roster-app .mobile-card-role{font-size:var(--text-support);line-height:var(--leading-body)}
.roster-app .main .btn,.roster-app .text-btn,.roster-app .segmented button,.roster-app .traveler-check,.roster-app .filter-pills button{font-size:var(--text-support);line-height:1.4}
.roster-app .input,.roster-app .profile-sheet .input,.roster-app #profileForm .input{font-family:var(--font-body);font-size:var(--text-body);line-height:1.4}
.roster-app #profileForm .form-grid label,.roster-app #profileForm .loyalty-row label,.roster-app #profileForm .phone-label{font-size:var(--text-body);line-height:1.45;font-weight:500;color:#526b61}
.roster-app .datum .stat-label,.roster-app .field-label,.roster-app .traveler-check small,.roster-app .setting-row b{font-size:var(--text-support);line-height:1.4;letter-spacing:0}
.roster-app .datum-value,.roster-app .profile-sheet .datum-value{font-family:var(--font-data);font-size:var(--text-body);line-height:1.4}
.roster-app .form-section,.roster-app #profileForm .form-section{font-size:17px;font-weight:700;letter-spacing:1px;line-height:1.4}
.roster-app .document-heading h3{font-size:var(--text-card-title);line-height:1.3}
.roster-app .tiny,.roster-app #profileForm .tiny,.roster-app .bottom-info,.roster-app .alert-strip,.roster-app .profile-update{font-size:var(--text-caption);line-height:var(--leading-body)}
.roster-app .profile-update small,.roster-app .document-heading small,.roster-app .access-row .tag{font-size:var(--text-caption);line-height:1.4}
.roster-app .side-caption,.roster-app .workspace-picker .stat-label{font-size:var(--text-caption)}
.roster-app .sidebar .nav{font-size:var(--text-support)}
.roster-app .mobile-nav button{font-size:12px;line-height:1.3}
.roster-app .filter-count{font-size:14px}.roster-app .mobile-badge{font-size:12px;line-height:1.3}
.roster-app .roster-actions .add-traveler{font-size:var(--text-support)}
.roster-app .utility-page .subtitle,.roster-app .utility-page p,.roster-app .utility-page .muted-box{font-size:var(--text-support);line-height:var(--leading-body)}
.roster-app .utility-page .modal-header h2{font-size:26px}
.onboarding-app .description,.onboarding-app .email-content p{font-size:var(--text-body);line-height:var(--leading-body)}
.onboarding-app .field{font-size:var(--text-body)}.onboarding-app .primary,.onboarding-app input{font-size:var(--text-body)}
.onboarding-app .plain,.onboarding-app .signin{font-size:var(--text-support)}.onboarding-app .back{font-size:28px}
.landing .intro,.landing .case p,.landing .case li,.landing .section-top p,.landing .steps p,.landing .bottom-cta p{font-size:var(--text-body);line-height:1.6}
.landing .micro,.landing .footer,.landing .preview-sample{font-size:var(--text-caption);line-height:1.5}
.landing .btn,.landing .nav,.auth-wrap .btn,.auth-wrap p,.header .back-link{font-size:var(--text-support);line-height:1.5}
.auth-wrap{font-size:var(--text-body)}.auth-wrap h1{font-size:40px;line-height:1.2}.auth-wrap .auth-note{font-size:var(--text-support)}.auth-wrap .providers button{font-size:var(--text-support)}
@media(max-width:760px){
.roster-app .mobile-page-title{font-size:var(--text-page-title);line-height:var(--leading-title)}
.roster-app .access-panel h3{font-size:var(--text-section-title)}
.roster-app .access-row .access-person>b,.roster-app .mobile-card-title b{font-size:var(--text-card-title)}
.roster-app .access-row .access-person>small,.roster-app .access-row .btn{font-size:var(--text-support)}
.roster-app .booking-card .data-grid{grid-template-columns:1fr}
.roster-app .profile-sheet .form-grid{gap:14px}
.roster-app .profile-sheet .datum{padding:6px 0 4px}
.roster-app .phone-entry .input,.roster-app #profileForm .phone-entry .input{font-size:var(--text-support)}
.roster-app .topbar .workspace-picker .input{font-size:14px;line-height:1.4}
.roster-app .profile-update{max-width:100%;font-size:var(--text-caption)}
.roster-app .roster-actions .add-traveler{font-size:0}
}
@media(max-width:360px){.roster-app .filter-pills button{font-size:14px}.roster-app .mobile-card-title b{font-size:18px}.roster-app .mobile-badge{font-size:11px}.roster-app .access-row .btn{padding:10px;font-size:14px}}
@media(max-height:700px){.onboarding-app .description{font-size:16px}.onboarding-app .signin{font-size:14px}}

/* Compact traveler profiles on desktop. */
@media(min-width:761px){
.roster-app .profile-page{--text-caption:12px;--text-support:13px;--text-body:15px;--text-card-title:17px;--text-section-title:18px;--text-page-title:28px}
.roster-app .profile-page .profile-sheet{padding:22px 24px}
.roster-app .profile-page .profile-back{font-size:13px;margin-bottom:10px}
.roster-app .profile-page .profile-card-header{margin-bottom:12px}
.roster-app .profile-page .eyebrow{font-size:11px;letter-spacing:1px}
.roster-app .profile-page .detail-top{gap:12px;margin-bottom:16px}
.roster-app .profile-page .detail-top h3{font-size:22px;line-height:1.25}
.roster-app .profile-page .detail-top .role{font-size:13px;margin-top:3px}
.roster-app .profile-page .detail-top>.avatar{width:46px;height:46px;font-size:16px}
.roster-app .profile-page .profile-chunk{margin-top:14px;padding:16px;border-radius:13px}
.roster-app .profile-page .chunk-heading{gap:10px;margin-bottom:12px}
.roster-app .profile-page .chunk-heading h3{font-size:17px;line-height:1.3}
.roster-app .profile-page .chunk-heading h3 svg{width:19px;height:19px}
.roster-app .profile-page .chunk-pencil{width:34px;height:34px;min-width:34px;border-radius:9px}
.roster-app .profile-page .chunk-pencil svg{width:16px;height:16px}
.roster-app .profile-page .chunk-editing{font-size:12px}
.roster-app .profile-page .data-grid,.roster-app .profile-page .form-grid{gap:10px 18px}
.roster-app .profile-page .datum{padding:4px 0}
.roster-app .profile-page .datum .stat-label{font-size:12px;line-height:1.35;margin-bottom:3px}
.roster-app .profile-page .datum-value{font-size:15px;line-height:1.35;gap:6px;min-height:28px}
.roster-app .profile-page .copy{width:28px;height:28px;min-width:28px;min-height:28px;padding:5px}
.roster-app .profile-page .copy svg{width:15px;height:15px}
.roster-app .profile-page .form-section,.roster-app .profile-page #profileForm .form-section{font-size:14px;letter-spacing:.4px;margin:18px 0 10px}
.roster-app .profile-page .identity-cards{gap:12px}
.roster-app .profile-page .document-group,.roster-app .profile-page .membership-row{padding:13px;border-radius:11px;margin-bottom:10px}
.roster-app .profile-page .document-heading{gap:8px;margin-bottom:10px}
.roster-app .profile-page .document-heading h3{font-size:16px}
.roster-app .profile-page .document-heading>svg{width:18px;height:18px}
.roster-app .profile-page #profileForm .form-grid label,.roster-app .profile-page #profileForm .loyalty-row label,.roster-app .profile-page #profileForm .phone-label{font-size:14px;line-height:1.35}
.roster-app .profile-page #profileForm .input{font-size:15px;min-height:38px;padding:8px 10px;margin-top:5px}
.roster-app .profile-page #profileForm .phone-entry .input{font-size:14px}
.roster-app .profile-page #profileForm .loyalty-row{margin-bottom:10px;gap:12px}
.roster-app .profile-page .btn{font-size:13px;min-height:36px;padding:8px 13px;border-radius:9px}
.roster-app .profile-page .text-btn{font-size:13px}
.roster-app .profile-page .profile-autosave{font-size:12px;padding:8px 11px;margin:0 0 12px;border-radius:9px;gap:10px}
.roster-app .profile-page .modal-footer{margin-top:14px;gap:8px;padding-top:10px}
}

/* Match compact desktop profile typography on phones, with touch-friendly inputs. */
@media(max-width:760px){
.roster-app .profile-page{--text-caption:12px;--text-support:13px;--text-body:15px;--text-card-title:17px;--text-section-title:18px;--text-page-title:28px}
.roster-app .profile-page .profile-sheet{padding:16px 10px}
.roster-app .profile-page .profile-back{font-size:13px;margin-bottom:8px}
.roster-app .profile-page .profile-card-header{margin-bottom:10px}
.roster-app .profile-page .eyebrow{font-size:11px;letter-spacing:1px}
.roster-app .profile-page .detail-top{gap:12px;margin-bottom:14px}
.roster-app .profile-page .detail-top h3{font-size:22px;line-height:1.25}
.roster-app .profile-page .detail-top .role{font-size:13px;margin-top:3px}
.roster-app .profile-page .detail-top>.avatar{width:46px;height:46px;font-size:16px}
.roster-app .profile-page .profile-chunk{margin-top:12px;padding:14px 12px;border-radius:13px}
.roster-app .profile-page .chunk-heading{gap:10px;margin-bottom:10px}
.roster-app .profile-page .chunk-heading h3{font-size:17px;line-height:1.3}
.roster-app .profile-page .chunk-heading h3 svg{width:19px;height:19px}
.roster-app .profile-page .chunk-pencil svg{width:18px;height:18px}
.roster-app .profile-page .chunk-editing{font-size:12px}
.roster-app .profile-page .data-grid,.roster-app .profile-page .form-grid{gap:9px 14px}
.roster-app .profile-page .datum{padding:3px 0}
.roster-app .profile-page .datum .stat-label{font-size:12px;line-height:1.35;margin-bottom:2px}
.roster-app .profile-page .datum-value{font-size:15px;line-height:1.35;gap:6px;min-height:32px}
.roster-app .profile-page .form-section,.roster-app .profile-page #profileForm .form-section{font-size:14px;letter-spacing:.4px;margin:16px 0 9px}
.roster-app .profile-page .identity-cards{gap:10px}
.roster-app .profile-page .document-group,.roster-app .profile-page .membership-row{padding:12px;border-radius:11px;margin-bottom:9px}
.roster-app .profile-page .document-heading{gap:8px;margin-bottom:9px}
.roster-app .profile-page .document-heading h3{font-size:16px}
.roster-app .profile-page .document-heading>svg{width:18px;height:18px}
.roster-app .profile-page #profileForm .form-grid label,.roster-app .profile-page #profileForm .loyalty-row label,.roster-app .profile-page #profileForm .phone-label{font-size:14px;line-height:1.35}
.roster-app .profile-page #profileForm .input,.roster-app .profile-page #profileForm .country-select,.roster-app .profile-page #profileForm .phone-entry .input{font-size:16px;min-height:44px;padding:9px 10px;margin-top:5px}
.roster-app .profile-page #profileForm .loyalty-row{margin-bottom:10px;gap:10px}
.roster-app .profile-page .btn,.roster-app .profile-page .text-btn{font-size:13px}
.roster-app .profile-page .profile-autosave{font-size:12px;padding:8px 10px;margin:0 0 12px;border-radius:9px;gap:8px}
.roster-app .profile-page .modal-footer{margin-top:12px;gap:8px;padding-top:8px}
}

/* Denser profile summaries at every viewport size. */
.roster-app .profile-page .profile-sheet{padding-top:12px;padding-bottom:12px}
.roster-app .profile-page .profile-back{min-height:36px;margin-bottom:4px}
.roster-app .profile-page .profile-card-header{margin-bottom:6px}
.roster-app .profile-page .detail-top{margin-top:4px;margin-bottom:10px}
.roster-app .profile-page .profile-chunk{margin-top:8px;padding-top:10px;padding-bottom:10px}
.roster-app .profile-page .chunk-heading{margin-bottom:5px}
.roster-app .profile-page .chunk-pencil{position:relative;width:36px;height:36px;min-width:36px;border-radius:9px}
.roster-app .profile-page .chunk-pencil:after{content:'';position:absolute;inset:-4px}
.roster-app .profile-page .profile-sheet .data-grid{row-gap:0}
.roster-app .profile-page .profile-sheet .datum{padding:4px 0}
.roster-app .profile-page .profile-sheet .datum .stat-label{margin-bottom:1px;line-height:1.25}
.roster-app .profile-page .profile-sheet .datum-value{min-height:26px;line-height:1.3;gap:6px}
.roster-app .profile-page .profile-sheet .copy{position:relative;width:28px;height:28px;min-width:28px;min-height:28px;padding:5px;flex-shrink:0}
.roster-app .profile-page .profile-sheet .copy:after{content:'';position:absolute;inset:-8px}
.roster-app .profile-page .profile-sheet .copy svg{width:16px;height:16px}
.roster-app .profile-page .profile-chunk .form-section{margin-top:10px;margin-bottom:5px;padding-bottom:5px}
.roster-app .profile-page .profile-chunk .document-group{margin:6px 0;padding-top:10px;padding-bottom:10px}
.roster-app .profile-page .profile-sheet .document-heading{margin-bottom:5px}
.roster-app .profile-page .identity-cards{gap:6px}
.roster-app .profile-page .modal-footer:empty{display:none}
@media(max-width:760px){.roster-app .profile-page .profile-sheet{padding-top:10px;padding-bottom:10px}.roster-app .profile-page .profile-chunk{padding-top:9px;padding-bottom:9px}}

/* Edit the existing summary rows in place, with identical geometry. */
.roster-app .profile-page .profile-inline-form{margin:0;padding:0;display:block;min-width:0}
.roster-app .profile-page .profile-sheet .profile-inline-grid{row-gap:0;align-items:start}
.roster-app .profile-page .profile-sheet .profile-inline-grid .datum-value{height:28px;min-height:28px;font-size:16px;line-height:26px}
.roster-app .profile-page .profile-inline-form#profileForm .profile-inline-input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:28px;min-height:28px;margin:0;padding:0 2px;border:1px solid #dbe4d4;border-radius:4px;background:#fffefb;box-shadow:none;font-family:var(--font-data);font-size:16px;line-height:26px;color:var(--ink);text-align:left;vertical-align:middle}
.roster-app .profile-page .profile-inline-form#profileForm .profile-inline-input:focus{outline:2px solid #759368;outline-offset:1px}
.roster-app .profile-page .profile-inline-form#profileForm input[type=date]{appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;text-align:left}
.roster-app .profile-page .profile-inline-form#profileForm input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;min-height:26px}
.roster-app .profile-page .profile-inline-form#profileForm input[type=date]::-webkit-datetime-edit{padding:0}
.roster-app .profile-page .profile-name-inputs{display:flex;gap:4px;min-width:0;width:100%;height:28px}
.roster-app .profile-page .profile-name-inputs>.input{flex:1 1 0;width:0}
.roster-app .profile-page .profile-phone-inputs{display:flex;gap:5px;min-width:0;width:100%;height:28px}
.roster-app .profile-page .profile-phone-inputs>select{flex:0 0 85px;width:85px}
.roster-app .profile-page .profile-phone-inputs>input{flex:1;min-width:0}
.roster-app .profile-page .profile-inline-form .document-group{background:#fafbf7}
.roster-app .profile-page .inline-edit-tools{display:flex;align-items:center;gap:8px;flex-shrink:0;height:36px}
.roster-app .profile-page .inline-save-status{display:block;width:8px;height:8px;overflow:hidden;white-space:nowrap;font-size:0;border-radius:50%;background:#608553;cursor:pointer;position:relative;flex-shrink:0}
.roster-app .profile-page .inline-save-status[data-state=pending]{background:#bc9441}
.roster-app .profile-page .inline-save-status[data-state=error]{background:#b3443c}
.roster-app .profile-page .inline-save-status:focus-visible{outline:2px solid #234e5a;outline-offset:4px}
.roster-app .profile-page .inline-done{background:#e6eedf;color:#32643c}
.roster-app .profile-page .inline-loyalty-grid>.datum>.stat-label{display:flex;align-items:center;height:24px;min-height:24px;line-height:24px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.roster-app .profile-page .profile-inline-form#profileForm .inline-membership{display:block;margin:0;padding:4px 0;background:none;border:0;border-bottom:1px solid #eff2eb;border-radius:0;min-width:0;gap:0}
.roster-app .profile-page .profile-inline-form#profileForm .inline-membership .membership-program{height:24px;min-height:24px;line-height:22px}
.roster-app .profile-page .profile-inline-form#profileForm .inline-membership .membership-number{flex:1;min-width:0}
.roster-app .profile-page .inline-program-feedback:empty{display:none}
.roster-app .profile-page .inline-loyalty-grid+.loyalty-empty{margin:0;min-height:24px}
.roster-app .profile-page .inline-loyalty-grid~.loyalty-add-row{margin-top:10px}
.roster-app .profile-page .profile-inline-grid .datum-value>span{min-width:0;overflow-wrap:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* Reserve the same border and text inset for read values as native edit controls. */
.roster-app .profile-page .profile-sheet .profile-inline-grid .datum-value>span{display:block;box-sizing:border-box;height:28px;min-height:28px;line-height:26px;border:1px solid transparent;border-radius:4px;padding:0 2px;margin:0;font-size:16px}
.roster-app .profile-page .profile-inline-form#profileForm .form-section{margin:10px 0 5px;padding-bottom:5px;font-size:14px;line-height:1.4;letter-spacing:.4px}
.roster-app .profile-page .profile-inline-form#profileForm .data-grid{row-gap:0}

/* Shared two-line loyalty rows: program, then membership number, in both modes. */
.roster-app .profile-page .profile-sheet .loyalty-entry,
.roster-app .profile-page .profile-inline-form#profileForm .loyalty-entry.inline-membership{display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-template-rows:28px 28px;column-gap:8px;row-gap:3px;align-items:center;padding:5px 0;margin:0;border:0;border-bottom:1px solid #eff2eb;border-radius:0;background:none;min-width:0}
.roster-app .profile-page .loyalty-program-slot{grid-column:1;grid-row:1;min-width:0;height:28px}
.roster-app .profile-page .loyalty-number-slot{grid-column:1;grid-row:2;min-width:0;width:100%;height:28px}
.roster-app .profile-page .profile-sheet .loyalty-row-action{grid-column:2;grid-row:2;margin:0;width:28px;height:28px;min-width:28px;min-height:28px;align-self:center}
.roster-app .profile-page .loyalty-read-value{display:block;box-sizing:border-box;width:100%;height:28px;min-width:0;max-width:100%;padding:0 2px;border:1px solid transparent;border-radius:4px;font:16px/26px var(--font-data);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.roster-app .profile-page .profile-inline-form#profileForm .loyalty-entry .membership-program,
.roster-app .profile-page .profile-inline-form#profileForm .loyalty-entry .membership-number{display:block;width:100%;min-width:0;max-width:100%;height:28px;min-height:28px;margin:0;padding:0 2px;line-height:26px;box-sizing:border-box}
.roster-app .profile-page .inline-loyalty-grid{align-items:start;row-gap:0}

.roster-app .document-heading h3:has(.tsa-pre-wordmark){display:flex;align-items:center;gap:6px}
.roster-app .document-heading .tsa-pre-wordmark{display:block;width:74px;height:auto;max-width:100%;object-fit:contain}
.roster-app .mobile-badge.tsa .tsa-pre-wordmark{width:57px;height:auto;max-height:18px;object-fit:contain}

/* The native picker keeps ISO date values; its visible face uses full month names. */
.roster-app .full-month-date{position:relative;display:block;box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}
.roster-app .full-month-date-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:var(--ink);font:inherit;line-height:inherit}
.roster-app .full-month-date:focus-within{outline:2px solid #759368;outline-offset:1px}
.roster-app .full-month-date>.full-month-date-native{position:absolute;inset:0;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;z-index:1}

/* Account contact row shares the two equal columns of the personal details grid. */
.roster-app .account-traveler-page #accountTravelerForm .form-grid>.phone-field{grid-column:auto}
.roster-app .account-traveler-page #accountTravelerForm .phone-label,
.roster-app .account-traveler-page #accountTravelerForm .account-sex-field{font-size:15px;line-height:1.45}
.roster-app .account-traveler-page #accountTravelerForm .phone-label{margin-bottom:8px}
.roster-app .account-traveler-page #accountTravelerForm .account-sex-field>.input{margin-top:8px;min-height:48px}

/* Profile setup uses an accordion on desktop and one section per mobile screen. */
.roster-app .account-step-progress{margin:18px 0 24px;font-size:14px;color:var(--muted)}
.roster-app .account-step-track{display:flex;gap:7px;margin-top:10px}.roster-app .account-step-track>span{height:5px;flex:1;border-radius:8px;background:#e5e9e2}.roster-app .account-step-track>span.active{background:#397e75}
.roster-app .account-step{border-top:1px solid var(--line);padding:16px 0;scroll-margin-top:24px}
.roster-app .account-step>summary{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;cursor:pointer;list-style:none}.roster-app .account-step>summary::-webkit-details-marker{display:none}.roster-app .account-step>summary[aria-disabled=true]{color:#8b9794;cursor:default}
.roster-app .account-step-number{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#40675e;font-size:14px}
.roster-app .account-step-status{margin-left:auto;font-size:12px;font-weight:500;color:#567a69}
.roster-app .account-step-content{padding-top:18px}.roster-app .account-step-note{margin-bottom:16px}.roster-app .account-step-footer{align-items:center}.roster-app .account-step-footer .account-step-save{margin-left:auto}.roster-app .account-step-content textarea{resize:vertical;min-height:100px}
@media(max-width:760px){.roster-app .account-step:not(.is-current){display:none}.roster-app .account-step.is-current{padding-top:4px;border-top:0}.roster-app .account-step>summary{font-size:20px;pointer-events:none}.roster-app .account-step-status{display:none}.roster-app .account-step-footer{display:flex;flex-wrap:wrap;gap:10px}.roster-app .account-traveler-page .account-step-footer .btn{width:auto;flex:1}.roster-app .account-step-footer .account-step-saved{display:none}}

.roster-app .account-traveler-page .profile-setup-heading{font-size:36px;line-height:1.2;letter-spacing:-1px;margin:0 0 24px;font-weight:800}
@media(max-width:760px){.roster-app .account-traveler-page .profile-setup-heading{font-size:32px;margin-bottom:20px}}

/* Identity badges communicate whether the detail is on file. */
.roster-app .mobile-badge.document-status{background:#e7f0db;color:#376345}
.roster-app .mobile-badge.document-status.missing{background:#fbeceb;color:#963d38}
.roster-app .profile-status.provided{background:#e7f0db;border-color:#d6e4c8}
.roster-app .profile-status.provided .status-label,.roster-app .profile-status.provided .status-answer{color:#376345}
.roster-app .profile-status.missing{background:#fbeceb;border-color:#f0d2cf}
.roster-app .profile-status.missing .status-label,.roster-app .profile-status.missing .status-answer{color:#963d38}

/* Keep app preference controls consistent with account action buttons. */
.roster-app .account-settings-page .account-language-control .input,.roster-app .account-settings-page .account-theme-toggle span{font-size:var(--text-support);font-weight:400;line-height:1.4}
