/* ItineraryFlow V23 customer portal — 23.0.6 UX restoration */
.locked-portal{--portal-navy:#092d55;--portal-blue:#1477d4;--portal-teal:#10a187;--portal-ink:#16304a;--portal-muted:#6d8194;--portal-line:#dce6ef;--portal-bg:#f4f8fb;--portal-shadow:0 18px 45px rgba(9,45,85,.10);margin:0;background:var(--portal-bg);color:var(--portal-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.locked-portal *{box-sizing:border-box}.locked-portal input,.locked-portal select,.locked-portal textarea,.locked-portal button{font:inherit}
.portal-lock-header{height:78px!important}.portal-lock-header-inner{height:78px!important;max-width:1320px!important;padding:0 28px!important}.portal-lock-header .recovery-brand img{max-width:210px;max-height:52px;object-fit:contain}.portal-lock-header .recovery-brand strong{font-size:17px;color:var(--portal-navy)}.portal-lock-header nav{gap:5px!important;background:#f2f6fa;border-radius:12px;padding:4px}.portal-lock-header nav a{border:0!important;padding:9px 12px!important;border-radius:8px;font-size:11px!important;color:#597087!important}.portal-lock-header nav a.active{background:#fff!important;color:var(--portal-navy)!important;box-shadow:0 3px 10px rgba(15,47,79,.08)}.portal-lock-header .btn{border-radius:10px;padding:10px 15px;background:#fff;border:1px solid #d4e0ea;color:var(--portal-navy);font-size:12px;font-weight:800}
.portal-auth-shell{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);background:#fff}.portal-auth-visual{min-height:650px;background:linear-gradient(180deg,rgba(4,35,68,.07) 0%,rgba(5,42,76,.80) 74%,rgba(5,42,76,.96) 100%),url('recovery/deal-maldives.jpg') center/cover;display:flex;align-items:flex-end}.portal-auth-overlay{padding:58px 7vw 68px;color:#fff;max-width:850px}.portal-kicker{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.17em;color:#b6efdf;margin-bottom:8px}.portal-kicker.blue{color:var(--portal-blue)}.portal-auth-overlay h1{font-size:58px;line-height:.98;letter-spacing:-.045em;margin:4px 0 18px;color:#fff}.portal-auth-overlay h1 em{font-style:normal;color:#b6efdf}.portal-auth-overlay>p{font-size:17px;line-height:1.65;max-width:650px;color:#e3edf5}.portal-auth-benefits{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px}.portal-auth-benefits>div{display:flex;align-items:center;gap:8px;font-size:12px}.portal-auth-benefits span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(182,239,223,.18);border:1px solid rgba(182,239,223,.42);color:#b6efdf}.portal-auth-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(180deg,#fff,#f7fafc)}.portal-auth-card{width:100%;max-width:480px}.portal-auth-card h2{font-size:34px;letter-spacing:-.035em;margin:5px 0 9px;color:var(--portal-navy)}.portal-auth-intro{color:var(--portal-muted);line-height:1.55;margin:0 0 26px}.portal-alert{border-radius:12px;padding:12px 14px;margin-bottom:20px;font-size:12px}.portal-alert.error{background:#fff0f0;border:1px solid #f2caca;color:#962f2f}.portal-auth-form{display:grid;gap:17px}.portal-auth-form label,.portal-first-time label{display:grid;gap:7px;color:#3b5268;font-size:12px;font-weight:800}.portal-auth-form input,.portal-first-time input{width:100%;height:50px;border:1px solid #cad8e5;border-radius:11px;padding:0 14px;background:#fff;color:var(--portal-ink);outline:0;transition:.18s}.portal-auth-form input:focus,.portal-first-time input:focus{border-color:#6aa6dc;box-shadow:0 0 0 4px rgba(20,119,212,.09)}.portal-password-field{position:relative}.portal-password-field input{padding-right:72px}.portal-password-toggle{position:absolute;right:7px;top:7px;height:36px;border:0;background:#edf4fa;color:#3d6385;border-radius:8px;padding:0 11px;font-size:11px;font-weight:850;cursor:pointer}.portal-primary-btn,.portal-secondary-btn{min-height:50px;border-radius:11px;border:0;cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px}.portal-primary-btn{background:linear-gradient(135deg,#0c69c2,#1684e4);color:#fff;box-shadow:0 10px 24px rgba(20,119,212,.22)}.portal-primary-btn span{font-size:18px}.portal-secondary-btn{background:#edf4fa;color:var(--portal-navy)}.portal-auth-help{margin-top:18px;padding:14px 15px;border:1px solid #e0e8ef;border-radius:12px;background:#fbfdff;display:grid;gap:4px}.portal-auth-help b{font-size:12px}.portal-auth-help span{font-size:11px;color:var(--portal-muted);line-height:1.45}.portal-first-time{margin-top:14px;border:1px solid #e0e8ef;border-radius:12px;background:#fff}.portal-first-time summary{cursor:pointer;padding:14px 15px;font-size:11px;font-weight:850;color:#35516b}.portal-first-time form{padding:0 15px 15px;display:grid;gap:12px}.portal-auth-security{display:flex;gap:10px;align-items:flex-start;margin-top:22px;color:#76899b}.portal-auth-security>span{font-size:16px}.portal-auth-security p{font-size:10px;line-height:1.5;margin:0}.portal-auth-security b{color:#4c6275}
.portal-welcome-hero{height:225px!important;background:linear-gradient(90deg,rgba(5,45,83,.94),rgba(5,45,83,.37)),url('recovery/deal-thailand.jpg') center 47%/cover!important}.portal-welcome-inner{max-width:1320px!important;padding:50px 28px!important}.portal-welcome-inner h1{font-size:38px!important;letter-spacing:-.035em!important;margin:6px 0!important}.portal-welcome-inner p{font-size:14px!important;max-width:680px}.portal-lock-main{max-width:1320px!important;padding:0 28px 55px!important}.portal-action-ribbon{grid-template-columns:repeat(4,1fr)!important;border-radius:16px!important;margin-top:-28px!important;box-shadow:var(--portal-shadow)!important}.portal-action-ribbon a{padding:18px!important;gap:12px!important}.portal-action-ribbon a>span{width:42px!important;height:42px!important;border-radius:12px!important}.portal-action-ribbon b{font-size:12px!important;color:var(--portal-navy)}.portal-action-ribbon small{font-size:10px!important;margin-top:2px;color:var(--portal-muted)!important}.portal-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:16px;margin-top:18px}.portal-trip-card{background:#fff;border:1px solid var(--portal-line);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:42% 1fr;min-height:295px;box-shadow:0 8px 25px rgba(16,52,83,.06)}.portal-trip-image{background:linear-gradient(0deg,rgba(5,45,83,.18),rgba(5,45,83,0)),url('recovery/deal-cruise.jpg') center/cover}.portal-trip-body{padding:26px;display:flex;flex-direction:column;justify-content:center}.portal-trip-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.portal-trip-title h2{font-size:27px;letter-spacing:-.03em;margin:4px 0}.portal-trip-title p{font-size:11px;color:var(--portal-muted);margin:0}.portal-status-chip{font-size:9px;font-weight:900;padding:6px 9px;border-radius:999px;background:#e7f7ef;color:#23724f}.portal-trip-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.portal-trip-facts>div{background:#f4f8fb;border-radius:11px;padding:11px}.portal-trip-facts small{display:block;font-size:9px;color:var(--portal-muted)}.portal-trip-facts b{font-size:12px}.portal-trip-links{display:flex;gap:8px;flex-wrap:wrap}.portal-trip-links a{font-size:11px;font-weight:850;background:#0e70cc;color:#fff;border-radius:9px;padding:9px 12px}.portal-trip-links a+ a{background:#edf4fa;color:var(--portal-navy)}.portal-overview-side{display:grid;gap:10px}.portal-mini-card{background:#fff;border:1px solid var(--portal-line);border-radius:15px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;box-shadow:0 5px 16px rgba(18,49,78,.04)}.portal-mini-card:hover{border-color:#b9d2e8;transform:translateY(-1px)}.portal-mini-card>div{min-width:0}.portal-mini-card small{display:block;font-size:8px;font-weight:900;letter-spacing:.10em;color:var(--portal-blue)}.portal-mini-card strong{display:block;font-size:16px;color:var(--portal-navy);margin:3px 0}.portal-mini-card p{font-size:9px;color:var(--portal-muted);margin:0;line-height:1.4}.portal-mini-icon,.portal-consultant-avatar{width:42px;height:42px;border-radius:12px;background:#eaf4fb;color:var(--portal-blue);display:grid;place-items:center;font-weight:900}.portal-consultant-avatar{border-radius:50%;background:#0c5c93;color:#fff}.portal-mini-card>b{font-size:18px;color:#7b91a4}
.portal-content-panel{border-radius:18px!important;padding:24px!important;margin-top:18px!important;box-shadow:0 7px 22px rgba(18,49,78,.05)!important}.portal-content-head{padding-bottom:16px!important;margin-bottom:18px!important}.portal-content-head h2{font-size:27px!important;letter-spacing:-.025em}.portal-content-head p{font-size:11px!important}.portal-journey-section{margin-top:24px}.portal-journey-section>h3{font-size:15px;color:var(--portal-navy);margin-bottom:10px}.portal-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-journey-grid article{border:1px solid var(--portal-line);border-radius:14px;padding:17px;background:#fff}.portal-journey-grid article h3{font-size:16px;margin:10px 0 5px}.portal-journey-grid article p{font-size:10px;color:var(--portal-muted)}.portal-journey-grid article small{font-size:9px;color:var(--portal-muted);display:block;margin:7px 0}.portal-journey-grid .text-link{font-size:10px;font-weight:850;color:var(--portal-blue)}.portal-payment-summary,.portal-profile-grid{gap:12px!important}.portal-payment-summary>div,.portal-profile-grid>div{border:1px solid #e3eaf0;border-radius:12px!important;padding:14px!important}.portal-payment-summary small,.portal-profile-grid small{font-size:9px!important}.portal-payment-summary strong,.portal-profile-grid strong{font-size:18px!important;margin-top:3px}.portal-payment-list>div{grid-template-columns:110px minmax(0,1fr) 110px 100px!important;padding:12px!important;font-size:11px!important}.portal-payment-list small{font-size:9px!important}.portal-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.portal-document-link{border:1px solid var(--portal-line)!important;border-radius:13px!important;padding:14px!important;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;color:var(--portal-ink)}.portal-doc-grid h3{font-size:12px!important}.portal-doc-grid p{font-size:9px!important}.portal-message-list>div{padding:12px 14px!important;border-radius:13px!important}.portal-message-list p{font-size:11px!important;line-height:1.55!important}.portal-message-list small{font-size:8px!important}.portal-compose{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}.portal-compose label{font-size:10px;font-weight:800}.portal-compose select,.portal-compose textarea,.portal-profile-request input,.portal-profile-request select,.portal-profile-request textarea{width:100%;border:1px solid #cad8e5;border-radius:10px;padding:10px;background:#fff}.portal-help-options{gap:12px!important}.portal-help-options a{border-radius:13px!important;padding:15px!important}.portal-help-options b{font-size:11px!important}.portal-help-options small{font-size:9px!important}.portal-faq{margin-top:26px}.portal-faq h3{font-size:17px}.portal-faq details{border-top:1px solid #e7edf2;padding:13px 0}.portal-faq summary{cursor:pointer;font-size:11px;font-weight:850}.portal-faq p{font-size:10px;color:var(--portal-muted);line-height:1.6}.portal-still-help{margin-top:22px;background:#f0f7fd;border-radius:14px;padding:18px}.portal-lock-trust{border-radius:15px!important;margin-top:16px!important;padding:16px!important}.portal-lock-trust strong{font-size:12px!important}.portal-lock-trust small{font-size:8px!important}
@media(max-width:1050px){.portal-auth-shell{grid-template-columns:1fr}.portal-auth-visual{min-height:390px}.portal-auth-overlay{padding:42px}.portal-auth-overlay h1{font-size:48px}.portal-auth-panel{padding:38px 22px}.portal-overview-grid{grid-template-columns:1fr}.portal-overview-side{grid-template-columns:repeat(3,1fr)}.portal-mini-card{grid-template-columns:auto 1fr}.portal-mini-card>b{display:none}.portal-journey-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.portal-lock-header{height:auto!important}.portal-lock-header-inner{min-height:68px;height:auto!important;padding:10px 14px!important}.portal-lock-header nav{display:none!important}.portal-lock-header .recovery-brand img{max-width:160px}.portal-auth-visual{min-height:330px}.portal-auth-overlay{padding:32px 22px}.portal-auth-overlay h1{font-size:39px}.portal-auth-overlay>p{font-size:14px}.portal-auth-benefits{display:grid;gap:10px}.portal-auth-panel{padding:30px 16px}.portal-auth-card h2{font-size:29px}.portal-welcome-hero{height:210px!important}.portal-welcome-inner{padding:42px 18px!important}.portal-welcome-inner h1{font-size:31px!important}.portal-lock-main{padding:0 14px 38px!important}.portal-action-ribbon{grid-template-columns:1fr 1fr!important;margin-top:-25px!important}.portal-action-ribbon a{border-bottom:1px solid #e6edf2}.portal-overview-side{grid-template-columns:1fr}.portal-trip-card{grid-template-columns:1fr}.portal-trip-image{min-height:190px}.portal-trip-body{padding:20px}.portal-trip-facts{grid-template-columns:1fr 1fr}.portal-journey-grid,.portal-doc-grid,.portal-payment-summary,.portal-profile-grid,.portal-help-options{grid-template-columns:1fr!important}.portal-content-panel{padding:17px!important}.portal-payment-list>div{grid-template-columns:1fr auto!important}.portal-payment-list>div>span:first-child{grid-column:1/-1}.portal-compose{grid-template-columns:1fr!important}.portal-lock-trust{grid-template-columns:1fr 1fr!important;gap:10px}.portal-lock-trust>div{border-right:0!important}.portal-document-link{grid-template-columns:auto 1fr}.portal-document-link .btn{grid-column:1/-1}}
