/* Helix Win V48.1: corregao de contraste dos modais claros; preserva responsividade V48. */
:root{
  --hw-ui-accent:#bf73ff;
  --hw-ui-accent-line:rgba(192,132,252,.52);
  --hw-ui-surface:#f7f3fc;
  --hw-ui-line:#e4d7ef;
  --hw-ui-focus:0 0 0 3px rgba(181,105,255,.16);
  --hw-ui-radius:13px;
}
/* Inputs monetarios e textuais ocupam a mesma largura; tipografia especifica por finalidade. */
#modal-deposito .pnl-input-wrap,#modal-saque .pnl-input-wrap{
  display:flex;align-items:center;flex-direction:row;gap:9px;
  box-sizing:border-box;max-width:none;width:100%;min-width:0;
  min-height:50px;border:1px solid var(--hw-ui-line);
  border-radius:var(--hw-ui-radius);background:var(--hw-ui-surface);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
#modal-deposito .pnl-input-wrap:focus-within,#modal-saque .pnl-input-wrap:focus-within{
  border-color:var(--hw-ui-accent-line);box-shadow:var(--hw-ui-focus);
  background:#f2eafd;
}
#modal-deposito .pnl-input,#modal-saque .pnl-input{
  min-width:0;max-width:100%;width:100%;flex:1 1 0;background:transparent;
  color:#2d0040;caret-color:#7b2ab7;box-shadow:none;outline:none;border:none;
  font-family:inherit;font-size:16px;font-weight:600;line-height:1.35;
  padding:13px 0;border-radius:0;
}
#modal-deposito .pnl-input::placeholder,#modal-saque .pnl-input::placeholder{
  color:#766080;font-weight:500;opacity:1;
}
#modal-deposito .pnl-input[type="number"],#modal-saque .pnl-input[type="number"]{font-size:17px;text-align:left;font-variant-numeric:tabular-nums}
#modal-saque .hw-ui-text-input{font-size:15px;text-align:left;letter-spacing:0;line-height:1.4}
#modal-saque .hw-ui-pix-wrap{background:var(--hw-ui-surface);}
#modal-saque .pnl-input-prefix,#modal-deposito .pnl-input-prefix{
  color:#6d4a80;flex:0 0 auto;font-size:12px;font-weight:800;white-space:nowrap;letter-spacing:.04em;
}
#modal-saque .hw-withdraw-document-field{
  display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:14px 0;
  min-width:0;padding:0;border:none;background:none;
}
#modal-saque .hw-ui-document-wrap{margin:0;}
#modal-saque .hw-ui-field-label{
  color:#4c2560;font-size:12px;line-height:1.35;font-weight:750;letter-spacing:.01em;
}
#modal-saque .hw-ui-field-help{font-size:11px;line-height:1.5;color:#695476;overflow-wrap:anywhere;}
#modal-saque .pnl-info-box,#modal-deposito .pnl-info-box{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;line-height:1.5;}
#modal-saque .pnl-play-btn,#modal-deposito .pnl-play-btn{min-height:48px;touch-action:manipulation;}
#modal-saque .pnl-modal-header,#modal-deposito .pnl-modal-header{min-width:0;}
#modal-saque .pnl-modal-title,#modal-deposito .pnl-modal-title{overflow-wrap:anywhere;}
#modal-saque .pnl-modal-close,#modal-deposito .pnl-modal-close{min-width:40px;min-height:40px;display:grid;place-items:center;}
#modal-saque input:-webkit-autofill,#modal-deposito input:-webkit-autofill{
  -webkit-text-fill-color:#2d0040;box-shadow:inset 0 0 0 1000px #f7f3fc;
}
/* V48.1: os modais deposito e saque sao CLAROS na interface real.
   Campos, labels, prefixes e autofill precisam respeitar este fundo; nao aplicar ao painel dark. */
#modal-deposito .pnl-modal,#modal-saque .pnl-modal{color:#2d0040;color-scheme:light;}
#modal-deposito .pnl-input-wrap,#modal-saque .pnl-input-wrap,
#modal-saque .hw-ui-pix-wrap,#modal-saque .hw-ui-document-wrap{
  background:#f7f3fc;border-color:#e4d7ef;
}
#modal-deposito .pnl-input-wrap:focus-within,#modal-saque .pnl-input-wrap:focus-within{
  background:#f2eafd;border-color:#a968d8;box-shadow:0 0 0 3px rgba(159,73,208,.16);
}
#modal-deposito .pnl-input,#modal-saque .pnl-input{
  color:#2d0040;-webkit-text-fill-color:#2d0040;
  caret-color:#722fa7;opacity:1;text-align:left;
}
#modal-deposito .pnl-input::placeholder,#modal-saque .pnl-input::placeholder{
  color:#766080;-webkit-text-fill-color:#766080;opacity:1;
}
#modal-deposito .pnl-input-prefix,#modal-saque .pnl-input-prefix{color:#694477;}
#modal-saque .hw-ui-field-label{color:#4c2560;}
#modal-saque .hw-ui-field-help{display:block;padding:9px 10px;
  border-left:3px solid #a765d2;border-radius:7px;background:#faf6ff;
  color:#51385e;font-size:12px;line-height:1.5;}

#modal-deposito .pnl-input:disabled,#modal-saque .pnl-input:disabled{
  color:#695476;-webkit-text-fill-color:#695476;opacity:.75;
}
#modal-deposito .pnl-input::selection,#modal-saque .pnl-input::selection{
  color:#2d0040;background:#e2c4f5;
}
#modal-deposito .pnl-input:-webkit-autofill,#modal-saque .pnl-input:-webkit-autofill{
  -webkit-text-fill-color:#2d0040;box-shadow:inset 0 0 0 1000px #f7f3fc;
}
/* Autenticacao e cadastro seguem a mesma escala de controle, sem alterar os estilos do tema. */
.lgn-input,.reg-input{box-sizing:border-box;max-width:100%;min-width:0;min-height:48px;line-height:1.35;}
.lgn-input:focus-visible,.reg-input:focus-visible{outline:2px solid rgba(192,132,252,.6);outline-offset:2px;}
.lgn-input::placeholder,.reg-input::placeholder{opacity:1;}
.lgn-group,.reg-group,.lgn-input-wrap,.reg-input-wrap{min-width:0;}
.lgn-group label,.reg-group label{line-height:1.4;}
/* Tela de conclusao cadastral e caixas dinamicas usam a mesma faixa de foco roxa. */
.hw-profile-complete .hw-profile-card{width:min(100%,460px);box-sizing:border-box;}
.hw-profile-complete .hw-profile-field input:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px;}
/* Feedback e navegacao em telas pequenas. */
@media(max-width:600px){
  #modal-deposito .pnl-modal,#modal-saque .pnl-modal{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
  #modal-deposito .pnl-input-wrap,#modal-saque .pnl-input-wrap{min-height:48px;}
  #modal-deposito .pnl-input,#modal-saque .pnl-input{font-size:16px!important;}
  #modal-deposito .pnl-quick-row{gap:8px;}
  #modal-deposito .pnl-quick{min-height:40px;min-width:0;}
  #modal-saque .hw-withdraw-document-field{margin-block:12px;}
  .hw-profile-complete{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));}
  .hw-profile-complete .hw-profile-card{padding:clamp(16px,4vw,24px);max-height:calc(100dvh - 24px);}
  .hw-toast-stack{left:12px;right:12px;max-width:none;top:max(12px,env(safe-area-inset-top));}
}
@media(max-width:350px){
  #modal-deposito .pnl-input-wrap,#modal-saque .pnl-input-wrap{padding-inline:11px;gap:7px;}
  #modal-saque .hw-ui-field-help{font-size:10.5px;}
}
@media(prefers-reduced-motion:reduce){
  #modal-deposito .pnl-input-wrap,#modal-saque .pnl-input-wrap{transition:none;}
}
