/* A dedicated staff sign-in surface; customer ordering is unaffected. */
html.staff-locked body { overflow:auto; }
#finance-login-dialog.staff-login {
  max-width:420px; max-height:calc(100dvh - 32px); overflow:auto;
  padding:32px; border:1px solid #dce5ee; border-radius:20px;
  background:#fff; color:#153652; box-shadow:0 20px 70px #021a3538;
  font-family:inherit;
}
#finance-login-form { display:flex; flex-direction:column; min-width:0; }
.staff-login-logo { width:180px; height:92px; object-fit:contain; margin:0 auto 18px; border-radius:12px; background:#06294d; }
#staff-login-title { margin:0 0 26px; font-size:24px; line-height:1.25; text-align:center; }
#finance-login-form label { display:block; margin:0 0 8px; font-size:14px; font-weight:700; line-height:1.4; }
#finance-login-form input { width:100%; min-width:0; min-height:48px; box-sizing:border-box; margin:0 0 20px; padding:12px 14px; border:1px solid #bccbd9; border-radius:10px; color:#153652; background:#fff; font:inherit; font-size:16px; }
#finance-login-form input:focus-visible { outline:3px solid #7bb6e5; outline-offset:2px; border-color:#0a5289; }
#finance-login-form .login-secret-field { position:relative; margin:0 0 20px; }
#finance-login-form .login-secret-field input { margin:0; padding-right:54px; }
#finance-login-form .login-secret-field input:focus-visible { outline:3px solid #7bb6e5; outline-offset:2px; border-color:#0a5289; }
#finance-login-form .login-secret-field .password-toggle { position:absolute; top:4px; right:4px; display:grid; place-items:center; width:42px; height:40px; min-height:40px; margin:0; padding:9px; border:0; border-radius:8px; background:transparent; color:#526b80; }
#finance-login-form .login-secret-field .password-toggle:hover { background:#edf4f9; color:#073a6a; }
.password-toggle svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#finance-login-note { margin:0 0 16px; min-height:20px; color:#55697c; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
#finance-login-note[data-error="true"] { color:#a32525; }
#finance-login-form button { min-height:48px; width:100%; margin:0; padding:12px 16px; font:inherit; font-size:16px; font-weight:700; border-radius:10px; }
#finance-login-form #finance-login-submit { color:#fff; background:#073a6a; border:1px solid #073a6a; }
#finance-login-form #finance-login-submit:disabled { opacity:.6; cursor:wait; }
#finance-login-form #finance-logout, #finance-login-form #finance-login-close { margin-top:10px; }
#finance-login-form #staff-forgot-password { margin-top:10px; color:#174d73; background:#eef7fc; border:1px solid #c7dce9; }
#finance-login-form noscript { margin-top:16px; font-size:14px; line-height:1.5; }
#staff-reset-dialog.staff-reset { width:min(460px,calc(100vw - 32px)); max-width:460px; max-height:calc(100dvh - 32px); overflow:auto; padding:28px; border:1px solid #dce5ee; border-radius:20px; background:#fff; color:#153652; box-shadow:0 20px 70px #021a3538; font-family:inherit; }
#staff-reset-dialog.staff-reset::backdrop { background:#031c35b8; }
#staff-reset-form { display:flex; flex-direction:column; min-width:0; gap:0; }
#staff-reset-title { margin:0 0 10px; font-size:22px; line-height:1.3; }
#staff-reset-form .reset-intro { margin:0 0 18px; color:#566b7e; font-size:14px; line-height:1.55; }
#staff-reset-form label { display:block; margin:0 0 7px; font-size:14px; font-weight:700; line-height:1.4; }
#staff-reset-form input { width:100%; min-width:0; min-height:46px; box-sizing:border-box; margin:0 0 16px; padding:11px 13px; border:1px solid #bccbd9; border-radius:10px; color:#153652; background:#fff; font:inherit; font-size:16px; }
#staff-reset-form input:focus-visible { outline:3px solid #7bb6e5; outline-offset:2px; border-color:#0a5289; }
#staff-reset-form .login-secret-field { position:relative; margin:0 0 16px; }
#staff-reset-form .login-secret-field input { margin:0; padding-right:54px; }
#staff-reset-form .password-toggle { position:absolute; top:3px; right:4px; display:grid; place-items:center; width:40px; height:40px; min-height:40px; margin:0; padding:9px; border:0; border-radius:8px; background:transparent; color:#526b80; }
#staff-reset-form button { min-height:46px; width:100%; margin:0 0 10px; padding:11px 14px; border-radius:10px; font:inherit; font-size:15px; font-weight:700; }
#staff-reset-form #staff-reset-send, #staff-reset-form #staff-reset-submit { color:#fff; background:#073a6a; border:1px solid #073a6a; }
#staff-reset-form #staff-reset-note { min-height:20px; margin:0 0 10px; color:#55697c; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
#staff-reset-form #staff-reset-note[data-error="true"] { color:#a32525; }
#staff-reset-form #staff-reset-note[data-success="true"] { color:#157342; }
#staff-reset-form #staff-reset-code-step[hidden] { display:none; }
html.staff-locked #staff-reset-dialog { margin:auto; }
@media(max-width:480px) {
  html.staff-locked body { padding:16px; }
  #finance-login-dialog.staff-login { padding:24px; border-radius:16px; }
  #staff-reset-dialog.staff-reset { padding:22px; border-radius:16px; }
}
@media(max-height:560px) {
  .staff-login-logo { height:64px; margin-bottom:12px; }
  #staff-login-title { margin-bottom:18px; }
}
