.workspace.staff-login{background:linear-gradient(145deg,#f3f9ef,#fff);border:1px solid #cddfc7;padding:20px;display:flex;flex-direction:column;justify-content:center}
.staff-login .login-kicker{font-size:9px;letter-spacing:.14em;color:#47734e;font-weight:800;margin:0 0 8px}
.staff-login h3{font:800 21px Manrope,sans-serif;color:#173f2d;margin:0 0 6px}
.staff-login .login-intro{font-size:11px;color:#6b7d6d;margin:0 0 14px;line-height:1.5}
#staffLoginForm{display:grid;gap:7px}#staffLoginForm label{font-size:10px;font-weight:700;color:#355c40}
#staffLoginForm input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d5e2d0;border-radius:7px;padding:10px;background:#fff;font:12px 'DM Sans',sans-serif}
#staffLoginForm input:focus{outline:2px solid #87b781;outline-offset:1px}
#staffLoginForm button{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:0;border-radius:7px;background:#23683d;color:white;font:700 11px 'DM Sans',sans-serif;cursor:pointer;margin-top:3px}
#staffLoginForm button:disabled{opacity:.7;cursor:wait}#staffLoginForm button[aria-busy=true]::before{content:'';width:13px;height:13px;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:staffSpin .7s linear infinite}@keyframes staffSpin{to{transform:rotate(360deg)}}
#staffLoginMessage{font-size:11px;line-height:1.5;color:#963e34;margin:5px 0 0}
#staffLoginForm .staff-reset-password{margin-top:0;padding:5px;border:0;background:transparent;color:#287048;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px;box-shadow:none}
#staffLoginForm .staff-reset-password:hover{color:#174c30;background:transparent}
#staffResetDialog{box-sizing:border-box;width:min(410px,calc(100% - 28px));padding:0;overflow:hidden;border:1px solid #ccddce;border-radius:18px;background:#fff;color:#173f2d;box-shadow:0 28px 90px #102f2240}
#staffResetDialog::backdrop{background:#102f228c;backdrop-filter:blur(5px)}
.reset-panel-head{position:relative;padding:24px 25px 20px;background:linear-gradient(140deg,#173f2d,#276743);color:#fff}
.reset-panel-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border:1px solid #ffffff3d;border-radius:12px;background:#ffffff18}
.reset-panel-icon svg{width:21px;height:21px;fill:none;stroke:#e7f2d4;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reset-panel-head .login-kicker{margin:0 0 6px;color:#cde4c5;font-size:8px;font-weight:800;letter-spacing:.16em}
#staffResetDialog h2{margin:0;font:800 21px Manrope,sans-serif;letter-spacing:-.35px}
#staffResetDialog .reset-intro{margin:7px 32px 0 0;color:#d9e8db;font-size:11px;line-height:1.55}
#closeStaffReset{position:absolute;top:15px;right:15px;width:29px;height:29px;border:1px solid #ffffff2e;border-radius:8px;background:#ffffff14;color:#fff;font-size:19px;line-height:1;cursor:pointer}
#closeStaffReset:hover{background:#ffffff25}
#staffResetForm{display:grid;gap:8px;padding:22px 25px 24px}
#staffResetForm label{color:#315a3d;font-size:10px;font-weight:800}
#staffResetForm input{box-sizing:border-box;width:100%;height:42px;padding:0 12px;border:1px solid #cfddce;border-radius:9px;background:#f9fcf7;color:#183d2b;font:500 12px 'DM Sans',sans-serif;transition:border-color .15s,box-shadow .15s}
#staffResetForm input:focus{outline:0;border-color:#43845a;box-shadow:0 0 0 3px #3d7e5118;background:#fff}
.reset-security-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 8px;padding:9px 10px;border-radius:8px;background:#f0f6ed;color:#627466;font-size:9px;line-height:1.5}
.reset-security-note svg{flex:0 0 auto;width:14px;height:14px;margin-top:1px;fill:none;stroke:#43805a;stroke-width:1.8}
.reset-primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:41px;border:0;border-radius:9px;background:#21663c;color:#fff;font:800 11px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 7px 17px #205f3724}
.reset-primary:hover{background:#194f30}.reset-primary:disabled{opacity:.7;cursor:wait}
.reset-primary[aria-busy=true]::before{content:'';width:12px;height:12px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:staffSpin .7s linear infinite}
.reset-secondary{padding:7px;border:0;background:transparent;color:#39704b;font:800 10px 'DM Sans',sans-serif;cursor:pointer}
.reset-secondary:hover{color:#183f2c;text-decoration:underline;text-underline-offset:3px}
.reset-message{min-height:0;margin:2px 0 0;color:#607166;font-size:10px;line-height:1.45;text-align:center}.reset-message:empty{display:none}.reset-message.success{padding:9px;border-radius:8px;background:#ebf6e9;color:#23613a}.reset-message.error{padding:9px;border-radius:8px;background:#fff0ed;color:#963e34}
@media(max-width:480px){.reset-panel-head{padding:21px 20px 18px}#staffResetForm{padding:19px 20px 21px}}
#staffAppPicker{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid #d6e2cf;border-radius:16px;padding:25px;background:#fff;color:#173f2d;box-shadow:0 24px 80px #16342233}
#staffAppPicker::backdrop{background:#14312688;backdrop-filter:blur(4px)}#staffAppPicker h2{font:800 22px Manrope,sans-serif;margin:0 35px 7px 0}#staffAppPicker p{font-size:12px;color:#6e7d6c;line-height:1.6}
#closeStaffPicker{position:absolute;right:16px;top:16px;background:#f0f5ec;border:0;border-radius:7px;width:30px;height:30px;cursor:pointer;font-size:20px}
#staffAppChoices{display:grid;gap:9px;margin-top:18px}#staffAppChoices a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;border:1px solid #dce8d6;border-radius:10px;background:#f7fbf4;text-decoration:none;color:#254d32}#staffAppChoices a:hover{border-color:#8db685;background:#edf6e7}#staffAppChoices strong{display:block;font-size:13px}#staffAppChoices small{display:block;font-size:10px;margin-top:4px;color:#6e7d6c}
.workspace.central-login{--accent:#39764c;--soft:#e8f3e3;--art:#aacd9b}.central-login .launch-button{width:100%;cursor:pointer;font-family:inherit;text-align:left}
#staffLoginDialog{box-sizing:border-box;width:min(410px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:30px;border:1px solid #d6e2cf;border-radius:16px;background:#fff;color:#173f2d;box-shadow:0 24px 80px #16342233}#staffLoginDialog::backdrop{background:#14312688;backdrop-filter:blur(4px)}#staffLoginDialog h2{font:800 24px Manrope,sans-serif;margin:0 0 8px}#staffLoginDialog .login-kicker{font-size:9px;letter-spacing:.14em;color:#47734e;font-weight:800}#staffLoginDialog .login-intro{font-size:12px;color:#6b7d6d;margin-bottom:22px}#closeStaffLogin{position:absolute;right:16px;top:16px;background:#f0f5ec;border:0;border-radius:7px;width:30px;height:30px;cursor:pointer;font-size:20px}
.intranet-header-note{font-size:10px;font-weight:700;letter-spacing:.12em;color:#67806a}
.hero-copy #openStaffLogin{border:0;cursor:pointer;font-family:inherit;box-shadow:0 8px 24px #214c3020;padding:15px 22px;border-radius:9px}
.hero-copy #openStaffLogin:hover{background:#285d3e;transform:translateY(-1px)}
.hero-copy #openStaffLogin:focus-visible{outline:3px solid #96b874;outline-offset:4px}
@media(min-width:901px){body:has(#openStaffLogin) .hero{min-height:560px;padding-top:65px;padding-bottom:65px}}
@media(max-width:600px){.intranet-header-note{display:none}.hero-copy #openStaffLogin{width:100%;justify-content:center}}
#staffAppPicker{width:min(640px,calc(100% - 32px));padding:30px;border-radius:20px;background:linear-gradient(155deg,#f2f7ed 0,#fff 48%);border:1px solid #dce6d5}
#staffAppPicker .picker-brand{display:grid;place-items:center;width:42px;height:42px;background:#194b34;border-radius:12px;color:#e5efc7;font:800 17px Manrope,sans-serif;margin-bottom:17px}
#staffAppPicker .picker-kicker{font-size:9px;letter-spacing:.16em;color:#63805d;font-weight:700;margin:0 0 8px}
#staffAppPicker h2{font-size:23px;letter-spacing:-.6px;line-height:1.3}
#staffAppPicker .picker-heading>p:last-child{margin:9px 0 0}
#staffAppChoices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}
#staffAppChoices a{--app-color:#397640;--app-tint:#eaf5e1;position:relative;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:14px;background:#fff;padding:19px;border:1px solid #dfe6db;border-radius:13px;transition:transform .18s,box-shadow .18s,border-color .18s}
#staffAppChoices a[data-app=voucher]{--app-color:#a87918;--app-tint:#fff3d6}
#staffAppChoices a[data-app=assets]{--app-color:#287d88;--app-tint:#e2f3f5}
#staffAppChoices a[data-app=mandate]{--app-color:#9b528c;--app-tint:#f8eafa}
#staffAppChoices a:hover{border-color:var(--app-color);background:#fff;box-shadow:0 6px 18px #1938220c;transform:translateY(-2px)}
#staffAppChoices a:focus-visible{outline:2px solid var(--app-color);outline-offset:3px}
#staffAppChoices .picker-app-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--app-tint);color:var(--app-color)}
#staffAppChoices svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#staffAppChoices strong{font:800 14px Manrope,sans-serif;color:#25432c}
#staffAppChoices .picker-description{display:block;font-size:10px;color:#788275;margin-top:6px;line-height:1.5}
#staffAppChoices small{display:inline-block;margin-top:11px;font-size:8px;font-weight:700;letter-spacing:.06em;padding:4px 7px;border-radius:5px;background:var(--app-tint);color:var(--app-color)}
#staffAppChoices .picker-arrow{position:absolute;right:18px;top:20px;color:var(--app-color);font-size:19px}
#closeStaffPicker:hover{background:#e3ecd9}
@media(max-width:480px){#staffAppPicker{padding:23px}#staffAppChoices{grid-template-columns:1fr}#staffAppChoices a{flex-direction:row;align-items:center;padding:15px;gap:13px}#staffAppChoices .picker-app-icon{flex-shrink:0}#staffAppChoices .picker-app-label{padding-right:14px}#staffAppPicker h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){#staffAppChoices a{transition:none}#staffAppChoices a:hover{transform:none}}
.topbar .brand .bank-brand-logo{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:8px}
@media(max-width:600px){.topbar .brand .bank-brand-logo{width:50px;height:50px}}
/* Compact central-login landing page. */
.topbar{height:68px}.page-width{width:min(1100px,calc(100% - 48px))}.topbar .brand{font-size:20px}.topbar .brand .bank-brand-logo{width:48px;height:48px}
body:has(#openStaffLogin) .hero{min-height:0;padding:30px 0;gap:18px}.hero h1{font-size:clamp(32px,3.8vw,46px);letter-spacing:-1.8px}.hero .eyebrow{margin-bottom:12px}.hero-description{font-size:13px;line-height:1.65;margin:18px 0}.hero-copy #openStaffLogin{padding:12px 17px;font-size:11px}.hero-footnote{margin-top:15px;font-size:9px}.connection-art{height:340px}.access-strip{margin-top:12px;padding:15px 19px}footer.page-width{padding-top:20px;padding-bottom:20px;font-size:10px}
@media(max-width:760px){body:has(#openStaffLogin) .hero{padding:25px 0 18px;gap:16px}.page-width{width:calc(100% - 32px)}.connection-art{height:320px}.hero h1{font-size:36px}.hero-description{margin:14px 0}.access-strip{padding:14px}.topbar{height:62px}}
/* Balanced landing page proportions. */
.page-width{width:min(1240px,calc(100% - 64px))}.topbar{height:78px}body:has(#openStaffLogin) .hero{padding:44px 0;gap:32px}.hero h1{font-size:clamp(38px,4.5vw,56px)}.hero-description{font-size:14px;line-height:1.8;margin:22px 0}.connection-art{height:390px}.hero-copy #openStaffLogin{padding:14px 22px;font-size:12px}.access-strip{padding:20px 24px}@media(max-width:760px){.page-width{width:calc(100% - 32px)}body:has(#openStaffLogin) .hero{padding:28px 0;gap:22px}.hero h1{font-size:38px}.connection-art{height:340px}}

/* Compact application picker after staff sign-in. */
#staffAppPicker { width: min(380px, calc(100% - 24px)); padding: 14px; border-radius: 11px; }
#staffAppPicker .picker-brand { width: 24px; height: 24px; border-radius: 6px; font-size: 11px; margin-bottom: 7px; }
#staffAppPicker .picker-kicker { margin-bottom: 5px; font-size: 8px; }
#staffAppPicker h2 { font-size: 16px; }
#staffAppPicker .picker-heading > p:last-child { margin-top: 5px; font-size: 11px; }
#staffAppChoices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
#staffAppChoices a { flex-direction: row; align-items: center; gap: 6px; padding: 8px; border-radius: 7px; min-width: 0; }
#staffAppChoices .picker-app-icon { width: 23px; height: 23px; flex-shrink: 0; border-radius: 6px; }
#staffAppChoices svg { width: 13px; height: 13px; }
#staffAppChoices .picker-app-label { min-width: 0; padding-right: 9px; overflow-wrap: anywhere; }
#staffAppChoices strong { font-size: 11px; }
#staffAppChoices .picker-description { display: none; }
#staffAppChoices small { margin-top: 3px; padding: 2px 4px; font-size: 8px; }
#staffAppChoices .picker-arrow { right: 8px; top: 10px; font-size: 14px; }
@media (max-width: 340px) {
  #staffAppPicker { padding: 12px; }
  #staffAppChoices { grid-template-columns: 1fr; gap: 6px; }
  #staffAppChoices a { align-items: center; padding: 8px; }
}
