/* PropertyBrokerPro Móvil – adaptación de la interfaz al teléfono (mismos colores y estilo) */
#menuMovil { display: none; }
.login-movil { max-width: 460px; margin: 30px auto; text-align: center; }
.login-movil .lm-logo { width: 84px; height: 84px; margin: 0 auto 14px; border-radius: 20px; background: url(../icons/icon-192.png) center/cover; box-shadow: 0 6px 20px rgba(20,40,75,.25); }
.eq-op { display: block; width: 100%; text-align: left; margin-bottom: 8px; padding: 12px; }
.eq-op small { display: block; color: var(--muted); }
body.movil-pre #sidebar { display: none; }
@media (max-width: 820px) {
  html, body { font-size: 15px; }
  #app { flex-direction: column; height: auto; min-height: 100vh; }
  #sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 260px; z-index: 60; transform: translateX(-100%); transition: transform .2s ease; box-shadow: 4px 0 24px rgba(0,0,0,.25); }
  body.menu-abierto #sidebar { transform: none; }
  #menuMovil { display: flex; align-items: center; justify-content: center; position: fixed; top: 10px; left: 10px; z-index: 70; width: 42px; height: 42px; border-radius: 10px; background: var(--navy); color: #fff; font-size: 20px; border: none; box-shadow: 0 3px 10px rgba(0,0,0,.25); }
  body.movil-pre #menuMovil { display: none; }
  #main { overflow: visible; }
  #view { padding: 62px 14px 40px; max-width: 100%; }
  body.movil-pre #view { padding-top: 22px; }
  h1 { font-size: 20px; }
  .grid { grid-template-columns: 1fr; }
  .fld, .fld.w1, .fld.w2, .fld.w4, .fld.w6, .sec { grid-column: span 1; }
  table.t { display: block; overflow-x: auto; white-space: nowrap; }
  td.acts { white-space: normal; }
  td.acts button { margin: 2px 0; }
  .toolbar { gap: 8px; }
  .toolbar input, .toolbar select { max-width: 100% !important; width: 100% !important; }
  .cards { grid-template-columns: 1fr 1fr; }
  .modal { padding: 0; }
  .modal-box { width: 100% !important; min-height: 100vh; border-radius: 0; }
  .modal-body { max-height: none; }
  .modal-foot { position: sticky; bottom: 0; background: #fff; flex-wrap: wrap; }
  .doctypes { grid-template-columns: 1fr; }
  .tabs { overflow-x: auto; flex-wrap: nowrap; }
  .tabs a { white-space: nowrap; }
  .picker { flex-wrap: wrap; }
  input, select, textarea { font-size: 16px; }
  #toast { left: 10px; right: 10px; }
}
@media (max-width: 820px) {
  body.menu-abierto #menuMovil { left: auto; right: 10px; }
  body.menu-abierto::after { content: ''; position: fixed; inset: 0; background: rgba(10,20,40,.35); z-index: 55; }
}
.nube-btn { display: block; width: 100%; padding: 12px; margin-top: 10px; line-height: 1.2; }
.nube-btn small { display: block; font-size: 11px; opacity: .8; font-weight: 400; margin-top: 2px; }
.g-reconectar { position: fixed; inset: 0; z-index: 200; background: rgba(10,20,40,.45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.g-reconectar .card { max-width: 420px; width: 100%; text-align: center; }
