/* Bannawang Finance — PIN lock screen / iPhone-inspired keypad.
   Actual authentication remains person/api/finance-auth.php. */
#bnwAuthScreen{overscroll-behavior:contain;background:rgba(28,53,86,.68);height:100%;height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 12px calc(env(safe-area-inset-bottom) + 32px);font-family:Prompt,'Sarabun',system-ui,sans-serif}
#bnwAuthScreen .dialog-head{display:flex}
#bnwAuthScreen .dialog-head h3{margin:0}
#bnwAuthScreen .bnw-auth-checking{padding:28px 16px}
#bnwAuthScreen .bnw-login-subtitle{margin:0}
#bnwAuthScreen #bnwAuthSubmit{border:0;background:linear-gradient(115deg,#20b86d,#45d892);color:white;cursor:pointer}
#bnwAuthScreen #bnwPasskeyLoginBtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;border:1px solid #a9c9ee;border-radius:14px;background:linear-gradient(120deg,#edf6ff,#deedff);color:#245a94;font-family:inherit;font-weight:750;font-size:12px;line-height:1.4;padding:10px;cursor:pointer}
#bnwAuthScreen #bnwPasskeyLoginBtn[hidden]{display:none}
#bnwAuthScreen #bnwPasskeyLoginBtn svg{width:23px;height:23px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#bnwAuthScreen button:disabled{cursor:default;opacity:.62}
#bnwAuthScreen .bnw-login-email-panel input{padding:12px}
#bnwFinancePasskeySetup{margin-top:14px;border:1px solid #ffffff45;border-radius:12px;padding:10px;font-size:12px;color:white}
#bnwFinancePasskeySetup[hidden]{display:none}
#bnwFinancePasskeySetup summary{cursor:pointer;font-weight:700;min-height:32px;align-content:center}
#bnwFinancePasskeySetup p{line-height:1.6}
#bnwFinancePasskeySetup button{border:1px solid #b8dff9;border-radius:9px;padding:10px;background:#e8f5ff;color:#074773;font:inherit;cursor:pointer}
#bnwAuthScreen .login-dialog.bnw-pin-login-dialog{
  width:min(410px,100%);
  max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 48px);
  overflow:auto;overscroll-behavior:contain;
  background:linear-gradient(160deg,#fff 30%,#f3f7ff 100%);
  border:1px solid #e1eafd;
  border-radius:27px;
  box-shadow:0 30px 90px rgba(9,31,73,.27);
  -webkit-overflow-scrolling:touch;
}
#bnwAuthScreen .bnw-pin-login-dialog .dialog-head{justify-content:center;gap:10px;padding:24px 20px 9px;border:0}
#bnwAuthScreen .bnw-pin-login-dialog .dialog-head h3{font-size:19px;line-height:1.35;font-weight:800;color:#1c4175;text-align:center}
#bnwAuthScreen .bnw-pin-login-dialog .login-body{padding:8px 28px 25px;display:flex;flex-direction:column;align-items:stretch;gap:11px}
#bnwAuthScreen .bnw-pin-login-dialog .bnw-lock-mark{display:flex;align-items:center;justify-content:center;margin:0 auto;width:46px;height:46px;border:1px solid #d3e5ff;border-radius:50%;background:#ebf4ff;color:#1e65b0}
#bnwAuthScreen .bnw-pin-login-dialog .bnw-lock-mark svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#bnwAuthScreen .bnw-pin-login-dialog .bnw-login-subtitle{margin:0;color:#67809f;text-align:center;font:500 12px/1.55 Prompt,system-ui,sans-serif}
#bnwAuthScreen .bnw-login-methods{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 auto 1px;padding:4px;width:100%;background:#edf3fb;border:1px solid #e0eaf5;border-radius:14px}
#bnwAuthScreen .bnw-login-methods button{border:0;background:transparent;color:#6b819d;border-radius:10px;min-height:38px;padding:6px 8px;font:750 12px/1.3 Prompt,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
#bnwAuthScreen .bnw-login-methods button[aria-selected="true"]{background:#fff;color:#174e99;box-shadow:0 2px 7px rgba(23,69,122,.11)}
#bnwAuthScreen #bnwPinPanel{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center}
#bnwAuthScreen #bnwPinPanel[hidden],#bnwAuthScreen #bnwEmailPanel[hidden]{display:none!important}
#bnwAuthScreen .bnw-pin-dots{display:flex;justify-content:center;align-items:center;gap:10px;padding:13px 5px 7px;min-height:37px;width:100%;cursor:text;outline-offset:5px;touch-action:manipulation}
#bnwAuthScreen .bnw-pin-dot{width:13px;height:13px;border:1.8px solid #91abc9;border-radius:50%;background:transparent;transition:background .13s ease,border-color .13s ease,transform .13s ease}
#bnwAuthScreen .bnw-pin-dot.is-filled{background:#2169bb;border-color:#2169bb;transform:scale(1.06)}
#bnwAuthScreen .bnw-pin-capture{position:absolute;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important;opacity:0;pointer-events:none;top:48px;left:50%;font-size:16px!important}
#bnwAuthScreen .bnw-pin-pad{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:9px 12px;padding:2px 0}
#bnwAuthScreen .bnw-pin-key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:76px;height:76px;min-width:0;padding:4px;border-radius:50%;border:1px solid #d4e1f2;background:linear-gradient(150deg,#f8fbff 0%,#eaf2ff 100%);color:#183f73;box-shadow:0 4px 12px rgba(31,81,140,.06);font:400 33px/1.03 system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:background .11s ease,transform .11s ease}
#bnwAuthScreen .bnw-pin-key small{font:700 8px/1.1 system-ui,sans-serif;letter-spacing:1.3px;color:#6986a6;margin-top:4px}
#bnwAuthScreen .bnw-pin-key:active{background:#cce0fa;transform:scale(.94)}
#bnwAuthScreen .bnw-pin-key.is-control{background:transparent;border:0;box-shadow:none;font-size:13px;font-weight:750;color:#36659b}
#bnwAuthScreen .bnw-pin-key.is-control svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#bnwAuthScreen .bnw-pin-spacer{width:100%;height:1px}
#bnwAuthScreen .bnw-pin-help{margin:0!important;color:#6b7e9a!important;text-align:center;font:500 11px/1.4 Prompt,sans-serif!important}
#bnwAuthScreen .bnw-login-email-panel{display:grid;gap:8px;padding:15px 0 6px}
#bnwAuthScreen .bnw-login-email-panel label{color:#254f80;font:750 12px Prompt,sans-serif}
#bnwAuthScreen .bnw-login-email-panel input{width:100%;height:54px;margin:0;font-size:16px!important;line-height:1.35;border:1px solid #bfcee3;border-radius:13px;background:#fff}
#bnwAuthScreen .bnw-login-email-panel p{margin:2px 0 0;text-align:center;color:#7c91a9}
#bnwAuthScreen .bnw-pin-login-dialog #bnwAuthSubmit{display:block;width:100%;min-height:49px;margin-top:1px;border-radius:14px;font:800 14px Prompt,sans-serif}
#bnwAuthScreen .bnw-pin-login-dialog #bnwAuthSubmit:disabled{opacity:.62;cursor:wait}
#bnwAuthScreen .bnw-pin-login-dialog #bnwAuthMessage{margin:0;min-height:16px;color:#c23545;line-height:1.45;text-align:center;font-size:12px}
#bnwAuthScreen .bnw-pin-login-dialog .bnw-privacy-note{font-size:10px;line-height:1.4;color:#90a0b7;text-align:center}
#bnwAuthScreen .bnw-pin-login-dialog .bnw-pin-dots:focus-visible,#bnwAuthScreen .bnw-pin-key:focus-visible,#bnwAuthScreen .bnw-login-methods button:focus-visible{outline:3px solid #f4b84c;outline-offset:2px}
#bnwAuthScreen .bnw-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){
  #bnwAuthScreen{padding:calc(env(safe-area-inset-top) + 9px) 12px calc(env(safe-area-inset-bottom) + 32px)}
  #bnwAuthScreen .login-dialog.bnw-pin-login-dialog{width:min(380px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 41px);border-radius:24px}
  #bnwAuthScreen .bnw-pin-login-dialog .dialog-head{padding-top:17px}
  #bnwAuthScreen .bnw-pin-login-dialog .login-body{padding:6px 20px 17px;gap:8px}
  #bnwAuthScreen .bnw-pin-key{width:min(70px,18vw);height:min(70px,18vw);font-size:30px}
  #bnwAuthScreen .bnw-pin-pad{gap:6px 10px}
}
@media(max-height:690px){
  #bnwAuthScreen .bnw-pin-login-dialog .bnw-lock-mark{display:none}
  #bnwAuthScreen .bnw-pin-login-dialog .dialog-head{padding-top:12px;padding-bottom:2px}
  #bnwAuthScreen .bnw-pin-key{width:59px;height:59px;font-size:27px}
  #bnwAuthScreen .bnw-pin-pad{gap:4px 10px}
  #bnwAuthScreen .bnw-pin-dots{padding:6px 0 2px}
}
@media(prefers-reduced-motion:reduce){#bnwAuthScreen .bnw-pin-dot,#bnwAuthScreen .bnw-pin-key{transition:none}}

