.v8-app-shell{position:relative;z-index:2;margin-top:-60px;margin-bottom:95px;background:#fff;border:1px solid #e3ebf5;border-radius:28px;box-shadow:0 28px 88px #071e4325;overflow:hidden}.v8-app-toolbar{display:flex;justify-content:space-between;align-items:center;padding:25px 35px 17px;gap:10px}.v8-app-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px}.v8-app-toolbar span{font-size:10px;letter-spacing:.11em;font-weight:850;color:#7084a0}.v8-app-toolbar strong{font-size:17px}.v8-app-count{display:flex;gap:13px;align-items:center}.v8-app-count b{color:#008dff;font-size:19px}.v8-app-progress-track{height:7px;background:#edf2f8;margin:0 35px;border-radius:99px;overflow:hidden}.v8-app-progress-track>div{height:100%;border-radius:99px;background:linear-gradient(90deg,#008dff,#a86aff,#ff2174);transition:width .3s}.v8-app-steps{padding:22px 35px;border-bottom:1px solid #e2eaf4;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v8-app-steps button{appearance:none;cursor:pointer;display:flex;align-items:center;gap:10px;background:none;text-align:left;border:0;color:#8797ab;font:700 12px/1.4 'DM Sans',sans-serif;padding:7px 2px}.v8-app-steps button span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#eff3f7;color:#647b96;font-size:10px}.v8-app-steps button.is-active{color:#071e43}.v8-app-steps button.is-active span{background:#008dff;color:#fff}.v8-app-steps button.is-complete span{background:#e7f9ec;color:#079c63}.v8-app-steps button:disabled{cursor:default}.v8-app-inner{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch}.v8-app-main{padding:37px 40px 40px;min-width:0}.v8-app-panel{display:none}.v8-app-panel.is-active{display:block}.v8-app-panel h2{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.052em;line-height:1.12;margin:15px 0 10px}.v8-app-panel h2 em{font-style:normal;color:#008dff}.v8-app-intro{font-size:14px;line-height:1.7;color:#657b95;margin-bottom:25px;max-width:690px}.v8-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 17px}.v8-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:#153252;min-width:0}.v8-form-grid label b{color:#ff1675}.v8-form-grid .v8-form-full{grid-column:1/-1}.v8-form-grid label[hidden]{display:none}.v8-form-grid input,.v8-form-grid select{appearance:auto;display:block;width:100%;min-width:0;max-width:100%;border-radius:11px;border:1px solid #dce6f2;background:#f9fbfd;font:500 13px/1.4 'DM Sans',sans-serif;color:#071e43;padding:13px 14px;min-height:45px}.v8-form-grid input:focus,.v8-form-grid select:focus,.v8-block-card select:focus{outline:2px solid #008dff66;border-color:#008dff;background:#fff}.v8-app-notice{display:flex;gap:9px;background:#f1f7ff;color:#586d86;border-radius:12px;padding:13px 16px;font-size:11px;line-height:1.55;margin:25px 0}.v8-app-notice i{color:#008dff;flex:0 0 auto}.v8-app-side{background:#f5f9ff;border-left:1px solid #e2eaf4}.v8-app-side-photo{height:235px;overflow:hidden}.v8-app-side-photo img{width:100%;height:100%;object-fit:cover}.v8-app-side-content{padding:24px}.v8-app-side-content h3{font-size:24px;line-height:1.24;letter-spacing:-.045em;margin:12px 0}.v8-app-side-content h3 em{font-style:normal;color:#008dff}.v8-app-side-content p{font-size:13px;line-height:1.65;color:#617892}.v8-app-side-content>div{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #deebf6;font-size:12px;font-weight:700}.v8-app-side-content>div i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#008dff;background:#e2f3ff}.v8-app-side-content>a{font-size:12px;font-weight:850;color:#008dff;display:flex;justify-content:space-between;align-items:center;margin-top:22px;text-decoration:none}
.v8-app-message{display:none}.v8-app-message.has-message{display:block;background:#fff1f4;border:1px solid #ffcbd9;border-radius:10px;padding:12px 15px;color:#a3214f;font-size:12px;line-height:1.5;margin-top:20px}.v8-app-buttons{display:flex;justify-content:space-between;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e2eaf4}.v8-app-buttons button{display:inline-flex;gap:10px;align-items:center}.v8-app-buttons button[hidden]{display:none}.v8-app-buttons button:disabled{opacity:.4;cursor:not-allowed}
.v8-choice-counter{display:flex;align-items:center;gap:15px;padding:18px 19px;border:1px solid #e2edf9;background:#f4f9ff;border-radius:15px;margin:22px 0}.v8-choice-counter>div:first-child{min-width:120px;display:flex;flex-direction:column}.v8-choice-counter strong{font-size:26px;color:#008dff}.v8-choice-counter span{font-size:10px;color:#57718c;font-weight:700}.v8-choice-track{flex:1;height:9px;border-radius:30px;background:#dde9f7;overflow:hidden}.v8-choice-track>div{height:100%;border-radius:30px;background:linear-gradient(90deg,#008dff,#ff2472);transition:width .3s}.v8-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v8-block-card{border-radius:17px;border:1px solid #dce6f3;background:white;overflow:hidden;padding:18px}.v8-block-card.has-choice{border-color:#008dff;background:linear-gradient(165deg,#f5fbff,#fff)}.v8-block-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.v8-block-badge{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#e5f4ff;color:#007ce6;font-weight:850;font-size:18px}.v8-block-title>div{display:flex;flex-direction:column;gap:4px;min-width:0}.v8-block-title small{font-size:9px;color:#71849b;font-weight:800}.v8-block-title strong{font-size:13px}.v8-block-title>i{margin-left:auto;color:#008dff}.v8-block-card label{font-size:11px;font-weight:700;color:#4b617e}.v8-block-card select{width:100%;min-width:0;max-width:100%;border-radius:10px;border:1px solid #d7e4f0;padding:12px 10px;background:white;font-size:12px;color:#071e43;margin-top:8px}.v8-block-caveat{font-size:11px;line-height:1.7;color:#667e97;background:#fffaf0;border:1px solid #ffe5af;border-radius:11px;padding:12px 14px;margin-top:17px}.v8-block-caveat i{color:#dc9100;margin-right:4px}
.v8-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v8-review-card{padding:20px;border:1px solid #e0e9f5;border-radius:17px;background:#f8fbff;overflow-wrap:anywhere}.v8-review-card>span{font-size:10px;font-weight:850;color:#008cff;letter-spacing:.1em;display:block;margin-bottom:16px}.v8-review-card strong{font-size:16px;line-height:1.3}.v8-review-card p{font-size:12px;color:#5a718c}.v8-review-card button{background:none;border:0;padding:10px 0;color:#008dff;cursor:pointer;font-size:12px;font-weight:850;margin-top:9px}.v8-review-choice{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #e0e8f3}.v8-review-choice b{display:grid;place-items:center;background:#e5f3ff;color:#008dff;width:30px;height:30px;border-radius:50%;font-size:12px;flex:0 0 30px}.v8-review-choice>div{display:flex;flex-direction:column;gap:3px}.v8-review-choice strong{font-size:13px}.v8-review-choice small{font-size:10px;color:#70829b}.v8-review-agree{display:flex;gap:12px;align-items:flex-start;margin:22px 0;background:#f3f8fc;border-radius:12px;padding:17px;font-size:12px;line-height:1.65;color:#3e5775}.v8-review-agree input{margin-top:4px;accent-color:#008cff;transform:scale(1.2)}.v8-app-complete-icon{width:72px;height:72px;background:#e2f8ee;border-radius:50%;display:grid;place-items:center;color:#009b6b;font-size:30px;margin:17px 0}.v8-complete-courses{display:grid;gap:9px;margin:25px 0}.v8-complete-courses span{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#f2f7fc;font-size:13px;font-weight:700}.v8-complete-courses b{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:white;background:#008cff}.v8-official-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;max-width:100%}.v8-copy-outline{display:block;background:none;border:0;color:#008dff;padding:16px 0;font-weight:850;font-size:12px;cursor:pointer}

/* SJP v4.9 adapted from the original v16 four-stage application CSS */
.sjpe49-application{font-family:'Manrope','DM Sans',sans-serif;--blue:#008dff;--pink:#ff2174;background:#f5faff;padding:45px 18px 60px;color:#071e43;min-width:0;}
.sjpe49-application,.sjpe49-application *,.sjpe49-application *:before,.sjpe49-application *:after{box-sizing:border-box}
.sjpe49-wrap{max-width:1240px;margin:auto}
.sjpe49-heading{margin:0 0 20px}.sjpe49-heading>span{font-size:11px;letter-spacing:.16em;font-weight:850;color:#008dff}.sjpe49-heading h2{font-size:clamp(32px,5vw,60px);line-height:1.1;letter-spacing:-.06em;margin:13px 0;color:#081f49}.sjpe49-heading p{color:#526780;font-size:16px;line-height:1.65;max-width:800px}
.sjpe49-application .v8-app-shell{margin-top:0;margin-bottom:0;}
.sjpe49-application .button{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:99px;padding:12px 23px;min-height:48px;border:1px solid #cbdced;cursor:pointer;font-size:13px;font-weight:850;background:#fff;color:#081f49}
.sjpe49-application .button-pink{background:#ff2174;color:#fff;border-color:#ff2174}
.sjpe49-application .button:disabled{cursor:not-allowed;opacity:.55}
.sjpe49-application .v8-app-panel h2,.sjpe49-application .v8-app-side-content h3{color:#071e43}
.sjpe49-application .v8-app-panel h2 em,.sjpe49-application .v8-app-side-content h3 em{color:#008dff;font-style:normal}
.sjpe49-application .v8-section-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:850;color:#008dff}
.sjpe49-application .v8-app-steps button{font-family:inherit}
.sjpe49-application .v8-form-grid input,.sjpe49-application .v8-form-grid select,.sjpe49-application .v8-block-card select{font-family:inherit}
.sjpe49-application .v8-app-side-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.sjpe49-message-label{display:block;font-size:13px;font-weight:750;color:#17304f;margin:22px 0}.sjpe49-message-label textarea{margin-top:9px;display:block;width:100%;min-height:75px;border:1px solid #d7e4f0;border-radius:12px;padding:12px;font:inherit}
.sjpe49-submit{margin-bottom:13px}
.sjpe49-honey{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.sjpe49-final-note{font-size:12px;color:#63768c}
.sjpe49-alert,.sjpe49-success{margin:0 0 22px;border:1px solid #c9dff8;border-radius:14px;padding:15px 20px;color:#395776;background:#eaf4ff;line-height:1.6}.sjpe49-success{display:flex;gap:14px;align-items:center}.sjpe49-success .fa{font-size:25px;color:#079f68}.sjpe49-success h3{margin:0 0 6px}.sjpe49-success p{margin:0}
.sjpe49-application .v8-app-buttons .fa,.sjpe49-application .v8-app-side .fa,.sjpe49-application .v8-app-panel .fa{font-size:14px!important;width:auto!important;height:auto!important;line-height:1.15}
.sjpe49-application .v8-form-grid label[hidden]{display:none!important}
@media(max-width:1080px){.sjpe49-application .v8-app-inner{grid-template-columns:minmax(0,1fr) 250px}.sjpe49-application .v8-app-main{padding:30px 27px}.sjpe49-application .v8-app-side-content{padding:19px}}
@media(max-width:820px){.sjpe49-application .v8-app-inner{grid-template-columns:1fr}.sjpe49-application .v8-app-side{display:none}.sjpe49-application .v8-app-steps{padding-inline:24px}.sjpe49-application .v8-app-toolbar{padding-inline:24px}.sjpe49-application .v8-app-progress-track{margin-inline:24px}}
@media(max-width:620px){.sjpe49-application{padding:26px 12px}.sjpe49-application .v8-app-shell{border-radius:18px}.sjpe49-application .v8-app-toolbar{padding:20px 15px 12px}.sjpe49-application .v8-app-progress-track{margin-inline:15px}.sjpe49-application .v8-app-steps{padding:14px 12px;gap:4px}.sjpe49-application .v8-app-steps button{flex-direction:column;text-align:center;font-size:9px;gap:5px;align-items:center}.sjpe49-application .v8-app-steps button span{width:27px;height:27px;flex-basis:27px}.sjpe49-application .v8-app-main{padding:27px 17px}.sjpe49-application .v8-form-grid,.sjpe49-application .v8-block-grid,.sjpe49-application .v8-review-grid{grid-template-columns:1fr}.sjpe49-application .v8-app-buttons .button{font-size:11px;padding:12px 15px}.sjpe49-application .v8-app-count{gap:6px}.sjpe49-application .v8-app-toolbar strong{font-size:14px}}


/* v5.4: uniform height, readable side text, inline required markers, native controls and address suggestions. */
.sjpe49-application .v8-app-side-content>div{color:#173052!important;}
.sjpe49-application .v8-app-side-content>div .fa{color:#087eff!important;}
.sjpe49-application .v8-app-side-content>div,
.sjpe49-application .v8-app-side-content>div span,
.sjpe49-application .v8-app-side-content>div strong{opacity:1!important;visibility:visible!important;}
.sjpe49-application .v8-form-grid label{gap:8px!important;align-items:stretch!important;color:#153252!important;}
.sjpe49-application .sjpe54-field-label{display:inline-flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:5px!important;flex-wrap:nowrap!important;white-space:normal!important;min-height:20px;font-weight:800!important;color:#153252!important;line-height:1.4!important;}
.sjpe49-application .sjpe54-field-label b{display:inline!important;position:static!important;flex:0 0 auto!important;color:#ff1675!important;line-height:inherit!important;margin:0!important;padding:0!important;}
.sjpe49-application .v8-form-grid input:not([type=checkbox]),
.sjpe49-application .v8-form-grid select,
.sjpe49-application .v8-block-card select{
 box-sizing:border-box!important;width:100%!important;height:56px!important;min-height:56px!important;max-height:56px!important;
 font-family:'Manrope','DM Sans',sans-serif!important;font-size:16px!important;line-height:1.25!important;
 color:#0a234d!important;-webkit-text-fill-color:#0a234d!important;background-color:#f8fbff!important;
 border:1px solid #d5e4f2!important;border-radius:14px!important;padding:0 18px!important;
 opacity:1!important;box-shadow:none!important;
}
.sjpe49-application .v8-form-grid input::placeholder{color:#7488a2!important;-webkit-text-fill-color:#7488a2!important;opacity:1!important;}
.sjpe49-application .v8-form-grid input:focus,.sjpe49-application .v8-form-grid select:focus,.sjpe49-application .v8-block-card select:focus{
 border-color:#0b84ff!important;outline:2px solid rgba(11,132,255,.19)!important;background-color:#fff!important;
}
.sjpe49-application .v8-form-grid select,
.sjpe49-application .v8-block-card select{
 -webkit-appearance:none!important;appearance:none!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230b2a52' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:17px 17px!important;padding-right:52px!important;
}
.sjpe49-application input[type=date]{color-scheme:light!important;}
.sjpe49-application input[type=date]::-webkit-calendar-picker-indicator{opacity:1!important;cursor:pointer;}
.sjpe49-application .v8-block-card label{display:block!important;color:#173252!important;}
.sjpe49-application .v8-block-card label .sjpe54-field-label{display:inline-flex!important;}
.sjpe49-application .v8-block-card select{margin-top:10px!important;}
.sjpe49-application .v8-block-card{min-width:0!important;}
.sjpe49-application .sjpe54-conditional-note{padding:16px 18px;margin:18px 0 10px;border:1px solid #ffdeaf;border-radius:14px;background:#fffbf0;color:#5b4825!important;font-size:13px;line-height:1.65;}
.sjpe49-application .sjpe54-conditional-note strong{color:#814d0c!important;}
.sjpe49-application .v8-app-panel .v8-app-intro,.sjpe49-application .v8-block-caveat{color:#506681!important;}
.sjpe49-application .v8-app-side-content a{color:#0788ff!important;}
.sjpe49-application .v8-app-side-content>div i{flex:0 0 30px!important;}
.sjpe49-application .v8-form-grid .sjpe54-address-field{position:relative;}
.sjpe49-application .sjpe54-address-suggestions{position:absolute;z-index:80;top:calc(100% + 3px);left:0;right:0;max-height:250px;overflow-y:auto;border:1px solid #b8d5ef;border-radius:12px;background:#fff;box-shadow:0 12px 28px #10285024;padding:5px;}
.sjpe49-application .sjpe54-address-suggestions[hidden]{display:none!important;}
.sjpe49-application .sjpe54-address-option{display:block;width:100%;padding:12px 15px;min-height:40px;text-align:left;border:0;border-radius:7px;cursor:pointer;background:#fff;color:#173252;font:600 13px/1.45 'Manrope','DM Sans',sans-serif;}
.sjpe49-application .sjpe54-address-option:hover,.sjpe49-application .sjpe54-address-option:focus{outline:0;background:#eaf5ff;color:#005fc0;}
.sjpe49-application .sjpe54-address-help,.sjpe49-application .sjpe54-address-note{margin:3px 0 0;font-size:12px;color:#5a7391;line-height:1.5;}
.sjpe49-application .v8-app-side-content>div .fa,
.sjpe49-application .v8-app-panel .fa{font-family:FontAwesome!important;font-size:16px!important;}
@media(max-width:620px){.sjpe49-application .v8-form-grid input:not([type=checkbox]),.sjpe49-application .v8-form-grid select,.sjpe49-application .v8-block-card select{font-size:16px!important;height:54px!important;min-height:54px!important;max-height:54px!important;}}


/* v5.5: final-choice and receipt contrast, centred date text, address-lookup feedback */
.sjpe49-application .v8-complete-courses span {
  color:#102c50 !important; -webkit-text-fill-color:#102c50 !important;
  background:#f1f6fc !important; opacity:1 !important;
}
.sjpe49-application .v8-complete-courses span b {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  background:#0788ff !important; opacity:1 !important;
}
.sjpe49-application .sjpe49-success { background:#eaf4ff !important; border-color:#c9dff8 !important; color:#143353 !important; }
.sjpe49-application .sjpe49-success h3 { color:#09234a !important; -webkit-text-fill-color:#09234a !important; opacity:1 !important; }
.sjpe49-application .sjpe49-success p,
.sjpe49-application .sjpe49-success div {color:#405d7b !important; -webkit-text-fill-color:#405d7b !important; opacity:1 !important;}
.sjpe49-application .sjpe49-success >i { color:#079e6b !important; -webkit-text-fill-color:#079e6b !important; }
.sjpe49-application .v8-review-card strong,
.sjpe49-application .v8-review-card p,
.sjpe49-application .v8-review-card .v8-review-choice strong { color:#153252 !important; -webkit-text-fill-color:#153252 !important; }
.sjpe49-application .v8-form-grid input[type="date"] {
  box-sizing:border-box !important; height:56px !important; min-height:56px !important;
  padding-block:0 !important; line-height:normal !important; vertical-align:middle !important;
  display:block !important; color-scheme:light !important;
}
.sjpe49-application input[type="date"]::-webkit-datetime-edit {
  display:inline-flex; align-items:center; height:100%; min-height:0; padding:0; margin:0;
  line-height:normal; color:#0a234d;
}
.sjpe49-application input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  display:inline-flex; align-items:center; height:100%; padding:0;
}
.sjpe49-application input[type="date"]::-webkit-calendar-picker-indicator {
  align-self:center; margin:auto 0 auto auto; padding:0;
}
.sjpe49-application .sjpe55-postcode-check {
  grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center;
  margin:-7px 0 5px;
}
.sjpe49-application .sjpe55-postcode-check button {
  border:1px solid #b8d5ef; background:#fff; color:#126ab9; border-radius:10px;
  padding:8px 12px; min-height:35px; font:800 12px/1.3 'Manrope','DM Sans',sans-serif;
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
}
.sjpe49-application .sjpe55-postcode-check button:hover,
.sjpe49-application .sjpe55-postcode-check button:focus-visible { background:#eaf5ff; outline:2px solid #b8d5ef; }
.sjpe49-application .sjpe55-postcode-check button:disabled {opacity:.6; cursor:wait;}
.sjpe49-application .sjpe55-postcode-help {color:#496985; font-size:12px; line-height:1.5;}
.sjpe49-application .sjpe54-address-help {color:#496985; padding:4px 0; font-weight:600;}
.sjpe49-application .sjpe54-address-help.is-error,
.sjpe49-application .sjpe55-postcode-help.is-error {color:#9c3150;}
@media(max-width:620px){
 .sjpe49-application .v8-form-grid input[type="date"] {height:54px!important;min-height:54px!important;}
}

/* v5.6: manual address fields and conditional SJP retention questions */
.sjpe49-application .v8-form-grid [data-sjpe49-staying],
.sjpe49-application .v8-form-grid [data-sjpe49-destination]{min-width:0;}
.sjpe49-application .v8-form-grid label[data-sjpe49-staying] select,
.sjpe49-application .v8-form-grid label[data-sjpe49-destination] input{width:100%;}
.sjpe49-application .v8-form-grid [data-sjpe49-staying][hidden],
.sjpe49-application .v8-form-grid [data-sjpe49-destination][hidden]{display:none!important;}
