/* V3.18 iPad: ajustes visuales. No cambia notas, cuentas ni datos. */
@supports (padding: env(safe-area-inset-top)) {
  body { padding-bottom: env(safe-area-inset-bottom); }
  .mobileNav { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .modalbg { padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
}
@media (pointer: coarse) {
  .kj-nav-toggle, .nav button, .mobileNav button, .btn, button, [role="button"] { touch-action: manipulation; }
  button, select, input, textarea { -webkit-tap-highlight-color: rgba(107,98,220,.12); }
  input:not([type="checkbox"]):not([type="radio"]),select,textarea { font-size: 16px; }
  button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #4331a8; outline-offset: 2px; }
}
@media (max-width: 950px) {
  .main { padding-bottom: calc(102px + env(safe-area-inset-bottom, 0px)); }
  .mobileNav { bottom: 0; }
}
.kj-ipad-banner:not([hidden]) { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; padding:14px 16px; margin:6px 0 15px; border:1px solid #a5a0e7; border-radius:15px; color:#30266c; background:#f4f1ff; line-height:1.55; }
.kj-ipad-banner strong { display:block; font-size:14px; }
.kj-ipad-banner p { margin:4px 0 6px; font-size:13px; }
.kj-ipad-banner a { color:#4331a8; font-size:13px; font-weight:700; text-decoration:underline; }
.kj-ipad-banner button { flex-shrink:0; }
@media (max-width:600px) { .kj-ipad-banner:not([hidden]) { flex-direction:column; } }
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto!important;} }
