@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@custom-variant dark (&:is(.dark *));@theme inline{ --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); }:root{--radius: .9rem;--background: oklch(.985 .004 247);--foreground: oklch(.17 .025 253);--card: oklch(1 0 0);--card-foreground: oklch(.17 .025 253);--popover: oklch(1 0 0);--popover-foreground: oklch(.17 .025 253);--primary: oklch(.44 .16 257);--primary-foreground: oklch(.99 0 0);--secondary: oklch(.96 .012 252);--secondary-foreground: oklch(.25 .03 253);--muted: oklch(.95 .008 252);--muted-foreground: oklch(.47 .025 250);--accent: oklch(.94 .026 252);--accent-foreground: oklch(.27 .075 257);--destructive: oklch(.57 .22 26);--destructive-foreground: oklch(.99 0 0);--border: oklch(.89 .013 250);--input: oklch(.87 .013 250);--ring: oklch(.52 .17 256)}*{box-sizing:border-box}html{min-width:320px;background:#f7faff}body{min-width:320px;margin:0;background:var(--background);color:var(--foreground);font-family:Albert Sans,Inter,Segoe UI,sans-serif;text-rendering:optimizeLegibility}button,input{font:inherit}button:not(:disabled),a[href]{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(48,116,235,.32);outline-offset:3px}#root{min-height:100vh}.portal-shell{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 12% 8%,rgba(55,122,242,.16),transparent 27rem),radial-gradient(circle at 88% 93%,rgba(16,69,152,.12),transparent 31rem),linear-gradient(135deg,#f9fbff,#f4f8ff 48%,#f8fbff)}.executive-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(100% - 2.5rem,1280px);margin:0 auto;padding:1.45rem 0}.brand-lockup{display:flex;align-items:center;gap:1.1rem;min-width:0}.brand-lockup img{display:block;width:auto;object-fit:contain}.brand-lockup .client-logo{max-width:120px;max-height:34px}.brand-lockup .partner-logo{max-width:112px;max-height:34px}.brand-separator{width:1px;height:28px;background:#cdd8e8}.workspace-label{color:#5c6d83;font-size:.73rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.confidential-marker{display:inline-flex;align-items:center;gap:.45rem;color:#38546f;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.confidential-marker svg{color:#1e68c9}.login-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(2rem,5vw,6rem);align-items:center;width:min(100% - 2.5rem,1180px);min-height:calc(100vh - 95px);margin:0 auto;padding:1rem 0 4rem}.login-introduction{position:relative;padding:clamp(1.25rem,3vw,3rem) 0}.login-introduction:before{position:absolute;top:0;left:-9rem;width:26rem;height:26rem;border:1px solid rgba(26,92,190,.12);border-radius:50%;content:""}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;position:relative;margin-bottom:1.35rem;color:#2167c4;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{width:28px;height:2px;background:#2b78dc;content:""}.login-introduction h1,.dashboard-hero h1,.proposal-intro h1{position:relative;max-width:680px;margin:0;color:#071d37;font-size:clamp(2.55rem,5.3vw,5.3rem);font-weight:600;letter-spacing:-.065em;line-height:.98}.login-introduction h1 strong,.dashboard-hero h1 strong{color:#1e69cf;font-weight:inherit}.lead-copy{position:relative;max-width:580px;margin:1.65rem 0 0;color:#52647a;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.72}.migration-route{position:relative;display:grid;grid-template-columns:auto minmax(110px,1fr) auto;align-items:center;gap:.8rem;width:min(100%,510px);margin-top:2rem;padding:.9rem 1rem;border:1px solid rgba(191,211,236,.78);border-radius:.85rem;background:#ffffff78}.route-platform span{display:block;color:#71849b;font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.route-platform strong{display:block;margin-top:.24rem;color:#1b385a;font-size:.88rem;font-weight:800}.route-platform.destination{text-align:right}.route-platform.destination strong{color:#1d6dce}.route-track{position:relative;display:flex;align-items:center;justify-content:space-between;min-width:82px;height:20px}.route-track:before{position:absolute;right:3px;left:3px;height:1px;background:linear-gradient(90deg,#a9c8ec,#2a78d7);content:""}.route-track:after{position:absolute;right:0;width:6px;height:6px;border-top:1px solid #2a78d7;border-right:1px solid #2a78d7;content:"";transform:rotate(45deg)}.route-track i,.route-track b{position:relative;z-index:1;display:block;width:6px;height:6px;border:1px solid #70a3dd;border-radius:50%;background:#f6faff}.route-track b{width:9px;height:9px;border-color:#2f79d1;background:#2f79d1;box-shadow:0 0 0 3px #2f79d124}.engagement-details{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:585px;margin-top:2.6rem;padding-top:1.35rem;border-top:1px solid #d8e2ef}.engagement-detail{padding-right:1rem}.engagement-detail+.engagement-detail{padding-left:1rem;border-left:1px solid #d8e2ef}.engagement-detail span{display:block;color:#6f7f92;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.engagement-detail strong{display:block;margin-top:.45rem;color:#102a48;font-size:.92rem;font-weight:700;line-height:1.35}.login-card{position:relative;padding:clamp(1.75rem,4vw,3.2rem);overflow:hidden;border:1px solid rgba(180,198,222,.75);border-radius:1.65rem;background:#ffffffeb;box-shadow:0 28px 70px #1c437b26,0 1px 2px #132c4f0f}.login-card:after{position:absolute;top:0;right:0;width:150px;height:5px;background:linear-gradient(90deg,#2e7be2,#0e3465);content:""}.login-card-heading{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.security-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:#e9f2ff;color:#226ecf}.login-card h2{margin:0;color:#0b213d;font-size:1.5rem;font-weight:700;letter-spacing:-.035em}.login-card-heading p{margin:.32rem 0 0;color:#68798d;font-size:.9rem;line-height:1.5}.credential-form{display:grid;gap:1.25rem}.field-label{display:block;margin-bottom:.5rem;color:#26415f;font-size:.78rem;font-weight:800;letter-spacing:.035em}.input-wrap{position:relative}.input-wrap svg{position:absolute;top:50%;left:1rem;color:#7b8da2;transform:translateY(-50%)}.credential-input{width:100%;height:3.2rem;padding:0 1rem 0 3rem;border:1px solid #c8d5e5;border-radius:.8rem;background:#fbfdff;color:#102a48;font-size:.95rem;font-weight:500;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.credential-input::placeholder{color:#99a8b8}.credential-input:hover{border-color:#a9c0df}.credential-input:focus{border-color:#3e83d9;background:#fff;box-shadow:0 0 0 4px #3e83d91f;outline:none}.login-error{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:.75rem .85rem;border:1px solid #f1c2c1;border-radius:.7rem;background:#fff5f5;color:#a12c2c;font-size:.84rem;line-height:1.45}.primary-action,.quiet-action,.proposal-toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.2rem;border:0;border-radius:.8rem;font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1),background .16s ease,color .16s ease}.primary-action{width:100%;margin-top:.15rem;background:linear-gradient(135deg,#236bc5,#0d3971);color:#fff;box-shadow:0 12px 24px #1854a038}.primary-action:hover:not(:disabled){box-shadow:0 15px 30px #1854a04d;transform:translateY(-2px)}.primary-action:active:not(:disabled),.quiet-action:active:not(:disabled),.proposal-toolbar-button:active:not(:disabled){transform:scale(.98)}.primary-action:disabled{cursor:wait;opacity:.72}.login-assurance{display:flex;align-items:center;gap:.55rem;margin:1.55rem 0 0;color:#74859a;font-size:.75rem;line-height:1.5}.login-assurance svg{flex:0 0 auto;color:#2777d5}.login-footer{position:relative;width:min(100% - 2.5rem,1180px);margin:0 auto;padding-bottom:1.75rem;color:#8090a2;font-size:.73rem}.dashboard-shell{min-height:100vh;background:linear-gradient(180deg,#fff 0,#fff 360px,transparent 360px),radial-gradient(circle at 70% 12%,rgba(49,117,232,.1),transparent 24rem),#f5f8fd}.dashboard-header{width:min(100% - 2.5rem,1280px);margin:0 auto;border-bottom:1px solid #e0e8f3}.dashboard-header .executive-header{width:100%;padding:1.35rem 0}.header-actions{display:flex;align-items:center;gap:1rem}.quiet-action{min-height:auto;padding:.65rem .75rem;background:transparent;color:#60738a}.quiet-action:hover:not(:disabled){background:#f0f5fb;color:#173f70}.dashboard-content{width:min(100% - 2.5rem,1280px);margin:0 auto;padding:clamp(3.2rem,7vw,7.3rem) 0 4rem}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:clamp(2.2rem,5vw,4.2rem)}.dashboard-hero h1{max-width:770px;font-size:clamp(2.55rem,5vw,4.75rem)}.dashboard-hero .lead-copy{max-width:660px}.engagement-state{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;border:1px solid #cfe1f5;border-radius:999px;background:#f6faffd9;color:#35648f;font-size:.78rem;font-weight:800;white-space:nowrap}.engagement-state:before{width:.5rem;height:.5rem;border-radius:50%;background:#2777d5;box-shadow:0 0 0 4px #2777d521;content:""}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.document-card{position:relative;display:flex;min-height:385px;flex-direction:column;padding:clamp(1.4rem,2.5vw,2rem);overflow:hidden;border:1px solid #dbe5f1;border-radius:1.25rem;background:#fff;box-shadow:0 12px 30px #1535600d;text-align:left}.document-card.available{cursor:pointer;transition:transform .21s cubic-bezier(.23,1,.32,1),box-shadow .21s cubic-bezier(.23,1,.32,1),border-color .21s ease}.document-card.available:hover{border-color:#a9c9ed;box-shadow:0 19px 42px #194c9321;transform:translateY(-5px)}.document-card.available:before{position:absolute;top:0;right:0;width:128px;height:5px;background:linear-gradient(90deg,#45a1ff,#164e9b);content:""}.document-card.is-coming{border-color:#d7e0ea;background:linear-gradient(145deg,#f4f7fa,#edf2f7);color:#68788b}.document-card.is-coming:after{display:none}.document-topline,.document-card-body,.document-card-footer{position:relative;z-index:1}.document-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.document-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:.88rem;background:#e9f2ff;color:#1f6dcc}.document-card.is-coming .document-icon{background:#e8edf3;color:#8291a3}.document-state{display:inline-flex;align-items:center;gap:.35rem;color:#2867b4;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.document-card.is-coming .document-state{color:#7e8b9a}.document-card-body{margin-top:auto;padding-top:3rem}.document-card h2{max-width:280px;margin:0;color:#102b4c;font-size:clamp(1.34rem,2vw,1.7rem);font-weight:700;letter-spacing:-.045em;line-height:1.08}.document-card.is-coming h2{color:#52657a}.document-card p{min-height:4.2rem;margin:1rem 0 0;color:#687b91;font-size:.91rem;line-height:1.6}.document-card.is-coming p{color:#667a90}.document-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.25rem;padding-top:1.1rem;border-top:1px solid #e5ebf3;color:#246fc8;font-size:.83rem;font-weight:800}.document-card.is-coming .document-card-footer{color:#687b8f}.dashboard-footnote{display:flex;align-items:flex-start;gap:.7rem;margin-top:2.2rem;color:#6d7f94;font-size:.8rem;line-height:1.55}.dashboard-footnote svg{flex:0 0 auto;margin-top:.1rem;color:#2a77d1}.portal-loading{display:grid;min-height:100vh;place-items:center;background:#f7faff}.loading-mark{display:grid;gap:1rem;justify-items:center;color:#63809f;font-size:.9rem;font-weight:700}.loading-mark svg{color:#1d6dce}.proposal-shell{display:flex;min-height:100vh;flex-direction:column;background:#e8eef7}.proposal-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px;padding:.9rem max(1.25rem,calc((100vw - 1280px)/2));border-bottom:1px solid #d5e0ed;background:#fffffff0;box-shadow:0 4px 15px #1631560a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.proposal-toolbar-left,.proposal-toolbar-right{display:flex;align-items:center;gap:.9rem}.proposal-toolbar-left{min-width:0;flex:1}.proposal-brand-lockup{display:inline-flex;flex:0 0 auto;align-items:center;gap:.65rem}.proposal-client-logo,.proposal-partner-logo{display:block;width:auto;object-fit:contain}.proposal-client-logo{height:1.8rem;max-width:7.7rem}.proposal-partner-logo{height:1.7rem;max-width:7rem}.proposal-brand-separator,.proposal-toolbar-divider{width:1px;flex:0 0 1px;background:#cbd8e7}.proposal-brand-separator{height:1.45rem}.proposal-toolbar-divider{height:2rem}.proposal-toolbar-title{min-width:0}.proposal-toolbar-title span{display:block;overflow:hidden;color:#0e2a4d;font-size:.95rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.proposal-toolbar-title small{display:block;margin-top:.15rem;color:#789;font-size:.72rem}.proposal-toolbar-button{min-height:2.5rem;padding:0 .9rem;border:1px solid #d0ddeb;background:#fff;color:#2b496a}.proposal-toolbar-button:hover:not(:disabled){border-color:#acc8e6;background:#f3f8ff;color:#1558a8}.proposal-toolbar-button.primary-view{border-color:#1e67c1;background:#1e67c1;color:#fff}.proposal-toolbar-button.primary-view:hover:not(:disabled){border-color:#1554a4;background:#1554a4;color:#fff}.proposal-frame-wrap{flex:1;min-height:0;display:flex;justify-content:center;padding:clamp(.75rem,1.8vw,1.5rem);background:radial-gradient(circle at 50% 0%,rgba(82,149,224,.13),transparent 42%),#e8eef7}.proposal-loading{display:grid;min-height:calc(100vh - 108px);place-content:center;justify-items:center;gap:.9rem;border:1px solid #cfdae8;border-radius:.8rem;background:#fff;box-shadow:0 15px 40px #182f521f;color:#5c7089;font-size:.92rem;font-weight:700;text-align:center}.proposal-loading svg{color:#1d6dce}.proposal-error{max-width:720px;margin:0 auto;padding:2rem}.proposal-frame{display:block;width:min(100%,80rem);max-width:80rem;height:calc(100vh - 108px);min-height:620px;border:1px solid #cfdae8;border-radius:.8rem;box-shadow:0 1.25rem 3.25rem #25456921;background:#fff;box-shadow:0 15px 40px #182f521f}@media (prefers-reduced-motion: no-preference){.login-card,.login-introduction,.document-card{animation:portal-enter .5s cubic-bezier(.23,1,.32,1) both}.login-card{animation-delay:90ms}.document-card:nth-child(2){animation-delay:70ms}.document-card:nth-child(3){animation-delay:.14s}}@keyframes portal-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.login-layout{grid-template-columns:1fr;min-height:auto;padding-top:2.5rem}.login-introduction{padding:1rem 0}.login-introduction:before{left:auto;right:-8rem;width:21rem;height:21rem}.login-introduction h1{max-width:720px}.login-card{max-width:600px}.dashboard-hero{grid-template-columns:1fr;align-items:start}.document-grid{grid-template-columns:1fr}.document-card{min-height:300px}.document-card-body{margin-top:0;padding-top:2.25rem}}@media (max-width: 620px){.executive-header,.dashboard-header,.dashboard-content,.login-layout,.login-footer{width:min(100% - 1.5rem,1280px)}.executive-header{align-items:flex-start;padding:1.1rem 0}.workspace-label,.confidential-marker span{display:none}.brand-lockup{gap:.75rem}.brand-lockup .client-logo{max-width:100px;max-height:29px}.brand-lockup .partner-logo{max-width:96px;max-height:29px}.login-layout{padding-top:2rem}.engagement-details{grid-template-columns:1fr;gap:1rem}.migration-route{grid-template-columns:1fr;gap:.7rem}.route-platform.destination{text-align:left}.route-track{width:100%}.engagement-detail,.engagement-detail+.engagement-detail{padding:0;border:0}.dashboard-content{padding-top:3.2rem}.dashboard-hero h1,.login-introduction h1{font-size:clamp(2.5rem,13vw,3.8rem)}.header-actions .quiet-action span{display:none}.proposal-toolbar{align-items:flex-start;gap:.8rem;min-height:0;padding:.75rem}.proposal-toolbar-left{gap:.55rem}.proposal-brand-lockup{gap:.4rem}.proposal-client-logo{height:1.45rem;max-width:5.8rem}.proposal-partner-logo{height:1.35rem;max-width:5.3rem}.proposal-brand-separator{height:1.15rem}.proposal-toolbar-divider,.proposal-toolbar-title small{display:none}.proposal-toolbar-title span{overflow:visible;font-size:.78rem;line-height:1.2;text-overflow:clip;white-space:normal}.proposal-toolbar-right{gap:.45rem}.proposal-toolbar-button{min-height:2.35rem;padding:0 .7rem}.proposal-toolbar-button .button-label{display:none}.proposal-frame-wrap{padding:.5rem}.proposal-frame{height:calc(100vh - 84px);min-height:500px;border-radius:.5rem}}
