.portal-root{--cream:#402d38;--white:#ede6eb;--portal-text:#ede6eb;--portal-muted:#c1adb9;--terminal-header:#402b37;--terminal-interior:#1d1f26;--terminal-cream:#ede6eb;background:#402d38;color:var(--portal-text)}
.portal-root{background:radial-gradient(ellipse at 42% 40%,#49313e55,transparent 75%),#402d38}
.portal-root header{height:clamp(57px,4.44vw,85px);background:#30222b;border-color:#ffffff08}
.portal-root .brand img{filter:sepia(.3) saturate(1.4) hue-rotate(280deg)}
.portal-root .header-inner{padding:0 3.5%;gap:4.5vw}
.portal-root ul.primary{gap:2.8vw}
.portal-root ul.primary>li>a,.portal-root header .lotus-fintech-trigger{font-size:clamp(14px,1.1vw,20px)}
.portal-root a[aria-current=page]{position:relative}
.portal-root a[aria-current=page]::after{content:'';position:absolute;height:2px;background:#c68fa9;left:0;right:0;bottom:-14px}
.portal-root .resume{font-size:11px!important;padding:8px 16px;border-color:#926c81;border-radius:3px}
.portal-root .resume span{font-size:23px}
.portal-root header ul.primary .lotus-fintech-submenu{background:#30222b;border-color:#926c81}
.portal-root #experience{position:relative;isolation:isolate;display:block;padding:0;flex:1;min-height:max(576px,calc(100svh - clamp(57px,4.44vw,85px) - 40px))}
.portal-root .login-area{position:absolute;left:4.8%;top:9%;bottom:5%;width:26.4%;max-width:510px;display:flex;flex-direction:column;align-items:flex-start}
.portal-root .portal-logo{width:55%;height:auto;margin:7.4% 0 7.52774327% 1%;display:block}
.portal-root .login-content{width:90%}
.portal-root h1{font:400 clamp(11px,.86vw,16px)/1.5 Consolas,'Courier New',monospace;letter-spacing:.24em;margin:0 0 1px}
.portal-root .tagline{font:clamp(9px,.7vw,13px)/1.6 Consolas,'Courier New',monospace;color:#d0c0ca;margin:0 0 16px;white-space:nowrap}
.portal-root .field{height:clamp(42px,3.27vw,62px);border:1px solid #ac7b95;border-radius:6px;background:#49303c70;padding:0 13px;gap:16px;margin-bottom:15px;box-shadow:inset 0 0 0 1px #d494b115,0 2px 7px #150f1514;color:#d5c9d1}
.portal-root .field input{color:#ede6eb;font-size:clamp(11px,.85vw,16px)}
.portal-root input::placeholder{color:#c9b7c3}
.portal-root .field>svg{width:17px;height:19px}
.portal-root .visibility{margin-right:-5px;padding:6px;color:#d5c9d1}
.portal-root .visibility svg{width:18px;height:18px}
.portal-root .field:focus-within{outline:2px solid #d494b1;outline-offset:3px}
.portal-root .login-button{height:clamp(44px,3.42vw,64px);font-size:clamp(12px,.93vw,17px);font-weight:400;border:1px solid #b17e98;border-radius:6px;background:linear-gradient(100deg,#795165,#664252);gap:12px;box-shadow:inset 0 0 8px #d494b114}
.portal-root .login-button:hover{background:#85586f}
.portal-root .login-button svg{width:16px;height:16px}
.portal-root .account-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:14px;color:#e0ccd8;font-size:clamp(11px,.85vw,15px)}
.portal-root .account-links button{background:none;border:0;padding:0;color:#e0ccd8;font-size:clamp(11px,.85vw,15px)}
.portal-root .account-links button:hover{text-decoration:underline}
.portal-root #form-status{font-size:11px;color:#f1d9e8;line-height:1.4;margin:10px 0 0}
.portal-root .payment-carousel{width:100%;overflow:hidden;contain:paint;margin-top:auto;margin-bottom:14px;flex:none;border:0;outline-offset:4px}
.portal-root .payment-track{display:flex;width:max-content;animation:payments-scroll 32s linear infinite;will-change:transform}
.portal-root .payment-track img{height:clamp(38px,3vw,56px);width:auto;display:block;flex:none}
.portal-root .payment-carousel:is(:hover,:focus-within) .payment-track{animation-play-state:paused}
@keyframes payments-scroll{to{transform:translateX(-50%)}}
.portal-root .terminal{position:absolute;left:4.7%;top:6.9%;width:26.4%;height:84.2%;padding:9px;background:transparent;z-index:3;min-width:280px;max-width:520px;box-sizing:border-box}
.portal-root .terminal-frame{position:relative;height:100%;border:1px solid #78929f;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}
.portal-root .terminal-frame::after{content:'';position:absolute;inset:0;border:3px solid #d494b1;border-radius:8px;pointer-events:none;z-index:100;box-sizing:border-box;opacity:0}
.portal-root .terminal.is-drag-active .terminal-frame{border-color:transparent;box-shadow:0 0 10px rgba(212,148,177,.55),0 0 24px rgba(212,148,177,.25)}
.portal-root .terminal.is-drag-active .terminal-frame::after{opacity:1}
.portal-root .terminal-header:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #9cb4c3}
.portal-root .terminal-header{height:38px;flex:none;display:flex;justify-content:space-between;align-items:center;background:var(--terminal-header);padding:0 12px;cursor:grab;touch-action:none;user-select:none}
.portal-root .terminal-header:active{cursor:grabbing}
.portal-root .terminal-grip{height:100%;flex:1;min-width:30px}
.portal-root .terminal-actions{display:flex;gap:5px}
.portal-root .terminal-actions button{font-family:Consolas,'Courier New',monospace;font-size:8px;font-weight:400;color:#d6e0e6;border:1px solid #68808d;border-radius:3px;background:transparent;padding:4px 8px;line-height:1.3;cursor:pointer}
.portal-root .terminal-actions button:hover{background:#415762}
.portal-root .terminal-output{flex:1;min-height:0;padding:11px 12px;background:var(--terminal-interior);color:#c4ced1;font-family:Consolas,'Nirmala UI',Mangal,monospace;font-size:clamp(9px,.7vw,12px);line-height:1.5;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;white-space:pre-wrap;overflow-wrap:anywhere}
.portal-root .terminal-output::-webkit-scrollbar{width:9px}
.portal-root .terminal-output::-webkit-scrollbar-track{background:#e3e5df}
.portal-root .terminal-output::-webkit-scrollbar-thumb{background:#8b9498;border:2px solid #e3e5df;border-radius:8px}
.portal-root .terminal-output{scrollbar-width:none;padding-right:21px}
.portal-root .terminal-output::-webkit-scrollbar{display:none}
.portal-root .terminal-scrollbar{position:absolute;right:0;top:38px;bottom:0;width:9px;background:#e3e5df;touch-action:none;cursor:default}
.portal-root .terminal-thumb{position:absolute;left:2px;right:2px;top:0;min-height:28px;border-radius:6px;background:#8b9498;pointer-events:none}
.portal-root .terminal-line{min-height:1.5em;white-space:pre-wrap}
.portal-root .terminal-line.lyric{font-family:'Nirmala UI',Mangal,Consolas,monospace;font-size:clamp(11px,.85vw,14px)}
.portal-root .terminal-line.success{color:#c0cbbf}
.portal-root .terminal-line.warning{color:#d5c69f}
.portal-root .cursor{display:inline-block;margin-top:4px;animation:cursor-blink 1s steps(1) infinite;color:#b3c6ce}
.portal-root .terminal-line.success{color:#c598b0}
.portal-root .terminal-line.progress{color:#c0cbbf;font-variant-numeric:tabular-nums}
.portal-root .terminal-line.final-progress{border:1px solid #c598b0;border-radius:4px;padding:8px 5px;margin:7px 0;color:#eed6e4;background:#c598b00d;font-size:1.12em;font-weight:600}
.portal-root .terminal-line.final-success{font-weight:700;line-height:1.7}
.portal-root .terminal-line.final-void{color:var(--terminal-cream);font-weight:600;margin-top:4px}
@keyframes cursor-blink{50%{opacity:0}}
.portal-root .is-dragging{z-index:20!important;cursor:grabbing}
body.portal-v3-page.dragging .portal-root{user-select:none}
.portal-root .lotus-token{position:absolute;left:61.1%;top:52%;width:5.1%;max-width:96px;min-width:64px;aspect-ratio:100 / 97;z-index:4}
.portal-root .token-visual{position:relative;width:100%;height:100%;border-radius:6px;box-shadow:0 0 8px rgba(212,148,177,.55),0 0 18px rgba(212,148,177,.35),0 0 32px rgba(212,148,177,.16);animation:token-levitate 4s ease-in-out -1s infinite;will-change:transform}
.portal-root .lotus-token.is-dragging .token-visual{animation-play-state:paused}
@keyframes token-levitate{0%,100%{transform:translateY(-5px)}50%{transform:translateY(5px)}}
.portal-root .token-action{display:block;padding:0;border:0;background:none;width:100%;height:100%;border-radius:6px;cursor:pointer}
.portal-root .token-action img{width:100%;height:100%;display:block;pointer-events:none}
.portal-root .token-action:active{filter:brightness(1.1)}
.portal-root .token-corner{position:absolute;width:16px;height:16px;border:0;padding:0;background:transparent;cursor:grab;touch-action:none;border-radius:3px}
.portal-root .token-corner.nw{left:0;top:0}
.portal-root .token-corner.ne{right:0;top:0}
.portal-root .token-corner.sw{left:0;bottom:0}
.portal-root .token-corner.se{right:0;bottom:0}
.portal-root .token-corner:focus-visible{background:#a4e3ba45;outline:1px solid #284b39;outline-offset:1px}
.portal-root .token-feedback{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;color:#52616a;background:var(--cream);border-radius:3px}
.portal-root .terminal{left:42.4%;top:6.4%;width:35.6%;height:86%;max-width:740px;min-width:0;padding:0}
.portal-root .terminal-frame{border-color:#a3728c;border-radius:7px;box-shadow:0 0 0 2px #d494b112,8px 8px 0 #25192325}
.portal-root .terminal-frame::after{border-radius:6px}
.portal-root .terminal-header{height:34px;padding:0 8px 0 14px;color:#e3d0dc}
.portal-root .terminal-grip{display:flex;align-items:center;font:clamp(10px,.86vw,16px)/1 Arial,sans-serif;white-space:nowrap}
.portal-root .terminal-actions button{font-family:Arial,sans-serif;font-size:10px;border-color:#a88398;color:#efdee8;padding:3px 8px}
.portal-root .terminal-actions button:hover{background:#775268}
.portal-root .terminal-output{font-size:clamp(11px,.86vw,16px);line-height:1.35;padding:10px 17px 12px 12px;color:#cbd0d3;background:linear-gradient(115deg,#1b1e24,#1d1f26)}
.portal-root .terminal-line{min-height:1.35em}
.portal-root .terminal-line.command{color:#d3b0c4}
.portal-root .terminal-line.success{color:#b8c9bf}
.portal-root .terminal-line.progress{color:#d494b1}
.portal-root .terminal-line.final-success,.portal-root .terminal-line.final-void{color:#e7b7d0}
.portal-root .terminal-scrollbar{top:34px;width:10px;background:#e0dce0}
.portal-root .terminal-thumb{background:#969596}
.portal-root .cursor{color:#d494b1}
.portal-root .lotus-token{left:32.5%;top:42%;width:4.7%;min-width:58px;max-width:88px}
.portal-root .token-visual{box-shadow:0 0 8px #d494b1a6,0 0 18px #d494b161,0 0 34px #f7e0ef33}
.portal-root .token-action{position:relative}
.portal-root .token-action img{border-radius:6px}
.portal-root .token-action::after{content:'';position:absolute;inset:0;border:2px solid #f0c6df;border-radius:6px;pointer-events:none}
.portal-root .token-feedback{color:#f4dfea;background:#402d38;font-size:10px}
.portal-root footer{height:40px;background:#30222b;font-size:11px;color:#d6c3cf}
.portal-root dialog{background:#402d38;color:#ede6eb;border-color:#b7819d}
.portal-root dialog button{background:#795165;color:#fff}
.portal-root :focus-visible{outline-color:#f7e0ef}
@media(max-width:1023px){.portal-root header{height:57px}
.portal-root .header-inner{padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));justify-content:space-between}
.portal-root .brand img{width:80px;filter:none}
.portal-root .js-menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px 0;border:0;background:transparent;color:#d2adbf}
.portal-root .js-menu-toggle span{width:28px;height:3px;background:currentColor;display:block}
.portal-root nav{display:none;position:absolute;top:57px;left:0;width:min(85vw,360px);max-height:calc(100svh - 57px);overflow:auto;background:#30222b;padding:24px;box-shadow:6px 10px 20px #120c1550}
.portal-root nav.open{display:block}
.portal-root ul.primary{flex-direction:column;align-items:stretch;gap:22px}
.portal-root .resume-item{margin:0}
.portal-root .resume{width:fit-content}
.portal-root header ul.primary .lotus-fintech-submenu{position:static;margin-top:12px;background:transparent;border:0;border-left:1px solid #926c81;padding:0 0 0 8px}
.portal-root header ul.primary .lotus-fintech-submenu li a{display:block;padding:9px 16px}
.portal-root #experience{display:flex;align-items:center;flex-direction:column;min-height:0;padding:36px max(20px,env(safe-area-inset-right)) 22px max(20px,env(safe-area-inset-left));gap:30px;flex:1}
.portal-root .login-area{position:static;width:min(100%,400px);max-width:none;align-items:center;flex:none}
.portal-root .portal-logo{width:55%;max-width:202.43055556px;margin:0 0 calc(30px + min(6.42774327%,23.65766621px))}
.portal-root .login-content{width:100%}
.portal-root h1{font-size:13px}
.portal-root .tagline{font-size:clamp(8px,2.45vw,11px);margin-bottom:20px}
.portal-root .field{height:48px;margin-bottom:15px}
.portal-root .field input{font-size:16px}
.portal-root .login-button{height:48px;font-size:14px}
.portal-root .account-links,.portal-root .account-links button{font-size:12px}
.portal-root .payment-carousel{width:min(100%,400px);margin-top:0;margin-bottom:0}
.portal-root .payment-track img{height:42px}
.portal-root .terminal{position:relative;left:auto!important;top:auto!important;right:auto!important;width:min(100%,560px);height:460px;max-width:none;flex:none;cursor:auto;margin-top:12px}
.portal-root .terminal-header{cursor:default;height:40px;padding:0 8px}
.portal-root .terminal-grip{font-size:clamp(8px,2.3vw,12px)}
.portal-root .terminal-actions{gap:4px}
.portal-root .terminal-actions button{min-height:28px;font-size:9px;padding:4px 6px}
.portal-root .terminal-scrollbar{top:40px}
.portal-root .terminal-output{font-size:11px;line-height:1.5}
.portal-root .terminal-line{min-height:1.5em}
.portal-root .lotus-token{display:none!important}
.portal-root .token-visual{animation:none!important}
.portal-root footer{height:calc(40px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);font-size:10px}
}
@media(prefers-reduced-motion:reduce){.portal-root .payment-track,.portal-root .token-visual,.portal-root .cursor{animation:none!important;transform:none}
.portal-root .payment-carousel{overflow-x:auto}
.portal-root .payment-track img:nth-child(2){display:none}
}

/* Client Portal: responsive/touch focus feedback; existing desktop drag treatment unchanged. */
@media(max-width:1023px),(hover:none) and (pointer:coarse){
.portal-root .terminal:focus-within .terminal-frame{border-color:transparent;box-shadow:0 0 10px rgba(212,148,177,.55),0 0 24px rgba(212,148,177,.25)}
.portal-root .terminal:focus-within .terminal-frame::after{opacity:1}
}

/* Responsive console only: preserve the approved glow without interaction. */
@media(max-width:1023px){
.portal-root .terminal .terminal-frame{border-color:transparent;box-shadow:0 0 10px rgba(212,148,177,.55),0 0 24px rgba(212,148,177,.25)}
.portal-root .terminal .terminal-frame::after{opacity:1}
}
