:root{--navy:#063b7a;--blue:#0b67b2;--cyan:#12a9c4;--teal:#12b8a6;--ink:#10233d;--muted:#64748b;--line:#dbe5ef;--soft:#f4f8fc;--success:#0fa77a;--warning:#f59e0b;--shadow:0 18px 50px rgba(7,47,94,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 92% 8%,rgba(18,169,196,.10),transparent 24rem),linear-gradient(180deg,#fff 0,#f6fafe 52%,#eef5fb 100%)}button,input{font:inherit}.hidden{display:none!important}
.brandRibbon{height:6px;background:linear-gradient(90deg,var(--navy) 0 62%,var(--blue) 62% 76%,var(--cyan) 76% 88%,var(--teal) 88%)}
.topbar{width:min(1180px,calc(100% - 32px));margin:0 auto;min-height:78px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--navy)}.brandLogo{display:block;width:128px;height:auto}.frxWordmark{font-weight:950;font-size:2rem;letter-spacing:-.08em}.xMark{background:linear-gradient(145deg,var(--blue),var(--cyan) 56%,var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}.facilities{margin-top:2px;font-size:.55rem;letter-spacing:.35em;font-weight:800}.productName{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:1rem}.productName strong{font-size:1.15rem}.topTagline{margin-left:auto;color:#48637f; font-size:.9rem}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0 42px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:32px 0}.eyebrow,.panelKicker,.journeyKicker{color:var(--blue);font-weight:850;letter-spacing:.1em;font-size:.72rem}.intro h1{margin:7px 0 8px;max-width:680px;font-size:clamp(2rem,5vw,3.45rem);line-height:1.02;letter-spacing:-.045em;color:var(--navy)}.intro p{margin:0;color:var(--muted);font-size:1.05rem}
.introBadge{display:flex;gap:12px;align-items:center;min-width:290px;padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:16px;box-shadow:var(--shadow)}.introBadge strong,.introBadge small{display:block}.introBadge small{margin-top:3px;color:var(--muted)}.shieldIcon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;font-weight:900}
.authLayout{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}.journeyCard,.panel,.contentCard,.progressCard,.statusCard,.trustGrid article{border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:var(--shadow)}
.journeyCard{position:relative;overflow:hidden;min-height:560px;padding:32px;border-radius:26px;background:linear-gradient(155deg,rgba(6,59,122,.99),rgba(9,89,150,.96) 54%,rgba(18,169,196,.9));color:#fff}.journeyCard::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-110px;bottom:-120px;border:48px solid rgba(255,255,255,.08)}.journeyCard .journeyKicker{color:#a9e8f4}.journeyCard h2{margin:8px 0 10px;font-size:2rem}.journeyCard>p{margin:0 0 26px;color:#d7e9f7;max-width:440px}.journeySteps{list-style:none;padding:0;margin:0;display:grid;gap:16px}.journeySteps li{display:flex;gap:13px;align-items:center;padding:12px;border-radius:14px}.journeySteps li.active{background:rgba(255,255,255,.12)}.journeySteps li>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.12);font-weight:900}.journeySteps li.active>span{background:#fff;color:var(--navy)}.journeySteps strong,.journeySteps small{display:block}.journeySteps small{margin-top:3px;color:#cfe2f3}.journeyFooter{position:absolute;left:32px;bottom:30px;font-weight:800}
.panel{padding:34px;border-radius:26px}.authPanel{display:grid;align-content:center}.panelIcon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#eaf4fc;color:var(--blue);font-weight:950;font-size:1.35rem;margin-bottom:14px}.authPanel h2{margin:6px 0 8px;font-size:1.65rem;color:var(--navy)}.muted{color:var(--muted);margin:0}.field{display:grid;gap:7px;margin-top:15px}.field label{font-size:.9rem;font-weight:800;color:#23415f}input{width:100%;min-height:50px;border:1px solid #c9d7e5;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink)}input:focus{outline:3px solid rgba(11,103,178,.12);border-color:var(--blue)}input:disabled{background:#f3f6f9;color:#74879b}.otpInput{letter-spacing:.42em;text-align:center;font-weight:900;font-size:1.35rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}button{min-height:48px;border:0;border-radius:12px;padding:12px 18px;color:#fff;background:linear-gradient(135deg,var(--blue),#075698);font-weight:850;box-shadow:0 8px 20px rgba(11,103,178,.16);cursor:pointer}button:hover{filter:brightness(1.04)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:var(--navy);background:#edf3f8;box-shadow:none}button.compact{min-height:40px;padding:8px 14px}.secureLine{margin:14px 0 0;color:#60778e;font-size:.85rem;text-align:center}.message{margin:14px 0 0;font-weight:700;color:#244b70}.message.error{color:#a62929}
.portal{display:grid;gap:18px}.portalHero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:28px;border-radius:24px;color:#fff;background:radial-gradient(circle at 88% 0,rgba(18,184,166,.35),transparent 18rem),linear-gradient(135deg,var(--navy),#075a9c);box-shadow:var(--shadow)}.portalHero h2{margin:5px 0 7px;font-size:1.8rem}.portalHero .panelKicker{color:#bcebf3}.portalHero .muted{color:#d9e8f5}.portalHero button.secondary{background:rgba(255,255,255,.13);color:#fff}
.progressCard,.contentCard{border-radius:20px;padding:22px}.progressHead{display:flex;justify-content:space-between;gap:12px}.progressHead span{font-weight:900;color:var(--blue)}.progressTrack{height:11px;margin:12px 0 8px;border-radius:999px;background:#e7edf4;overflow:hidden}.progressTrack span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--teal));transition:width .35s ease}.stepRail{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.stepRail span{padding:9px 8px;text-align:center;border-radius:999px;background:#f0f4f8;color:#718096;font-size:.8rem;font-weight:750}.stepRail span.done{background:#e6f7f3;color:#087a65}
.statusCard{display:flex;gap:15px;align-items:center;padding:20px;border-radius:18px}.statusIcon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:#fff4df;color:#d98200;font-size:1.5rem;font-weight:900}.statusLabel{display:block;color:#63788c;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.statusCard strong{display:block;margin-top:3px;color:var(--navy)}.statusCard p{margin:3px 0 0;color:var(--muted);font-size:.9rem}
.sectionTitle{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.sectionTitle>div{display:flex;gap:11px;align-items:flex-start}.sectionTitle h3{margin:0 0 3px;color:var(--navy)}.sectionIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eaf4fc;color:var(--blue);font-weight:900}.chip{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#eef3f7;color:#5f7285;font-size:.75rem;font-weight:850}.chip.blue{background:#e7f2fb;color:var(--blue)}.chip.warning{background:#fff4dc;color:#b96d00}.chip.success{background:#e7f8f3;color:#087b65}
.profileGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.profileGrid .field{margin:0}.profileGrid .wide{grid-column:1/-1}.saveState{min-height:20px;margin:12px 0 0;color:#5e7489;font-size:.85rem}.docsGrid{display:grid;gap:10px}.doc{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid #e1e8ef;border-radius:14px;background:#fbfdff}.doc h2{margin:0 0 3px;font-size:.96rem;color:#153b63}.doc p{margin:0;color:#718094;font-size:.84rem}.doc button{min-width:142px}.signaturePreview{background:linear-gradient(180deg,#fff,#fbfdff)}.signatureNote{margin:0;color:#62788c}
.sessionBanner{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#eaf5fb;color:#385c79;font-size:.88rem}.sessionBanner p{margin:0}.trustGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.trustGrid article{padding:18px;border-radius:17px}.trustGrid article>span{width:34px;height:34px;display:grid;place-items:center;margin-bottom:10px;border-radius:11px;background:#e9f6f4;color:var(--success);font-weight:900}.trustGrid strong{color:var(--navy)}.trustGrid p{margin:5px 0 0;color:var(--muted);font-size:.86rem}
.footer{min-height:62px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px max(16px,calc((100vw - 1180px)/2));background:linear-gradient(90deg,#062f63,#064b8b);color:#dceaf6;font-size:.78rem;letter-spacing:.04em}.footer>div{display:flex;align-items:center;gap:8px}.footerFrx{font-size:1.25rem;font-weight:950;color:#fff;letter-spacing:-.05em}.footer .divider,.footer>div:last-child span{color:#25c1b0}
@media(max-width:900px){.topTagline{display:none}.intro{align-items:flex-start}.introBadge{display:none}.authLayout{grid-template-columns:1fr}.journeyCard{min-height:auto}.journeyFooter{position:static;margin-top:22px}.trustGrid{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{min-height:68px;gap:12px;width:min(100% - 24px,1180px)}.brandLogo{width:104px}.frxWordmark{font-size:1.6rem}.facilities{font-size:.46rem}.productName{font-size:.82rem}.productName strong{font-size:.95rem}.shell{width:min(100% - 24px,1180px);padding-top:10px}.intro{padding:20px 0}.intro h1{font-size:2.1rem}.intro p{font-size:.95rem}.journeyCard{display:none}.panel{padding:22px;border-radius:20px}.authPanel{min-height:470px}.portalHero{padding:20px;border-radius:20px}.portalHero h2{font-size:1.45rem}.stepRail{grid-template-columns:1fr 1fr}.profileGrid{grid-template-columns:1fr}.profileGrid .wide{grid-column:auto}.sectionTitle{flex-direction:column}.doc{grid-template-columns:1fr}.doc button{width:100%}.footer{flex-direction:column;align-items:flex-start;padding:18px 16px}.footer>div:last-child{font-size:.68rem}}

.portalNav{position:sticky;top:10px;z-index:5;display:flex;gap:8px;padding:8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(7,47,94,.08);backdrop-filter:blur(10px)}
.navButton{min-height:40px;flex:1;padding:9px 12px;border-radius:10px;background:transparent;color:#5d7186;box-shadow:none}
.navButton:hover{background:#eef5fb;filter:none}
.navButton.active{background:#e7f2fb;color:var(--blue)}
#portal-home,#profile-section,#portal-documents,#portal-signatures{scroll-margin-top:84px}
@media(max-width:640px){.portalNav{overflow-x:auto;justify-content:flex-start}.navButton{min-width:max-content;flex:0 0 auto}}
