/* Sayuri Auth Modal (Sayuri Mint) */
.sayuri-auth-backdrop{position:fixed;inset:0;width:100%;height:100dvh;display:none;z-index:var(--sayuri-z-modal-backdrop, 10000000);background:#F4FBF7;align-items:center;justify-content:center;padding:16px;overflow:hidden;box-sizing:border-box;}
.sayuri-auth-backdrop.is-open{display:flex;}
.sayuri-auth-sheet{width:100%;max-width:420px;background:#fff;border:1px solid rgba(17,24,39,0.08);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,0.08);padding:18px 18px 20px;position:relative;z-index:var(--sayuri-z-modal-surface, 10000001);display:flex;flex-direction:column;max-height:100dvh;overflow:visible;box-sizing:border-box;--sa-border:rgba(17,24,39,0.40);}
.sayuri-auth-head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;}
.sayuri-auth-title{font-size:21px;line-height:1.2;font-weight:800;color:#111;margin:0;letter-spacing:-0.2px}
.sayuri-auth-sub{font-size:13px;line-height:1.4;color:#374151;margin-top:4px}
#sayuri_auth_sub{display:block;}
.sayuri-auth-label{display:block;font-size:13px;font-weight:600;color:#111;margin:8px 0 6px}
.sayuri-auth-input{width:100%;box-sizing:border-box;height:50px;border:1px solid var(--sa-border);border-radius:14px;padding:12px 14px;font-size:14px;outline:none;background:rgba(255,255,255,0.95);-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,box-shadow .15s ease}
.sayuri-auth-input:focus,.sayuri-auth-input:focus-visible{outline:none;border-color:#2E7D5A;box-shadow:0 0 0 3px rgba(46,125,90,0.22)}
#sayuri_auth_phone{padding-left:46px;background-repeat:no-repeat;background-position:14px center;background-size:20px 20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232E7D5A'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z'/%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 2.123.554 4.117 1.528 5.849L.057 23.571a.5.5 0 0 0 .612.612l5.718-1.47A11.954 11.954 0 0 0 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.907 0-3.693-.524-5.22-1.435l-.374-.222-3.893 1.001 1.001-3.893-.222-.374A9.955 9.955 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z'/%3E%3C/svg%3E");}
#sayuri_auth_phone:read-only{background-color:#f6f8f6;border-color:#e0e0e0;cursor:default}
.sayuri-pin-rail{display:flex;gap:10px;align-items:center;margin:10px 0;overflow:visible}
.sayuri-pin-box{width:46px;height:48px;border:1px solid var(--sa-border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-sizing:border-box}
.sayuri-pin-box.is-active{border-color:#2E7D5A;box-shadow:0 6px 16px rgba(46,125,90,0.18)}
.sayuri-pin-eye{background:rgba(244,251,247,0.9);border:1px solid rgba(17,24,39,0.12);cursor:pointer;font-size:16px;opacity:1;padding:6px;-webkit-tap-highlight-color:transparent;color:#2E7D5A;border-radius:12px}
.sayuri-pin-eye:after{content:"";}
.sayuri-pin-eye::before{content:"";width:18px;height:18px;display:block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-7 0-11 7-11 7s4 7 11 7 11-7 11-7-4-7-11-7zm0 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-7 0-11 7-11 7s4 7 11 7 11-7 11-7-4-7-11-7zm0 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E") no-repeat center/contain;}
.sayuri-pin-eye.is-on{background:#2E7D5A;border-color:#2E7D5A;color:#fff;}
.sayuri-pin-eye:focus,.sayuri-pin-eye:focus-visible{outline:2px solid #2E7D5A;outline-offset:2px}
.sayuri-pin-row{position:relative;}
.sayuri-pin-eye-row{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
}
.sayuri-pin-forgot-row{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:40px;
  text-align:center;
}
.sayuri-pin-forgot-row .sayuri-auth-forgot{margin-top:0;}
#sayuri_auth_pin_eye{
  position:static;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  margin-inline:auto;
}
.sayuri-pin-eye::before{width:16px;height:16px;}
.sayuri-auth-input.sayuri-pin-hidden,#sayuri_auth_pin_in.sayuri-pin-hidden{position:absolute;opacity:0;pointer-events:none;height:1px;width:1px}
.sayuri-auth-row{display:flex;gap:10px;align-items:center;margin:10px 0}
.sayuri-auth-radio{display:flex;gap:14px;font-size:13px}
.sayuri-auth-turnstile{margin:12px 0 0;padding:0;background:transparent;border:none;border-radius:0;display:flex;justify-content:center}
#sayuri_auth_turnstile_wrap.is-ok{display:none !important;}
.sayuri-auth-sep{display:flex;align-items:center;gap:10px;margin:12px 0;opacity:.7}
.sayuri-auth-sep:before,.sayuri-auth-sep:after{content:"";flex:1;height:1px;background:#eee}
.sayuri-auth-sep span{font-size:12px}
.sayuri-auth-legal{font-size:11px;opacity:.85;margin-top:10px;line-height:1.35}
.sayuri-auth-legal a{color:#2E7D5A;text-decoration:none}
.sayuri-auth-msg{margin-top:10px;font-size:12px;color:#b00020;min-height:16px;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.sayuri-auth-status{margin-top:6px;font-size:12px;opacity:.8;min-height:16px;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.sayuri-auth-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px;padding-top:4px}
.sayuri-auth-back{flex-shrink:0;width:32px;height:40px;border:none;background:transparent;font-size:22px;display:flex;align-items:center;justify-content:flex-start;padding-left:0;cursor:pointer;font-weight:900;opacity:1;-webkit-tap-highlight-color:transparent}
.sayuri-auth-otp{margin-top:12px;padding-top:10px;border-top:0}
.sayuri-auth-otp-title{font-size:14px;font-weight:900;color:#111}
.sayuri-auth-otp-sub{font-size:12px;opacity:.8;margin-top:4px}
.sayuri-auth-otp-box{display:flex;gap:8px;margin:10px 0 12px;overflow:visible}
.sayuri-auth-otp-in{width:44px;height:50px;text-align:center;font-size:18px;border:1px solid var(--sa-border);border-radius:12px;outline:none;background:#fff;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,box-shadow .15s ease}
.sayuri-auth-otp-in.is-masked{-webkit-text-security:disc;}
.sayuri-auth-otp-in:focus,.sayuri-auth-otp-in:focus-visible{border-color:#2E7D5A;box-shadow:0 0 0 3px rgba(46,125,90,0.22)}
.sayuri-auth-resend{margin-top:10px;font-size:12px;opacity:.9}
.sayuri-auth-resend a{color:#2E7D5A;text-decoration:none;font-weight:800}
.sayuri-auth-resend-t{margin-left:6px;opacity:.7}
.sayuri-auth-pin{margin-top:12px;padding-top:10px;border-top:0}
.sayuri-auth-pin-title{font-size:14px;font-weight:900;color:#111}
.sayuri-auth-pin-sub{font-size:12px;opacity:.8;margin-top:4px;margin-bottom:10px}
.sayuri-auth-forgot{margin-top:10px;font-size:12px}
.sayuri-auth-forgot a{color:#2E7D5A;text-decoration:none;font-weight:800}
.sayuri-auth-google-section{margin-top:12px}
.sayuri-auth-google-hint{font-size:11px;opacity:.7;margin-top:6px;text-align:center}
.sayuri-auth-pinset{margin-top:12px;padding-top:10px;border-top:0}
.sayuri-auth-pinset-title{font-size:14px;font-weight:900;margin-bottom:10px;color:#111}
.sayuri-auth-account{margin-top:16px;padding:12px;border:1px solid rgba(17,24,39,0.10);border-radius:12px;background:#fafafa}
.sayuri-auth-account-title{font-size:13px;font-weight:900;margin-bottom:6px;color:#111}
.sayuri-auth-account-status{font-size:12px;margin-bottom:8px}
.sayuri-auth-account-actions{display:flex;gap:8px}
@media (min-width: 721px){
  /* Desktop: keep PIN section tidy and aligned */
  .sayuri-auth-pin{
    max-width:520px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  .sayuri-auth-pin-title,
  .sayuri-auth-pin-sub{
    display:none !important;
  }

  .sayuri-pin-row{
    width:360px;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
  }

  .sayuri-pin-eye-row{
    width:100%;
    max-width:100%;
    margin-top:12px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  #sayuri_auth_pin_eye{
    width:28px;
    height:28px;
  }
}
@media (max-width: 720px){
  .sayuri-auth-title{font-size:20px;}
  .sayuri-auth-body{padding:0 16px 16px;}
  .sayuri-auth-pin-title,.sayuri-auth-pin-sub{display:none !important;}
}