/* ==========================================================
   NEO v10 Pro · Vision PRO 2027
   Capa de legibilidad y ergonomía. SOLO PRESENTACIÓN.
   No altera datos, API, D1, autenticación ni reglas de negocio.
   ========================================================== */

/* Formulario de movimiento: más legible sin agrandar toda la app */
#entryModal .modal-card{
  width:min(690px,calc(100% - 28px));
  padding:25px;
}
#entryModal .section-head{margin-bottom:20px}
#entryModal #formEyebrow{
  font-size:12px;
  line-height:1.2;
  letter-spacing:.15em;
  font-weight:900;
  margin-bottom:7px;
}
#entryModal #formTitle{
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
}
#entryModal .icon-btn{
  width:48px;
  height:48px;
  border-radius:15px;
}
#entryModal .icon-btn svg{width:23px;height:23px}

#entryModal .form-grid{
  gap:15px 16px;
}
#entryModal .form-grid label{
  gap:8px;
  font-size:11px;
  line-height:1.2;
  color:color-mix(in srgb,var(--text) 70%,var(--muted));
  font-weight:900;
  letter-spacing:.075em;
}
#entryModal .form-grid select,
#entryModal .form-grid input{
  height:54px;
  border-radius:14px;
  padding:0 15px;
  font-size:16px;
  line-height:1;
  font-weight:760;
  border-color:color-mix(in srgb,var(--line) 75%,var(--text) 10%);
  background:color-mix(in srgb,var(--panel-2) 92%,var(--cyan) 2%);
}
#entryModal .form-grid select:focus,
#entryModal .form-grid input:focus{
  border-color:rgba(83,230,255,.58);
  box-shadow:0 0 0 4px rgba(83,230,255,.09),0 8px 28px rgba(0,0,0,.12);
}
#entryModal .form-grid input::placeholder{
  color:color-mix(in srgb,var(--muted) 86%,var(--text));
  opacity:1;
  font-weight:700;
}
#entryModal #inputAmount{
  font-size:19px;
  font-weight:900;
  letter-spacing:.01em;
}
#entryModal #inputUser{
  font-size:17px;
  font-weight:800;
}

/* Impacto de la operación: cifras grandes y separadas */
#entryModal .form-impact{
  border-radius:17px;
  padding:15px;
  margin-top:15px;
  gap:11px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(83,230,255,.025));
}
#entryModal .impact-item{
  min-height:58px;
  padding:5px 7px;
  justify-content:center;
}
#entryModal .impact-item span{
  font-size:10px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.055em;
  color:color-mix(in srgb,var(--muted) 82%,var(--text));
}
#entryModal .impact-item b{
  margin-top:5px;
  font-size:17px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
}
#entryModal .similar-box{
  font-size:13px;
  line-height:1.45;
  padding:13px 14px;
  border-radius:15px;
}

/* Acciones principales con área táctil real */
#entryModal .form-actions{
  gap:11px;
  margin-top:19px;
}
#entryModal .form-actions .btn{
  min-height:52px;
  padding:0 19px;
  border-radius:15px;
  font-size:14px;
  font-weight:900;
}
#entryModal #saveBtn{
  min-width:205px;
  font-size:15px;
  letter-spacing:-.01em;
}
#entryModal #saveBtn svg{width:19px;height:19px}

/* Controles usados continuamente en Movimientos */
#view-movimientos .section-title .btn.neon{
  min-height:48px;
  padding-inline:18px;
  font-size:13px;
}
#view-movimientos .account-title b{font-size:15px}
#view-movimientos .account-title span{font-size:11px}
#view-movimientos .meter span{font-size:10px;font-weight:900}
#view-movimientos .meter b{font-size:20px}
#view-movimientos .meter small{font-size:10px}
#view-movimientos .entry-person b{font-size:12px}
#view-movimientos .entry-amount{font-size:12px}

/* Tarjetas de banco: identidad y cifras un poco más cómodas */
#view-movimientos .bank-name-wrap b{font-size:12px}
#view-movimientos .bank-name-wrap span{font-size:8px}
#view-movimientos .bank-card .bank-count{font-size:10px}
#view-movimientos .bank-card .bank-amount{font-size:25px}
#view-movimientos .bank-stats span{font-size:10px}

/* Android / teléfonos */
@media(max-width:640px){
  #entryModal .modal-backdrop{background:rgba(1,7,14,.72)}
  #entryModal .modal-card{
    max-height:94dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:20px 18px max(20px,env(safe-area-inset-bottom));
    border-radius:27px 27px 0 0;
    scrollbar-width:thin;
  }
  #entryModal .modal-handle{
    width:50px;
    height:5px;
    margin:-4px auto 15px;
    background:color-mix(in srgb,var(--line-strong) 80%,var(--text));
  }
  #entryModal .section-head{margin-bottom:18px}
  #entryModal #formEyebrow{
    font-size:12px;
    letter-spacing:.14em;
  }
  #entryModal #formTitle{
    font-size:27px;
    line-height:1.12;
  }
  #entryModal .icon-btn{
    width:52px;
    height:52px;
    border-radius:16px;
    flex:none;
  }
  #entryModal .form-grid{
    grid-template-columns:1fr 1fr;
    gap:15px 13px;
  }
  #entryModal .form-grid label{
    font-size:12px;
    gap:9px;
  }
  #entryModal .form-grid select,
  #entryModal .form-grid input{
    height:58px;
    border-radius:15px;
    padding:0 15px;
    font-size:17px; /* evita zoom y mejora lectura */
  }
  #entryModal #inputAmount{font-size:20px}
  #entryModal #inputUser{font-size:18px}
  #entryModal .form-grid .wide{margin-top:1px}
  #entryModal .form-impact{
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    padding:13px 9px;
    margin-top:15px;
  }
  #entryModal .impact-item{
    min-height:65px;
    padding:4px 5px;
  }
  #entryModal .impact-item span{
    font-size:10px;
    letter-spacing:.025em;
  }
  #entryModal .impact-item b{
    font-size:18px;
    margin-top:6px;
    white-space:nowrap;
  }
  #entryModal .form-actions{
    position:sticky;
    bottom:calc(-1 * max(20px,env(safe-area-inset-bottom)));
    z-index:3;
    margin:18px -18px calc(-1 * max(20px,env(safe-area-inset-bottom)));
    padding:13px 18px max(16px,env(safe-area-inset-bottom));
    background:linear-gradient(to top,var(--panel) 72%,color-mix(in srgb,var(--panel) 96%,transparent));
    border-top:1px solid var(--line);
    backdrop-filter:blur(16px);
  }
  #entryModal .form-actions .btn{
    min-height:58px;
    font-size:15px;
    border-radius:16px;
  }
  #entryModal #saveBtn{
    min-width:0;
    font-size:16px;
    line-height:1.1;
  }
  #view-movimientos .section-title .btn.neon{
    min-height:52px;
    font-size:14px;
  }
  #view-movimientos .bank-card{min-height:150px}
  #view-movimientos .bank-name-wrap b{font-size:11px}
  #view-movimientos .bank-card .bank-count{font-size:9px}
  #view-movimientos .bank-card .bank-amount{font-size:21px}
  #view-movimientos .bank-stats span{font-size:9px}
  #view-movimientos .meter span{font-size:10px}
  #view-movimientos .meter b{font-size:21px}
  #view-movimientos .entry-person b{font-size:13px}
  #view-movimientos .entry-amount{font-size:13px}
}

/* Teléfonos angostos: preserva legibilidad sin desbordes */
@media(max-width:390px){
  #entryModal .form-grid{grid-template-columns:1fr}
  #entryModal .form-grid .wide{grid-column:auto}
  #entryModal .form-impact{grid-template-columns:1fr 1fr}
  #entryModal .impact-item:last-child{grid-column:1/-1}
  #entryModal .form-actions{display:grid;grid-template-columns:.85fr 1.15fr}
  #entryModal .form-actions .btn{padding-inline:10px}
}

/* Accesibilidad: usuarios que piden texto grande en Android/Windows */
@media(prefers-contrast:more){
  #entryModal .form-grid label,#entryModal .impact-item span{color:var(--text)}
  #entryModal .form-grid select,#entryModal .form-grid input{border-color:var(--line-strong)}
}
@media(prefers-reduced-motion:reduce){
  #entryModal *,#view-movimientos .bank-card{transition:none!important}
}
